نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
Apache OpenMeetings هو تطبيق مفتوح المصدر لعقد المؤتمرات عبر الإنترنت. هو مكتوب بلغة جافا ويدعم خوادم قاعدة بيانات متعددة. يوفر العديد من الميزات ، مثل مؤتمرات الصوت والفيديو ، ومشاركة الشاشة ، ومستكشف الملفات ، ونظام الإشراف على المستخدم ، والرسائل وجهات الاتصال الخاصة ، وتقويم متكامل لخطط الاجتماعات وغيرها الكثير. يمكنك أيضًا تسجيل جلسات المؤتمرات. يوفر واجهة برمجة تطبيقات SOAP / REST والعديد من المكونات الإضافية للتكامل بسهولة مع Moodle و Jira و Joomla و Confluence والمزيد.
في هذا البرنامج التعليمي ، سوف نستخدم 192.168.1.1
كعنوان IP عام meetings.example.com
ولكونه اسم النطاق الموجه نحو مثيل Vultr. يرجى التأكد من استبدال كل تكرارات مثال عنوان IP واسم المجال بالحدث الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث نظامك ، تابع تثبيت 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
يدعم 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 من أجل أمان الخادم.
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.
نظرًا لأننا قمنا بالفعل بتثبيت GhostScript ، تابع الأمر أكثر. في الواجهة التالية ، سيُطلب منك تقديم تفاصيل خادم قاعدة البيانات. حدد نوع قاعدة البيانات " PostgreSql
" وقدم تفاصيل خادم قاعدة البيانات التي قمت بتكوينها أثناء تثبيت PostgreSQL.
انقر على Check
زر " " وستحصل على الرسالة: " Database check was successful
". قدِّم تفاصيل حساب المشرف واسم المجموعة في الواجهة التالية.
تكوين الإعدادات الأساسية للتثبيت الخاص بك ؛ مثل السماح بالتسجيل الذاتي والتحقق من البريد الإلكتروني واللغة الافتراضية. أيضًا ، قدم تفاصيل خادم SMTP. إذا لم يكن لديك خادم SMTP جاهزًا ، فيمكنك أيضًا تقديم تفاصيل SMTP لاحقًا في لوحة تحكم المشرف.
سيُطلب منك المسار إلى ثنائيات التطبيقات المختلفة. تقديم /usr/bin
كمسار لـ ImageMagick و FFmpeg و SoX. إذا كان التطبيق يوفر أخطاء للمسار الذي تم إدخاله ، فيمكنك استخدامه which <binary_name>
للعثور على المسار المطلق إلى الثنائي. على سبيل المثال ، which ffmpeg
يجب أن تعطيك /usr/bin/ffmpeg
كمخرج. استخدم /opt/openoffice4
كمسار إلى ثنائيات OpenOffice.
يمكنك تخطي التكوين على الواجهة التالية لأننا سنستخدم القيم الافتراضية. أخيرًا ، انقر فوق Finish
الزر " " لتثبيت التطبيق وكتابة قاعدة البيانات.
تم تثبيت OpenMeetings الآن على الخادم الخاص بك. لجعله أكثر سهولة في الإنتاج ، سنقوم بإعداد Systemd لإدارة خادم OpenMeetings. سنقوم أيضًا بتكوين Nginx باستخدام Let's Encrypt SSL باعتباره الوكيل العكسي الآمن لخدمة التطبيق.
يوصى بإعداد وحدة خدمة 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
...
بشكل افتراضي ، يستمع 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.
sudo systemctl restart openmeetings
الآن ، يمكنك التصفح https://meetings.example.com
باستخدام متصفح الويب المفضل لديك وتسجيل الدخول لاستخدام التطبيق.
تهانينا ، تم تثبيت Apache OpenMeetings على الخادم الخاص بك. يمكنك دعوة أصدقائك والبدء في استخدام OpenMeetings للمؤتمرات عبر الإنترنت.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد