تثبيت المنصة والخدمات

تثبيت منصة IIoT — تنزيل الصور وإعداد Docker وتثبيت النظام والتحقق منه.

تنزيل ملفات التثبيت

يمكنك تنزيل صور تثبيت منصة IIoT بطريقتين.

عندما لا يتوفر للخادم اتصال بالإنترنت — على سبيل المثال بموجب سياسة أمنية للمؤسسة — يمكنك تثبيت المنصة دون اتصال. تُنقل صور التثبيت إلى الخادم من وسيط خارجي.

خطوات التثبيت

  • انسخ حزمة البيانات المطلوبة

    انسخ حزمة التثبيت إلى الخادم (تتطلب صلاحيات المسؤول):

    • انسخ الأرشيف الذي نزّلته unicloud.tgz ومجلد images (حزمة التثبيت المستقلة مع الصور المؤرشفة) إلى المجلد الرئيسي للمستخدم. يحتوي الأرشيف أيضًا على ملفي الإعداد docker-compose.yml و.env (الملف .env مخفي، لذا فعّل إظهار الملفات المخفية).
    • images
      • vadtel-nginx-latest.tar.gz
      • vadtel-app-latest.tar.gz
      • anytelemetry-latest.tar.gz
      • pgbouncer-latest.tar.gz
      • vadteljsondaemon-latest.tar.gz
      • logrotate-latest.tar.gz
      • postgres-15.1-alpine.tar.gz
      • redis-6.0.16-alpine.tar.gz
      • vector-latest.tar.gz
    • انسخ ملفات الإعداد إلى /opt/vadtelnewweb/.

    • عيّن أسماء الدخول وكلمات المرور للنظام في الملف .env:

  • ثبّت Docker وDocker Compose

    على توزيعة مبنية على CentOS

    ثبّت Docker وDocker Compose:

    bash
    sudo dnf install docker-ce docker-compose

    شغّل Docker وفعّل تشغيله عند الإقلاع:

    bash
    sudo systemctl enable --now docker && systemctl start docker

    على توزيعة مبنية على Debian

    ثبّت Docker وDocker Compose:

    bash
    sudo apt update
    sudo apt install docker docker-compose
  • ثبّت النظام

    الخطوات المتبقية واحدة على جميع أنظمة التشغيل. أضف المستخدم الذي سيشغّل التطبيق إلى مجموعة docker:

    bash
    sudo usermod -aG docker ${USER}

    فُكّ الأرشيف unicloud.tgz في المجلد الرئيسي للمستخدم:

    bash
    tar -xf unicloud.tgz
    • unicloud
      • run
        • db-unicloud
      • remote_install.sh
      • init-db
        • create_tables.sql
      • script_conf.sh
      • docker-compose.yml
      • logs
        • crontab
        • vadteljsondaemon
        • anytelemetry
      • backups
      • data
        • db-unicloud
      • local-images
        • pgbouncer.tar.gz
        • postgres.tar.gz
        • vadteljsondaemon.tar.gz
        • anytelemetry.tar.gz
        • logrotate.tar.gz
      • unicloud.service

    افتح مجلد unicloud الذي فُكّ في المجلد الرئيسي للمستخدم وشغّل سكربت التثبيت:

    bash
    sudo ./remote_install.sh

    بعد تثبيت الحزمة، افتح /var/lib/unicloud بصلاحيات المسؤول وغيّر مالك الملف .env ومجموعته إلى المستخدم الحالي.

    يولّد السكربت اسم الدخول وكلمة المرور لقاعدة البيانات في /var/lib/unicloud/.env. انسخ هذه القيم إلى /opt/vadtelnewweb/.env:

    bash
    VADTEL_UNICLOUD_TEST_USERNAME=NEED_USERNAME
    
    VADTEL_UNICLOUD_TEST_PASSWORD=NEED_PASSWORD
  • استخرج الصور وحمّلها

    فُكّ ضغط ملفات الصور في مجلد images الذي نسخته سابقًا:

    bash
    gunzip vadtel-nginx-latest.tar.gz
    gunzip vadtel-app-latest.tar.gz
    gunzip anytelemetry-latest.tar.gz
    gunzip pgbouncer-latest.tar.gz
    gunzip vadteljsondaemon-latest.tar.gz
    gunzip logrotate-latest.tar.gz
    gunzip postgres-15.1-alpine.tar.gz
    gunzip redis-6.0.16-alpine.tar.gz
    gunzip vector-latest.tar.gz

    حمّل الصور إلى Docker:

    bash
    docker load -i vadtel-nginx-latest.tar
    docker load -i vadtel-app-latest.tar
    docker load -i anytelemetry-latest.tar
    docker load -i pgbouncer-latest.tar
    docker load -i vadteljsondaemon-latest.tar
    docker load -i logrotate-latest.tar
    docker load -i postgres-15.1-alpine.tar
    docker load -i redis-6.0.16-alpine.tar
    docker load -i vector-latest.tar.gz

    تحقق من توفر الصور:

    bash
    docker images

    ينبغي أن تظهر في القائمة الصور التسع التي حمّلتها كلها.

    إذا حُمّلت الصور دون أخطاء، فشغّل الأمر التالي من مجلد /var/lib/unicloud:

    bash
    docker-compose up -d

    أنشئ دليلًا لتطبيق vadtelnewweb ضمن /opt:

    bash
    sudo mkdir /opt/vadtelnewweb
    cd /opt/vadtelnewweb

    ثم انسخ الملفين docker-compose.yml و.env (إن لم تكن قد نسختهما سابقًا لتثبيت جديد) إلى /opt/vadtelnewweb.

    عند التشغيل الأول، أنشئ قاعدة البيانات:

    bash
    docker-compose run app bundle exec rails db:create

    والآن شغّل التطبيق:

    bash
    docker-compose up -d
    استكشاف الأعطال وإصلاحها

    إذا أبلغ التطبيق عن الخطأ التالي بعد بدء التشغيل:

    bash
    network unicloud_unicloud-net declared as external, but could not be found

    فإن الشبكة الخارجية لم تُنشأ أثناء التثبيت. نفّذ التثبيت الأولي من الأرشيف unicloud.tar.tgz كما هو موضح في تثبيت النظام، ثم شغّل التطبيق من جديد:

    bash
    docker-compose up -d

    تحقق من الحاويات قيد التشغيل:

    bash
    docker ps

    ينبغي أن تظهر كل الحاويات في القائمة بالحالة Up.

  • تحقق من النظام

    بعد بدء تشغيل التطبيق، افتح في متصفحك عنوان IP للخادم الذي يعمل عليه للتأكد من أن النظام يعمل:

    bash
    http://127.0.0.1/auth/users/sign_in
    صفحة تسجيل الدخول إلى منصة IIoT مع حقلي البريد الإلكتروني وكلمة المرور
    صفحة تسجيل الدخول إلى منصة IIoT

    يُضبط البريد الإلكتروني وكلمة المرور لتسجيل الدخول في /opt/vadtelnewweb/.env:

    .env
    VADTEL_SUPER_ADMIN_EMAIL= (login)
    VADTEL_SUPER_ADMIN_PASSWORD= (password)

الخطوات التالية

بعد تثبيت المنصة وتشغيلها، اضبطها لتُحدَّث بسلاسة ولتُعاد تشغيلها تلقائيًا مع الخادم.

مواضيع ذات صلة

آخر تحديث في

هل كانت هذه الصفحة مفيدة؟