Forutsetninger
Installer Java
Installer avhengigheter
Installer PostgreSQL
Installere OpenMeetings
Sette opp Systemd
Sett opp Nginx som omvendt proxy
Apache OpenMeetings er en åpen kildekode-applikasjon for nettkonferanser. Den er skrevet i Java og støtter flere databaseservere. Den gir mange funksjoner, for eksempel lyd- og videokonferanser, skjermdeling, filutforsker, et brukermodereringssystem, private meldinger og kontakter, en integrert kalender for møteplaner og mange flere. Du kan også ta opp en konferanseøkt. Det gir SOAP/REST API og flere plugins for enkelt å integrere med Moodle, Jira, Joomla, Confluence og mer.
Forutsetninger
- En Vultr CentOS 7-serverforekomst med minst 4 GB RAM.
- En sudo-bruker .
- Et domenenavn pekte mot serveren.
For denne opplæringen vil vi bruke 192.168.1.1som den offentlige IP-adressen og meetings.example.comsom domenenavnet som pekte mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempelets IP-adresse og domenenavn med den faktiske.
Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere Java.
Installer Java
OpenMeetings er skrevet i Java, så det krever Java Runtime Environment (JRE) for å fungere. Last ned den siste tilgjengelige Oracle SE JDK 8 RPM-pakken, som inkluderer både JRE og JDK.
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
Installer den nedlastede pakken.
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Hvis Java har installert vellykket, vil du kunne bekrefte versjonen.
java -version
Du vil se følgende utgang.
[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)
Før vi kan gå videre, må vi sette opp JAVA_HOMEog JRE_HOMEmiljøvariablene. Finn den absolutte banen til den kjørbare JAVA-filen i systemet ditt.
readlink -f $(which java)
Du vil se en lignende utgang.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
Nå satt de JAVA_HOMEog JRE_HOMEmiljøvariabler i henhold til banen for Java-katalogen.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile
Kjør bash_profilefilen.
source ~/.bash_profile
Nå kan du kjøre echo $JAVA_HOMEkommandoen for å sikre at miljøvariabelen er satt.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
Installer avhengigheter
Installer ImageMagick og GhostScript-biblioteker.
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagick gir støtte for å laste opp bilder og importere dem til tavlen. GhostScript lar deg laste opp PDF-er til tavlen.
Bekreft versjonen av ImageMagick og GhostScript for å sikre at de er installert.
[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
Videre må vi også installere enten Apache OpenOffice eller LibreOffice på systemet. Installere en av disse vil gjøre det mulig OpenMeetings å importere filer i Office-dokumentformater som .doc, .docx, .ppt, .pptx, eller .xlx. I denne opplæringen vil vi installere Apache OpenOffice.
Bytt til den midlertidige katalogen og last ned Apache OpenOffice RPM.
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-rpm_en-US.tar.gz
Pakk ut arkivet og installer alle RPM-pakkene.
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm
For å sjekke om OpenOffice er riktig installert og fungerer, skriv openoffice4 -hinn kommandolinjen. Den vil skrive ut sin versjon og kort hjelp.
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
Installer RPMFusion-depotet i systemet ditt, da det gir forhåndsbygde pakker for FFmpeg og Sound eXchange (SoX).
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
Installer FFmpeg og SoX.
sudo yum -y install ffmpeg sox
FFmpeg og SoX vil muliggjøre opptak av møtet. De vil også hjelpe til med å importere mediefiler som .avi, .flv, .movog .mp4til tavlen. Bekreft installasjonen ved å sjekke versjonene av både FFmpeg og SoX.
[user@vultr ~]$ sox --version
sox: SoX v14.4.1
[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
Installer PostgreSQL
OpenMeetings støtter flere typer databaseservere, som MySQL, PostgreSQL, Apache, Derby og Oracle. I denne opplæringen vil vi bruke PostgreSQL-serveren til å være vert for OpenMeeting-databasen.
PostgreSQL er et objektrelasjonelt databasesystem og kjent for sin stabilitet og hastighet. Standarddepotet yuminneholder en gammel versjon av PostgreSQL, så legg til PostgreSQL-depotet for den nyeste versjonen av applikasjonen i systemet.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installer PostgreSQL-databaseserveren.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Initialiser databasen.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Start PostgreSQL-serveren og la den starte automatisk ved oppstart.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Endre passordet for standard PostgreSQL-bruker.
sudo passwd postgres
Logg på som PostgreSQL-bruker.
sudo su - postgres
Opprett en ny PostgreSQL-bruker for OpenMeetings-brukeren.
createuser openmeetings
Du kan bruke hvilket som helst brukernavn i stedet for openmeetings. Bytt til PostgreSQL-skallet.
psql
Angi et passord for den nyopprettede brukeren for OpenMeetings-databasen.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Erstatt DBPasswordmed et sikkert passord. Opprett en ny database for OpenMeetings-installasjonen.
CREATE DATABASE openmeetings OWNER openmeetings;
Gå ut av psqlskallet.
\q
Bytt til sudobrukeren.
exit
Rediger pg_hba.conffilen for å aktivere MD5-basert autentisering.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Finn følgende linjer og endre verdiene i METHODkolonnen fra identtil md5.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Når den er oppdatert, vil konfigurasjonen se slik ut.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Save the file and exit from the editor. Restart PostgreSQL so that the changes can take effect.
sudo systemctl restart postgresql-10
Installing OpenMeetings
Since all the required dependencies are installed. Create a new user for OpenMeetings. Using a non-root user for running OpenMeetings is recommended for the security of the server.
sudo adduser -b /var -s /sbin/nologin openmeetings
The above command will also create the home directory of the openmeetings user in /var/openmeetings.
Check the Apache OpenMeetings download page to obtain the link to the latest available release. Download the OpenMeetings archive.
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
Extract the archive into the /var/openmeetings directory.
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
Provide ownership of the files to the OpenMeetings user we have created earlier.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Before we start the application, we will need to modify the firewall to allow ports 5080 and 1935.
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload
You can now start the application.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
You can now access http://192.168.1.1:5080/openmeetings in your favorite browser. You will see the welcome screen with instructions to install GhostScript.

Since we have already installed GhostScript, proceed further. On 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 PostgreSQL installation.
![Slik installerer du OpenMeetings på CentOS 7 Slik installerer du OpenMeetings på CentOS 7]()
Click on the "Check" button and you should get the message: "Database check was successful". Provide your administrator account details and a group name in the next interface.
![Slik installerer du OpenMeetings på CentOS 7 Slik installerer du OpenMeetings på CentOS 7]()
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 than you can also provide the SMTP details later in the administrator dashboard.
![Slik installerer du OpenMeetings på CentOS 7 Slik installerer du OpenMeetings på CentOS 7]()
It will ask you 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.
![Slik installerer du OpenMeetings på CentOS 7 Slik installerer du OpenMeetings på CentOS 7]()
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 is now installed on your server. To make it more production friendly, we will setup Systemd to manage the OpenMeetings server. We will also configure Nginx with Let's Encrypt SSL as the secured reverse proxy to serve the application.
Setting up Systemd
Though we can easily start and stop the application using the command above, it is recommended to set up a Systemd service unit to manage the application. This will also ensure that the service is automatically started on boot time and failures.
Stop the OpenMeetings server either by pressing "Ctrl+C" or by killing the shell of the openmeetings user.
sudo pkill -KILL -u openmeetings
Create a new Systemd unit file for OpenMeetings Server.
sudo nano /etc/systemd/system/openmeetings.service
Populate the 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
Start the OpenMeetings server and enable it to automatically start at boot time.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
To check the status of the service, you can run the following.
sudo systemctl status openmeetings
You will see a similar output.
[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
Main PID: 10522 (java)
CGroup: /system.slice/openmeetings.service
└─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # Openmeetings is up ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # 4.0.1 3795f14 2017-12-05T16... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # and ready to use ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.
Setup Nginx as Reverse Proxy
By default, OpenMeetings listens to port 5080. If the connection between the browser and server are not encrypted with SSL, then logins and other information will be sent using plain text. This might be a potential threat as someone eavesdropping on the network might obtain the information. To mitigate this issue, we will setup Nginx as the reverse proxy which will listen to the default HTTPS port and will proxy all the requests to the OpenMeetings server.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.
sudo yum -y install certbot
Før du kan be om sertifikatene, må du tillate porter 80og/ 443eller standard HTTPog HTTPStjenester gjennom brannmuren.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Merk: For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.
Generer SSL-sertifikatene.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
De genererte sertifikatene blir sannsynligvis lagret i /etc/letsencrypt/live/meetings.example.com/. SSL-sertifikatet vil bli lagret som fullchain.pemog privat nøkkel vil bli lagret som privkey.pem.
La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse av sertifikatene ved å bruke Cron-jobber.
Åpne cron-jobbfilen.
sudo crontab -e
Legg til følgende linje på slutten av filen.
30 5 * * * /usr/bin/certbot renew --quiet
Cron-jobben ovenfor kjøres hver dag klokken 05.30. Hvis sertifikatet skal utløpe, vil det automatisk bli fornyet.
Endre nå Nginx standard konfigurasjonsfil for å ta ut default_serverlinjen.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Opprett en ny konfigurasjonsfil for OpenMeetings Server.
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
Fyll ut filen.
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";
}
}
Se etter feil i den nye konfigurasjonsfilen.
sudo nginx -t
Hvis du ser følgende utgang, er konfigurasjonen feilfri.
[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
Hvis du har mottatt en form for feil, sørg for å dobbeltsjekke banen til SSL-sertifikatene. Start Nginx-nettserveren på nytt for å implementere endringen i konfigurasjonen.
sudo systemctl restart nginx
Før du kan begynne å bruke applikasjonen på det SSL-sikrede nettstedet, må du gjøre en konfigurasjonsendring i OpenMeetings. Logg på OpenMeetings administrative dashboard og naviger til " Administration >> Configuration". I tabellen over ID, nøkkel og verdi; finne application.base.url. Endre verdien til i https://meetings.example.comhenhold til domenenavnet ditt. Lagre konfigurasjonen ved å klikke på lagre-ikonet ovenfor.
![Slik installerer du OpenMeetings på CentOS 7 Slik installerer du OpenMeetings på CentOS 7]()
Start OpenMeetings-tjenesten på nytt.
sudo systemctl restart openmeetings
Nå kan du bla til å https://meetings.example.combruke favorittnettleseren din og logge på for å bruke applikasjonen.
Gratulerer, Apache OpenMeetings er nå installert på serveren din. Du kan invitere vennene dine og begynne å bruke OpenMeetings for nettkonferanser.