Προαπαιτούμενα
Εγκαταστήστε Java
Εγκατάσταση Εξαρτήσεων
Εγκαταστήστε το PostgreSQL
Εγκατάσταση OpenMeetings
Ρύθμιση του Systemd
Ρυθμίστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
Το Apache OpenMeetings είναι μια εφαρμογή διαδικτυακής διάσκεψης ανοιχτού κώδικα. Είναι γραμμένο σε Java και υποστηρίζει πολλούς διακομιστές βάσεων δεδομένων. Παρέχει πολλές δυνατότητες, όπως ηχητική και βιντεοδιάσκεψη, κοινή χρήση οθόνης, εξερευνητής αρχείων, σύστημα εποπτείας χρήστη, προσωπικά μηνύματα και επαφές, ενσωματωμένο ημερολόγιο για σχέδια συσκέψεων και πολλά άλλα. Μπορείτε επίσης να καταγράψετε συνεδρίες διάσκεψης. Παρέχει ένα SOAP/REST API και πολλαπλές προσθήκες για εύκολη ενσωμάτωση με Moodle, Jira, Joomla, Confluence και άλλα.
Προαπαιτούμενα
- Μια παρουσία διακομιστή Vultr Ubuntu 16.04 με τουλάχιστον 4 GB RAM.
- Ένας χρήστης sudo .
- Ένα όνομα τομέα στραμμένο προς τον διακομιστή.
Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε 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
Εάν δεν βλέπετε καθόλου έξοδο, θα πρέπει να αποσυνδεθείτε από το τρέχον κέλυφος και να συνδεθείτε ξανά.
Εγκατάσταση Εξαρτήσεων
Εγκαταστήστε τις βιβλιοθήκες 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. Για την ασφάλεια του διακομιστή συνιστάται η χρήση ενός χρήστη χωρίς root για την εκτέλεση του 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.
Since we have already installed GhostScript, proceed further. On the next interface, you will be prompted to provide database server details. Select database type "PostgreSql
" and provide your database server details that you configured during the PostgreSQL installation.
Click on the "Check
" button and you will get the message: "Database check was successful
". Provide your administrator account details and a group name in the next interface.
Configure the basic settings of your installation; such as to allow self-registration, email verification, and default language. Also, provide your SMTP server details. If you do not have an SMTP server ready, you can also provide the SMTP details later in the administrator dashboard.
You will be asked for the path to the binaries of different applications. Provide /usr/bin
as the path for ImageMagick, FFmpeg, and SoX. If the application is providing errors for the path entered, then you can use which <binary_name>
to find the absolute path to the binary. For example, which ffmpeg
should give you /usr/bin/ffmpeg
as output. Use /opt/openoffice4
as the path to the OpenOffice binaries.
You can skip the configuration on the next interface since we are going to use the default values. Finally, click the "Finish
" button to install the application and write the database.
Το 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.
Ανοίξτε το αρχείο εργασίας 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
". Στον πίνακα με τις στήλες ID, κλειδί και τιμή, βρείτε application.base.url
. Αλλάξτε την τιμή του σε https://meetings.example.com
σύμφωνα με το όνομα τομέα σας. Αποθηκεύστε τη διαμόρφωση κάνοντας κλικ στο εικονίδιο αποθήκευσης παραπάνω.
Επανεκκινήστε την υπηρεσία OpenMeetings.
sudo systemctl restart openmeetings
Τώρα, μπορείτε να περιηγηθείτε στο https://meetings.example.com
χρησιμοποιώντας το αγαπημένο σας πρόγραμμα περιήγησης ιστού και να συνδεθείτε για να χρησιμοποιήσετε την εφαρμογή.
Συγχαρητήρια, το Apache OpenMeetings είναι πλέον εγκατεστημένο στον διακομιστή σας. Μπορείτε να προσκαλέσετε τους φίλους σας και να αρχίσετε να χρησιμοποιείτε το OpenMeetings για online συνέδρια.