كيفية تثبيت OpenMeetings على أوبونتو 16.04

Apache OpenMeetings هو تطبيق مفتوح المصدر لعقد المؤتمرات عبر الإنترنت. هو مكتوب بلغة جافا ويدعم خوادم قاعدة بيانات متعددة. يوفر العديد من الميزات ، مثل مؤتمرات الصوت والفيديو ، ومشاركة الشاشة ، ومستكشف الملفات ، ونظام الإشراف على المستخدم ، والرسائل وجهات الاتصال الخاصة ، وتقويم متكامل لخطط الاجتماعات وغيرها الكثير. يمكنك أيضًا تسجيل جلسات المؤتمرات. يوفر واجهة برمجة تطبيقات SOAP / REST والعديد من المكونات الإضافية للتكامل بسهولة مع Moodle و Jira و Joomla و Confluence والمزيد.

المتطلبات الأساسية

  • نسخة خادم Vultr Ubuntu 16.04 مع ذاكرة وصول عشوائي سعتها 4 غيغابايت على الأقل.
  • A المستخدم سودو .
  • أشار اسم المجال نحو الخادم.

في هذا البرنامج التعليمي ، سوف نستخدم 192.168.1.1 كعنوان IP عام meetings.example.com ولكونه اسم النطاق الموجه نحو مثيل Vultr. يرجى التأكد من استبدال كل تكرارات مثال عنوان IP واسم المجال بالحدث الفعلي.

قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث نظامك ، تابع تثبيت Java.

قم بتثبيت Java

OpenMeetings مكتوب بلغة Java ، وبالتالي يتطلب Java Runtime Environment (JRE) للعمل. أضف مستودع Ubuntu لـ Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

قم بتثبيت Java.

sudo apt -y install oracle-java8-installer

تحقق من إصدار Java.

java -version

سترى الناتج التالي.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

قم بتعيين المسار الافتراضي لـ Java عن طريق تثبيت الحزمة التالية.

sudo apt -y install oracle-java8-set-default

يمكنك التحقق من ذلك من JAVA_HOMEخلال تشغيل ما يلي.

echo $JAVA_HOME

سترى مخرجات مماثلة.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

إذا كنت لا ترى أي إخراج على الإطلاق ، فستحتاج إلى تسجيل الخروج من shell الحالي وتسجيل الدخول مرة أخرى.

تثبيت التبعيات

قم بتثبيت مكتبات ImageMagick و GhostScript.

sudo apt -y install imagemagick ghostscript libxt6 libxrender1

يوفر ImageMagick الدعم لتحميل الصور واستيرادها إلى السبورة. يمكّنك GhostScript من تحميل ملفات PDF إلى السبورة.

تحقق من إصدار ImageMagick و GhostScript للتأكد من تثبيتهما بنجاح.

user@vultr:~$ identify -version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib

user@vultr:~$ ghostscript -v
GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.

فورثور ، سنحتاج أيضًا إلى تثبيت Apache OpenOffice أو LibreOffice على النظام. سوف تثبيت أي من هذه تمكين OpenMeetings لاستيراد الملفات في تنسيقات المستندات Office مثل .doc، .docx، .ppt، .pptx، أو .xlx. في هذا البرنامج التعليمي ، سنقوم بتثبيت Apache OpenOffice.

انتقل إلى الدليل المؤقت وقم بتنزيل حزمة Apache OpenOffice لـ Ubuntu.

cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz

استخرج الأرشيف وقم بتثبيت جميع حزم DEB.

tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz
cd en-US/DEBS
sudo dpkg -i *.deb
sudo dpkg -i desktop-integration/openoffice4.1-debian-menus_4.1.5*.deb

قم بتثبيت PPA للحصول على أحدث إصدار من FFmpeg.

sudo add-apt-repository --yes ppa:jonathonf/ffmpeg-3
sudo apt update

قم بتثبيت FFmpeg و SoX.

sudo apt -y install ffmpeg sox

سيمكنك FFmpeg و SoX من تسجيل الاجتماعات. كما أنها سوف تساعد في وسائل الإعلام استيراد ملفات مثل .avi، .flv، .mov و .mp4 إلى السبورة. تحقق من التثبيت عن طريق التحقق من إصدارات كل من FFmpeg و SoX.

user@vultr:~$ sox --version
sox:      SoX v14.4.1

user@vultr:~$ ffmpeg -version
ffmpeg version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609

قم بتثبيت PostgreSQL

يدعم OpenMeetings أنواعًا متعددة من خوادم قواعد البيانات ، مثل MySQL و PostgreSQL و Apache Derby و Oracle. في هذا البرنامج التعليمي ، سنستخدم PostgreSQL لاستضافة قاعدة بيانات OpenMeeting.

PostgreSQL هو نظام قاعدة بيانات كائني ، معروف باستقراره وسرعته. يحتوي مستودع Ubuntu الافتراضي على إصدار قديم من PostgreSQL ، لذا أضف مستودع PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

قم بتثبيت خادم قاعدة بيانات PostgreSQL.

sudo apt -y install postgresql

قم بتشغيل خادم PostgreSQL وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl start postgresql
sudo systemctl enable postgresql

قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.

sudo passwd postgres

قم بتسجيل الدخول باسم مستخدم PostgreSQL.

sudo su - postgres

قم بإنشاء مستخدم PostgreSQL جديد لمستخدم OpenMeetings.

createuser openmeetings

يمكنك استخدام أي اسم مستخدم بدلاً من openmeetings.

قم بالتبديل إلى غلاف PostgreSQL.

psql

قم بتعيين كلمة مرور للمستخدم الذي تم إنشاؤه حديثًا لقاعدة بيانات OpenMeetings.

ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

استبدلها DBPassword بكلمة مرور آمنة.

إنشاء قاعدة بيانات جديدة لتثبيت OpenMeetings.

CREATE DATABASE openmeetings OWNER openmeetings;

اخرج من psql القشرة.

\q

قم بالتبديل إلى sudo المستخدم.

exit

حفظ الملف وإنهاء المحرر.

تثبيت OpenMeetings

نظرًا لأن جميع التبعيات المطلوبة مثبتة ، قم بإنشاء مستخدم جديد لـ OpenMeetings. يوصى باستخدام مستخدم غير جذري لتشغيل OpenMeetings من أجل أمان الخادم.

sudo adduser --home /var/openmeetings --disabled-login --disabled-password --gecos "OpenMeetings User" openmeetings

سيقوم الأمر أعلاه أيضًا بإنشاء الدليل الرئيسي openmeetings للمستخدم في /var/openmeetings.

تحقق من صفحة تنزيل Apache OpenMeetings للحصول على رابط لأحدث إصدار متوفر. قم بتنزيل أرشيف OpenMeetings.

cd /tmp
wget http://www-eu.apache.org/dist/openmeetings/4.0.2/bin/apache-openmeetings-4.0.2.tar.gz

استخرج الأرشيف في /var/openmeetings الدليل.

sudo tar xf apache-openmeetings-*.tar.gz -C /var/openmeetings

وفر ملكية الملفات لمستخدم OpenMeetings الذي أنشأناه سابقًا.

sudo chown -R openmeetings:openmeetings /var/openmeetings

يمكنك الآن بدء التطبيق.

sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings

يمكنك الآن الوصول http://192.168.1.1:5080/openmeetings في متصفحك المفضل. سترى شاشة الترحيب مع تعليمات لتثبيت GhostScript.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

نظرًا لأننا قمنا بالفعل بتثبيت GhostScript ، تابع الأمر أكثر. في الواجهة التالية ، سيُطلب منك تقديم تفاصيل خادم قاعدة البيانات. حدد نوع قاعدة البيانات " PostgreSql" وقدم تفاصيل خادم قاعدة البيانات التي قمت بتكوينها أثناء تثبيت PostgreSQL.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

انقر على Checkزر " " وستحصل على الرسالة: " Database check was successful". قدِّم تفاصيل حساب المشرف واسم المجموعة في الواجهة التالية.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

تكوين الإعدادات الأساسية للتثبيت الخاص بك ؛ مثل السماح بالتسجيل الذاتي والتحقق من البريد الإلكتروني واللغة الافتراضية. أيضًا ، قدم تفاصيل خادم SMTP. إذا لم يكن لديك خادم SMTP جاهزًا ، فيمكنك أيضًا تقديم تفاصيل SMTP لاحقًا في لوحة تحكم المشرف.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

سيُطلب منك المسار إلى ثنائيات التطبيقات المختلفة. تقديم /usr/bin كمسار لـ ImageMagick و FFmpeg و SoX. إذا كان التطبيق يوفر أخطاء للمسار الذي تم إدخاله ، فيمكنك استخدامه which <binary_name> للعثور على المسار المطلق إلى الثنائي. على سبيل المثال ، which ffmpeg يجب أن تعطيك /usr/bin/ffmpeg كمخرج. استخدم /opt/openoffice4 كمسار إلى ثنائيات OpenOffice.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

يمكنك تخطي التكوين على الواجهة التالية لأننا سنستخدم القيم الافتراضية. أخيرًا ، انقر فوق Finishالزر " " لتثبيت التطبيق وكتابة قاعدة البيانات.

تم تثبيت OpenMeetings الآن على الخادم الخاص بك. لجعله أكثر سهولة في الإنتاج ، سنقوم بإعداد Systemd لإدارة خادم OpenMeetings. سنقوم أيضًا بتكوين Nginx باستخدام Let's Encrypt SSL باعتباره الوكيل العكسي الآمن لخدمة التطبيق.

إعداد Systemd

يوصى بإعداد وحدة خدمة Systemd لإدارة التطبيق. سيضمن ذلك بدء تشغيل الخدمة تلقائيًا في وقت التمهيد والفشل.

قم بإيقاف خادم OpenMeetings إما بالضغط على CTRL+ Cأو بقتل غلاف openmeetings المستخدم.

sudo pkill -KILL -u openmeetings

إنشاء ملف وحدة Systemd جديد لـ OpenMeetings.

sudo nano /etc/systemd/system/openmeetings.service

تعبئة الملف.

[Unit]
Description=OpenMeeting Service 
After=network.target

[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings 
ExecStart=/var/openmeetings/red5.sh
Restart=always

[Install]
WantedBy=multi-user.target

قم بتشغيل خادم OpenMeetings وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl start openmeetings
sudo systemctl enable openmeetings

للتحقق من حالة الخدمة ، يمكنك تشغيل ما يلي.

sudo systemctl status openmeetings

سترى مخرجات مماثلة.

user@vultr:~$ sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
   Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-04-08 19:08:33 UTC; 52s ago
 Main PID: 8788 (java)
   CGroup: /system.slice/openmeetings.service
           └─8788 /usr/bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m

Apr 08 19:08:40 vultr red5.sh[8788]: [INFO] [main] org.apache.catalina.core.StandardService - Starti
Apr 08 19:08:40 vultr red5.sh[8788]: Apr 08, 2018 7:08:40 PM org.apache.catalina.core.StandardEngine

...

إعداد Nginx كوكيل عكسي

بشكل افتراضي ، يستمع OpenMeetings إلى المنفذ 5080. إذا لم يتم تشفير الاتصال بين المتصفح والخادم باستخدام SSL ، فسيتم إرسال تسجيلات الدخول والمعلومات الأخرى باستخدام نص عادي. قد يكون هذا تهديدًا محتملاً لأن شخصًا ما يتنصت على الشبكة قد يحصل على المعلومات. للتخفيف من هذه المشكلة ، سنقوم بإعداد Nginx باعتباره الوكيل العكسي الذي سيستمع إلى HTTPSالمنفذ الافتراضي وسيرسل جميع الطلبات إلى خادم OpenMeetings.

قم بتثبيت Nginx.

sudo apt -y install nginx

قم بتشغيل Nginx وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl start nginx
sudo systemctl enable nginx

أضف مستودع Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.

sudo apt -y install certbot

ملاحظة: للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.

إنشاء شهادات SSL.

sudo certbot certonly --webroot -w /var/www/html -d meetings.example.com

من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها /etc/letsencrypt/live/meetings.example.com/. سيتم تخزين شهادة SSL كـ وسيتم تخزين fullchain.pem المفتاح الخاص كـ privkey.pem.

تنتهي صلاحية شهادات التشفير في غضون 90 يومًا ، وبالتالي يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف Cron.

افتح ملف مهمة كرون.

sudo crontab -e

أضف السطر التالي في نهاية الملف.

30 5 * * * /usr/bin/certbot renew --quiet

سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم الساعة 5:30 صباحًا. إذا كانت الشهادة مستحقة للانتهاء ، فسيتم تجديدها تلقائيًا.

قم بإنشاء ملف تكوين جديد لـ OpenMeetings.

sudo nano /etc/nginx/sites-available/openmeetings

تعبئة الملف.

server {
    listen 80;
    server_name meetings.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name meetings.example.com;

    ssl_certificate           /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/meetings.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/openmeetings.access.log;

location / {
    proxy_pass            http://localhost:5080;        
    proxy_set_header    host $host;
    proxy_http_version  1.1;
    proxy_set_header upgrade $http_upgrade;         
    proxy_set_header connection "upgrade";     
    } 
}

نشط التكوين.

sudo ln -s /etc/nginx/sites-available/openmeetings /etc/nginx/sites-enabled/openmeetings

تحقق من وجود أخطاء في ملف التكوين الجديد.

sudo nginx -t

إذا رأيت الإخراج التالي ، فإن التكوين خالي من الأخطاء.

user@vultr:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

إذا تلقيت خطأ ما ، فتأكد من التحقق من المسار إلى شهادات SSL. أعد تشغيل خادم الويب Nginx لتنفيذ التغيير في التكوين.

sudo systemctl restart nginx

قبل أن تتمكن من البدء في استخدام التطبيق على موقع SSL الآمن ، ستحتاج إلى إجراء تغيير في التكوين في OpenMeetings. قم بتسجيل الدخول إلى لوحة التحكم الإدارية لـ OpenMeetings وانتقل إلى " Administration >> Configuration". في الجدول بمعرف الأعمدة والمفتاح والقيمة ، ابحث عن application.base.url. قم بتغيير قيمته https://meetings.example.com وفقًا لاسم المجال الخاص بك. احفظ التكوين بالنقر فوق أيقونة الحفظ أعلاه.

كيفية تثبيت OpenMeetings على أوبونتو 16.04

أعد تشغيل خدمة OpenMeetings.

sudo systemctl restart openmeetings

الآن ، يمكنك التصفح https://meetings.example.com باستخدام متصفح الويب المفضل لديك وتسجيل الدخول لاستخدام التطبيق.

تهانينا ، تم تثبيت Apache OpenMeetings على الخادم الخاص بك. يمكنك دعوة أصدقائك والبدء في استخدام OpenMeetings للمؤتمرات عبر الإنترنت.



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد