Tutorials  /  Linux Basics

Apache OpenMeetings auf CentOS 7 installieren und absichern

Ccentron Redaktion · Mai 2025 ·12 Min. Lesezeit ·Linux Basics, Tutorial

Apache OpenMeetings ist eine Open-Source-Plattform für Webkonferenzen. Die Anwendung wurde in Java entwickelt und unterstützt verschiedene Datenbankserver. Zu den Hauptfunktionen gehören Audio- und Videokommunikation, Bildschirmfreigabe, Dateiverwaltung, Benutzerverwaltung, private Nachrichten, ein integriertes Adressbuch, ein Kalender zur Terminplanung und vieles mehr. Zudem besteht die Möglichkeit, Sitzungen aufzuzeichnen. OpenMeetings bietet SOAP/REST-APIs sowie zahlreiche Plugins zur Integration mit Plattformen wie Moodle, Jira, Joomla, Confluence und weiteren.

Voraussetzungen

  • Ein CentOS-7-Server mit mindestens 4 GB RAM.
  • Zugriff auf ein Benutzerkonto mit Sudo-Rechten.
  • Eine Domain, die korrekt auf den Server zeigt.

In dieser Anleitung steht 192.168.1.1 für die öffentliche IP-Adresse des Servers und meetings.example.com für die konfigurierte Domain. Ersetze diese Angaben entsprechend durch deine tatsächlichen Werte.

Aktualisiere zuerst dein System gemäß der Anleitung „Wie man CentOS 7 aktualisiert“. Nach erfolgreichem Update geht es mit der Installation von Java weiter.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Java installieren

Da OpenMeetings auf Java basiert, wird eine Java Runtime Environment (JRE) benötigt. Lade zunächst das neueste Oracle SE JDK 8 RPM-Paket herunter, welches sowohl JRE als auch JDK enthält.

Konsole
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Installiere anschließend das heruntergeladene RPM-Paket:

Konsole
sudo rpm -Uvh jdk-8u161-linux-x64.rpm

Nach erfolgreicher Installation überprüfe die installierte Java-Version:

Code
java -version

Die Ausgabe sollte etwa so aussehen:

Code
[user@centron~]$ 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)

Bevor es weitergeht, müssen die Umgebungsvariablen JAVA_HOME und JRE_HOME eingerichtet werden. Bestimme zunächst den absoluten Pfad der Java-Binärdatei:

Code
readlink -f $(which java)

Die Ausgabe sollte ähnlich wie folgt aussehen:

Code
[user@centron~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java

Lege anschließend die Variablen JAVA_HOME und JRE_HOME entsprechend fest:

Konsole
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

Aktiviere das Profil, damit die Änderungen wirksam werden:

Code
source ~/.bash_profile

Überprüfe abschließend die Umgebungsvariable JAVA_HOME:

Code
[user@centron~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161

Benötigte Abhängigkeiten installieren

Starte die Installation, indem du die Bibliotheken ImageMagick und GhostScript einrichtest:

Konsole
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript

ImageMagick ermöglicht das Hochladen und Einfügen von Bildern auf dem Whiteboard, während GhostScript das Hochladen von PDF-Dateien unterstützt.

Nach der Installation überprüfe die Versionen, um sicherzustellen, dass beide Programme korrekt installiert wurden:

Code
[user@centron~]$ 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@centron~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.

Außerdem muss entweder Apache OpenOffice oder LibreOffice installiert werden, um Dokumente wie .doc, .docx, .ppt, .pptx und .xls in OpenMeetings zu importieren. In diesem Leitfaden wird Apache OpenOffice verwendet.

Wechsle in das temporäre Verzeichnis und lade das Apache OpenOffice RPM-Paket herunter:

Konsole
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

Entpacke das heruntergeladene Archiv und installiere alle enthaltenen RPM-Pakete:

Code
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

Überprüfe danach die erfolgreiche Installation von OpenOffice mit folgendem Befehl:

YAML
[user@centron~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
  -minimized  keep startup bitmap minimized.
...

FFmpeg und SoX installieren

Installiere das RPMFusion-Repository, welches vorgefertigte Pakete für FFmpeg und Sound eXchange (SoX) bereitstellt:

Konsole
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

Installiere nun FFmpeg und SoX:

Konsole
sudo yum -y install ffmpeg sox

FFmpeg und SoX sind essenziell für die Aufnahme von Meetings sowie das Einfügen von Medienformaten wie .avi, .flv, .mov und .mp4 in das Whiteboard. Überprüfe deren Installation, indem du ihre Versionen prüfst:

Code
[user@centron~]$ sox --version
sox: SoX v14.4.1

[user@centron~]$ 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)

PostgreSQL für OpenMeetings installieren und konfigurieren

OpenMeetings unterstützt verschiedene Datenbanksysteme wie MySQL, PostgreSQL, Apache Derby und Oracle. In dieser Anleitung verwenden wir PostgreSQL als Datenbankserver für OpenMeetings.

PostgreSQL ist ein leistungsstarkes, objekt-relationales Datenbanksystem, das für seine Stabilität und Schnelligkeit bekannt ist. Da das Standard-Repository von CentOS eine veraltete Version von PostgreSQL enthält, muss das offizielle PostgreSQL-Repository hinzugefügt werden, um auf die neueste Version zugreifen zu können:

Konsole
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Installiere den PostgreSQL-Server sowie zusätzliche Pakete:

Konsole
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10

Initialisiere das Datenbank-Cluster:

Konsole
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Starte den PostgreSQL-Dienst und richte ihn so ein, dass er automatisch beim Systemstart geladen wird:

Konsole
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Ändere das Passwort des Standard-PostgreSQL-Benutzers:

Konsole
sudo passwd postgres

Wechsle in das Benutzerkonto von PostgreSQL:

Konsole
sudo su - postgres

Erstelle einen neuen PostgreSQL-Benutzer für OpenMeetings:

Code
createuser openmeetings

(Du kannst den Benutzernamen openmeetings durch einen anderen Namen deiner Wahl ersetzen.) Öffne anschließend die PostgreSQL-Shell:

Code
psql

Lege ein sicheres Passwort für den neuen Benutzer fest:

Code
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

Ersetze DBPassword dabei mit einem sicheren Passwort.

Erstelle nun eine neue Datenbank für OpenMeetings und weise dem erstellten Benutzer die Eigentümerschaft zu:

Code
CREATE DATABASE openmeetings OWNER openmeetings;

Verlasse die PostgreSQL-Shell:

Code
\q

Wechsle zurück in die Umgebung des sudo-Benutzers:

Code
exit

Bearbeite die Datei pg_hba.conf, um die Authentifizierung auf MD5 umzustellen:

Konsole
sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Ändere die Methode für lokale Verbindungen auf md5:

Konsole
# 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

Speichere die Änderungen und schließe den Editor. Starte anschließend den PostgreSQL-Dienst neu, damit die Änderungen wirksam werden:

Konsole
sudo systemctl restart postgresql-10

Apache OpenMeetings installieren und konfigurieren

Nachdem alle notwendigen Abhängigkeiten installiert wurden, erstelle einen dedizierten Benutzer für OpenMeetings. Der Betrieb unter einem Nicht-Root-Benutzer erhöht die Serversicherheit:

Konsole
sudo adduser -b /var -s /sbin/nologin openmeetings

Durch diesen Befehl wird auch das Home-Verzeichnis /var/openmeetings für den Benutzer angelegt.

Besuche die Download-Seite von Apache OpenMeetings und lade die aktuelle Version herunter:

Konsole
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz

Entpacke das Archiv in das Verzeichnis des OpenMeetings-Benutzers:

Konsole
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings

Übertrage die Besitzrechte der extrahierten Dateien an den OpenMeetings-Benutzer:

Konsole
sudo chown -R openmeetings:openmeetings /var/openmeetings

Firewall-Regeln anpassen

Öffne vor dem Start von OpenMeetings die benötigten Ports in der Firewall:

Konsole
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload

Apache OpenMeetings starten

Starte die OpenMeetings-Anwendung mit folgendem Befehl:

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

Rufe anschließend im Browser die URL http://192.168.1.1:5080/openmeetings auf.

Du solltest die Willkommensseite sehen, die Anweisungen zur Installation von GhostScript anzeigt.

Da GhostScript bereits installiert wurde, fahre fort und gib die Datenbankdetails ein. Wähle PostgreSQL als Datenbanktyp und trage die entsprechenden Zugangsdaten ein.

Prüfe die Datenbankverbindung mit der Schaltfläche "Check". Bei Erfolg erscheint die Meldung: "Database check was successful."

OpenMeetings-Installation konfigurieren

Fülle nun folgende Felder aus:

  • Administrator-Benutzerkonto und Gruppenname
  • Selbstregistrierung aktivieren oder deaktivieren
  • Option für E-Mail-Verifizierung
  • Standardsprache für die Plattform

Gib auch die SMTP-Serverdetails ein. Falls noch kein SMTP-Server bereitsteht, kannst du dies später über das Admin-Dashboard nachholen.

Beim Festlegen der Pfade zu externen Programmen:

  • /usr/bin für ImageMagick, FFmpeg und SoX
  • /opt/openoffice4 für OpenOffice

Falls es Probleme bei den Pfadangaben gibt, verwende den Befehl:

Code
which <binary_name>

Zum Beispiel:

Code
which ffmpeg

Als Ergebnis sollte /usr/bin/ffmpeg erscheinen.

Standardmäßig kannst du in der nächsten Konfigurationsmaske die Vorgaben übernehmen und auf "Finish" klicken, um die Datenbank zu schreiben und die Installation abzuschließen.

Nach der Installation

OpenMeetings wurde erfolgreich auf deinem Server installiert. Im nächsten Schritt wird empfohlen, Systemd zur Verwaltung des Dienstes einzurichten und Nginx mit Let's Encrypt SSL als sicheren Reverse Proxy zu konfigurieren.

Systemd für Apache OpenMeetings einrichten

Auch wenn OpenMeetings manuell gestartet werden kann, empfiehlt es sich, einen Systemd-Dienst einzurichten, damit OpenMeetings automatisch beim Booten startet und nach Abstürzen neu gestartet wird.

Beende zuerst den aktuell laufenden OpenMeetings-Prozess:

Konsole
sudo pkill -KILL -u openmeetings

Erstelle dann eine neue Systemd-Unit-Datei:

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

Füge folgenden Inhalt ein:

Code
[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

Starte und aktiviere den Dienst:

Konsole
sudo systemctl start openmeetings
sudo systemctl enable openmeetings

Überprüfe den Status des OpenMeetings-Dienstes:

Konsole
sudo systemctl status openmeetings

Die Ausgabe sollte etwa wie folgt aussehen:

YAML
[root@centron 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...

Nginx als SSL-geschützten Reverse-Proxy konfigurieren

Standardmäßig läuft OpenMeetings über Port 5080 ohne Verschlüsselung, was ein potenzielles Sicherheitsrisiko darstellt. Um die Verbindung abzusichern, wird Nginx als Reverse-Proxy für HTTPS-Verbindungen eingerichtet.

Installiere Nginx:

Konsole
sudo yum -y install nginx

Starte und aktiviere den Nginx-Dienst:

Konsole
sudo systemctl start nginx
sudo systemctl enable nginx

Installiere Certbot, um SSL-Zertifikate von Let's Encrypt zu beantragen:

Konsole
sudo yum -y install certbot

Erlaube HTTP- und HTTPS-Verkehr durch die Firewall:

Konsole
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Stelle sicher, dass die Domain korrekt auf den Server zeigt. Beantrage danach ein SSL-Zertifikat:

Konsole
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com

Die Zertifikate befinden sich anschließend unter:

  • /etc/letsencrypt/live/meetings.example.com/fullchain.pem (SSL-Zertifikat)
  • /etc/letsencrypt/live/meetings.example.com/privkey.pem (privater Schlüssel)

Da Let's Encrypt-Zertifikate alle 90 Tage ablaufen, richte eine automatische Verlängerung ein:

Konsole
sudo crontab -e

Füge folgende Zeile hinzu, um die Erneuerung täglich um 5:30 Uhr zu prüfen:

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

Nginx für OpenMeetings konfigurieren

Entferne zunächst default_server aus der Standard-Nginx-Konfiguration:

Konsole
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Erstelle danach eine neue Konfigurationsdatei für OpenMeetings:

Konsole
sudo nano /etc/nginx/conf.d/meetings.example.com.conf

Füge folgenden Inhalt ein:

Code
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";
    }
}

Überprüfe die Nginx-Konfiguration auf Fehler:

Konsole
sudo nginx -t

Falls alles in Ordnung ist („syntax is ok“ und „test is successful“), starte Nginx neu:

Konsole
sudo systemctl restart nginx

OpenMeetings abschließend konfigurieren

Melde dich im Administrationsbereich von OpenMeetings an. Gehe zu Administration >> Konfiguration und ändere den Wert von application.base.url auf https://meetings.example.com. Speichere die Änderungen.

Starte danach den OpenMeetings-Dienst neu:

Konsole
sudo systemctl restart openmeetings

Jetzt kannst du deine OpenMeetings-Installation unter https://meetings.example.com aufrufen und nutzen.

Fazit

Mit dieser Anleitung hast du Apache OpenMeetings erfolgreich auf einem CentOS 7-Server installiert und abgesichert. Die Anwendung ist nun durch Nginx mit Let's Encrypt SSL geschützt. Systemd sorgt für die automatische Verwaltung und einen zuverlässigen Neustart des Dienstes. In dieser sicheren Umgebung kannst du OpenMeetings für Online-Meetings, Webinare und Zusammenarbeit verwenden. Lade deine Kollegen ein und starte noch heute deine Webkonferenzen!

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren