Apache OpenMeetings è un'applicazione per conferenze Web open source. È scritto in Java e supporta più server di database. Fornisce molte funzionalità, come conferenze audio e video, condivisione dello schermo, esploratore di file, un sistema di moderazione utente, messaggi e contatti privati, un calendario integrato per i piani di riunione e molti altri. È inoltre possibile registrare sessioni di conferenza. Fornisce un'API SOAP / REST e più plug-in per integrarsi facilmente con Moodle, Jira, Joomla, Confluence e altro.
Prerequisiti
- Un'istanza del server Vultr Ubuntu 16.04 con almeno 4 GB di RAM.
- Un utente sudo .
- Un nome di dominio puntato verso il server.
Per questo tutorial, utilizzeremo 192.168.1.1
come indirizzo IP pubblico e meetings.example.com
come nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze dell'indirizzo IP di esempio e del nome di dominio con quello effettivo.
Aggiorna il tuo sistema di base usando la guida Come aggiornare Ubuntu 16.04 . Dopo aver aggiornato il sistema, procedere con l'installazione di Java.
Installa Java
OpenMeetings è scritto in Java, quindi per funzionare richiede Java Runtime Environment (JRE). Aggiungi il repository Ubuntu per Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Installa Java.
sudo apt -y install oracle-java8-installer
Verifica la versione di Java.
java -version
Vedrai il seguente output.
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)
Impostare il percorso predefinito per Java installando il seguente pacchetto.
sudo apt -y install oracle-java8-set-default
È possibile verificare che JAVA_HOME
sia impostato eseguendo quanto segue.
echo $JAVA_HOME
Vedrai un risultato simile.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Se non vedi alcun output, dovrai disconnetterti dalla shell corrente e riconnetterti.
Installa dipendenze
Installa le librerie ImageMagick e GhostScript.
sudo apt -y install imagemagick ghostscript libxt6 libxrender1
ImageMagick fornisce supporto per caricare immagini e importarle sulla lavagna. GhostScript consente di caricare PDF sulla lavagna.
Verifica la versione di ImageMagick e GhostScript per assicurarti che siano stati installati correttamente.
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.
Inoltre, dovremo anche installare Apache OpenOffice o LibreOffice sul sistema. Installazione di uno di questi consentirà OpenMeetings per importare i file nei formati di documento Office come .doc
, .docx
, .ppt
, .pptx
, o .xlx
. In questo tutorial, installeremo Apache OpenOffice.
Passa alla directory temporanea e scarica il pacchetto Apache OpenOffice per 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
Estrarre l'archivio e installare tutti i pacchetti 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
Installa il PPA per l'ultima versione di FFmpeg.
sudo add-apt-repository --yes ppa:jonathonf/ffmpeg-3
sudo apt update
Installa FFmpeg e SoX.
sudo apt -y install ffmpeg sox
FFmpeg e SoX ti consentiranno di registrare le riunioni. Serviranno anche nei media l'importazione di file come ad esempio .avi
, .flv
, .mov
e .mp4
nella lavagna. Verificare l'installazione controllando le versioni di FFmpeg e 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
Installa PostgreSQL
OpenMeetings supporta più tipi di server di database, come MySQL, PostgreSQL, Apache Derby e Oracle. In questo tutorial, useremo PostgreSQL per ospitare il database OpenMeeting.
PostgreSQL è un sistema di database relazionale ad oggetti, noto per la sua stabilità e velocità. Il repository Ubuntu predefinito contiene una vecchia versione di PostgreSQL, quindi aggiungi il repository 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
Installa il server di database PostgreSQL.
sudo apt -y install postgresql
Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Cambia la password per l'utente PostgreSQL predefinito.
sudo passwd postgres
Accedi come utente PostgreSQL.
sudo su - postgres
Crea un nuovo utente PostgreSQL per l'utente OpenMeetings.
createuser openmeetings
È possibile utilizzare qualsiasi nome utente anziché openmeetings
.
Passa alla shell PostgreSQL.
psql
Impostare una password per l'utente appena creato per il database OpenMeetings.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Sostituisci DBPassword
con una password sicura.
Creare un nuovo database per l'installazione di OpenMeetings.
CREATE DATABASE openmeetings OWNER openmeetings;
Esci dalla psql
shell.
\q
Passa sudo
all'utente.
exit
Salvare il file ed uscire dall'editor.
Installazione di OpenMeetings
Poiché tutte le dipendenze richieste sono installate, creare un nuovo utente per OpenMeetings. L'uso di un utente non root per l'esecuzione di OpenMeetings è consigliato per la sicurezza del server.
sudo adduser --home /var/openmeetings --disabled-login --disabled-password --gecos "OpenMeetings User" openmeetings
Il comando sopra creerà anche la home directory openmeetings
dell'utente in /var/openmeetings
.
Controlla la pagina di download di Apache OpenMeetings per ottenere il collegamento all'ultima versione disponibile. Scarica l'archivio OpenMeetings.
cd /tmp
wget http://www-eu.apache.org/dist/openmeetings/4.0.2/bin/apache-openmeetings-4.0.2.tar.gz
Estrarre l'archivio nella /var/openmeetings
directory.
sudo tar xf apache-openmeetings-*.tar.gz -C /var/openmeetings
Fornire la proprietà dei file all'utente OpenMeetings che abbiamo creato in precedenza.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Ora puoi avviare l'applicazione.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
Ora puoi accedere http://192.168.1.1:5080/openmeetings
al tuo browser preferito. Vedrai la schermata di benvenuto con le istruzioni per installare GhostScript.
Poiché abbiamo già installato GhostScript, procedere oltre. Nell'interfaccia successiva, verrà richiesto di fornire i dettagli del server di database. Seleziona il tipo di database " PostgreSql
" e fornisci i dettagli del tuo server di database che hai configurato durante l'installazione di PostgreSQL.
Fai clic sul Check
pulsante " " e otterrai il messaggio: " Database check was successful
". Fornisci i dettagli del tuo account amministratore e un nome di gruppo nell'interfaccia successiva.
Configura le impostazioni di base della tua installazione; ad esempio per consentire l'autoregistrazione, la verifica tramite e-mail e la lingua predefinita. Inoltre, fornisci i dettagli del tuo server SMTP. Se non si dispone di un server SMTP pronto, è anche possibile fornire i dettagli SMTP più avanti nella dashboard dell'amministratore.
Ti verrà chiesto il percorso dei file binari di diverse applicazioni. Fornire /usr/bin
come percorso per ImageMagick, FFmpeg e SoX. Se l'applicazione fornisce errori per il percorso immesso, è possibile utilizzare which <binary_name>
per trovare il percorso assoluto del file binario. Ad esempio, which ffmpeg
dovrebbe darti /usr/bin/ffmpeg
come output. Utilizzare /opt/openoffice4
come percorso dei binari di OpenOffice.
È possibile saltare la configurazione sull'interfaccia successiva poiché utilizzeremo i valori predefiniti. Infine, fai clic sul pulsante " Finish
" per installare l'applicazione e scrivere il database.
OpenMeetings è ora installato sul tuo server. Per renderlo più produttivo, installeremo Systemd per gestire il server OpenMeetings. Configureremo anche Nginx con un Let's Encrypt SSL come proxy inverso sicuro per servire l'applicazione.
Configurazione di Systemd
Si consiglia di impostare un'unità di servizio Systemd per gestire l'applicazione. Ciò assicurerà che il servizio venga avviato automaticamente all'avvio e agli errori.
Arrestare il server OpenMeetings premendo CTRL+ Co uccidendo la shell openmeetings
dell'utente.
sudo pkill -KILL -u openmeetings
Creare un nuovo file di unità Systemd per OpenMeetings.
sudo nano /etc/systemd/system/openmeetings.service
Popolare il file.
[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
Avviare il server OpenMeetings e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
Per verificare lo stato del servizio, è possibile eseguire quanto segue.
sudo systemctl status openmeetings
Vedrai un risultato simile.
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
...
Installa Nginx come proxy inverso
Per impostazione predefinita, OpenMeetings ascolta la porta 5080
. Se la connessione tra il browser e il server non è crittografata con SSL, gli accessi e le altre informazioni verranno inviati in testo semplice. Questa potrebbe essere una potenziale minaccia poiché qualcuno che intercetta sulla rete potrebbe ottenere le informazioni. Per mitigare questo problema, configureremo Nginx come proxy inverso che ascolterà la HTTPS
porta predefinita e inoltrerà tutte le richieste al server OpenMeetings.
Installa Nginx.
sudo apt -y install nginx
Avvia Nginx e abilita l'avvio automatico all'avvio.
sudo systemctl start nginx
sudo systemctl enable nginx
Aggiungi il repository Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Installa Certbot, che è l'applicazione client per Let's Encrypt CA.
sudo apt -y install certbot
Nota: per ottenere certificati da Let's Encrypt CA, il dominio per il quale devono essere generati i certificati deve essere puntato verso il server. In caso contrario, apportare le modifiche necessarie ai record DNS del dominio e attendere la propagazione del DNS prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.
Genera i certificati SSL.
sudo certbot certonly --webroot -w /var/www/html -d meetings.example.com
È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/meetings.example.com/
. Il certificato SSL verrà archiviato come fullchain.pem
e la chiave privata verrà archiviata come privkey.pem
.
Let's Encrypt certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico dei certificati utilizzando i processi Cron.
Apri il file di lavoro cron.
sudo crontab -e
Aggiungi la seguente riga alla fine del file.
30 5 * * * /usr/bin/certbot renew --quiet
Il precedente cron job verrà eseguito ogni giorno alle 5:30. Se il certificato è in scadenza, verrà automaticamente rinnovato.
Crea un nuovo file di configurazione per OpenMeetings.
sudo nano /etc/nginx/sites-available/openmeetings
Popolare il file.
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";
}
}
Attiva la configurazione.
sudo ln -s /etc/nginx/sites-available/openmeetings /etc/nginx/sites-enabled/openmeetings
Verificare la presenza di errori nel nuovo file di configurazione.
sudo nginx -t
Se viene visualizzato il seguente output, la configurazione è priva di errori.
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
Se hai ricevuto qualche tipo di errore, assicurati di ricontrollare il percorso dei certificati SSL. Riavviare il server Web Nginx per implementare la modifica della configurazione.
sudo systemctl restart nginx
Prima di poter iniziare a utilizzare l'applicazione sul sito protetto SSL, è necessario apportare una modifica alla configurazione in OpenMeetings. Accedi alla dashboard amministrativa di OpenMeetings e vai a " Administration >> Configuration
". Nella tabella con colonne ID, chiave e valore, trova application.base.url
. Cambia il suo valore in https://meetings.example.com
base al tuo nome di dominio. Salvare la configurazione facendo clic sull'icona Salva sopra.
Riavvia il servizio OpenMeetings.
sudo systemctl restart openmeetings
Ora puoi navigare https://meetings.example.com
usando il tuo browser preferito e accedere per usare l'applicazione.
Congratulazioni, Apache OpenMeetings è ora installato sul tuo server. Puoi invitare i tuoi amici e iniziare a utilizzare OpenMeetings per conferenze online.