Inhaltsverzeichnis

OpenMeetings

freier Konferenzserver auf Flashbasis

Installation

Installation der benötigten Pakete (unter debian wheezy):

apt-get install lame imagemagick ffmpeg yasm sox swftools gdebi flvtool2 libjpeg62 libfaad2 jodconverter libavcodec-extra-53 mysql-server red5-server msttcorefonts docvert-converter pdf2svg

Anschließend für den MYSQL-root das Passwort vergeben und einen Benutzer openmeetings mit dem Passwort openmeetings anlegen:

mysql -uroot -p
CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8'; 
GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; 
quit; 

Anmeldung des Benutzers openmeetings testen:

mysql -uopenmeetings -p

Anschließend den red5-server stoppen:

/etc/init.d/red5-server stop

Anschließend ein Downloadverzeichnis erstellen und da reinwechseln:

mkdir /install
cd /install
mkdir red5

Download von openmeeting und dem benötigten JAVA-Plugin mysql-connector-java-5.1.23.jar :

wget https://builds.apache.org/job/openmeetings/lastSuccessfulBuild/artifact/singlewebapp/dist/apache-openmeetings-3.0.0.r1538874-05-11-2013_0623.tar.gz
wget http://www.netzwerk-lehmann.de/projekte/openmeetings-1/mysql-connector-java-5.1.23.tar.gz/at_download/file
cd red5
tar xvfz ../apache-openmeetings-3.0.0.r1538874-05-11-2013_0623.tar.gz
cd ..

Altes Verzeichnis wegkopieren; neues Verzeichnis reinkopieren:

mv /usr/share/red5 /usr/share/red5.org
mv red5 /usr/share/red5
tar xvfz mysql-connector-java-5.1.23.tar.gz
cp mysql-connector-java-5.1.27-bin.jar /usr/share/red5/webapps/openmeetings/WEB-INF/lib/
cd /usr/share/red5/webapps/openmeetings/WEB-INF/classes/META-INF

MYSQL-Verbindung konfigurieren:

mv mysql_persistence.xml persistence.xml
...
, Username=openmeetings
, Password=openmeetings" />
...

Rechte für red5-Benutzer setzen:

chown -R _red5 /usr/share/red5/*

Server wieder starten:

/etc/init.d/red5-server start

Anmelden an http://10.10.81.158:5080/openmeetings/install
Administrator konfigurieren und als dieser anmelden…
dann JODconverter konfigurieren:

jod.path: /usr/share/red5/webapps/openmeetings/jod

dann Benutzer konfigurieren

Konfiguration

Authentifizierung gegen Active Directory über LDAP:

Erstelle eine Benutzer(hier meinldapUser) im AD dessen Passwort nicht abläuft und der in einer eigenen Standardgruppe ist.
Entferne ihn aus der Gruppe Domänenbenutzer. Dadurch hat er keine Rechte außer gegen das AD zu authentifizieren.
Erstelle eine Textdatei /usr/lib/red5/webapps/openmeetings/conf/mydom_ldap.cfg auf dem Openmeetingsserver mit folgendem Inhalt:

ldap_server_type=ActiveDirectory
ldap_conn_url=ldap://meinDomCtrl:389
ldap_admin_dn=CN:meinldapUser,OU:Dienstkonten,OU:Administration,DC:meinefirma,DC:com
ldap_passwd=geheimesPW
ldap_search_base=OU:User,DC:meinefirma,DC:com
#field_user_principal=sAMAccountName
field_user_principal=userPrincipalName
ldap_auth_type=SIMPLE
ldap_sync_password_to_om=no
ldap_user_attr_lastname=sn
ldap_user_attr_firstname=givenName
ldap_user_attr_mail=mail
ldap_user_attr_street=streetAddress
ldap_user_attr_additionalname=description
ldap_user_attr_fax=facsimileTelephoneNumber
ldap_user_attr_zip=postalCode
ldap_user_attr_country=co
ldap_user_attr_town=l
ldap_user_attr_phone=telephoneNumber

Melde Dich über das Webinterface http://meinOmsrv:5080/openmeetings am Server an der lokalen DB an.
klicke auf Administration / LDAP.
erstelle eine neue Konfiguration :
Name: myNTDOM
Enabled: yes
Config file Name: mydom_ldap.cfg
add Domain to username: yes
Domain: meinefirma.com
(abspeichern nicht vergessen!)
Dadurch wird später der eingegebene Benutzername (Beispiel:pitti) mit der Domäne(meinefirma.com) verknüpft und gegen das LDAP-Feld userPrincipalName im AD geprüft.
Wenn der Benutzer (Beispiel: pitti@meinefirma.com) gefunden wird, wird das eingegebene Passwort dagegen geprüft.

einfache Portumleitung auf Port 80

Openmeetings lässt sich nicht so einfach auf Ports kleiner 1024 umleiten.
1.Möglichkeit : iptables Eintrag in /etc/rc.local (debian wheezy):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5080

2.Möglichkeit : authbind
3.Möglichkeit : xinetd
4.Möglichkeit : socat

socat TCP4-LISTEN:80,fork TCP4:openmeetingssrv:5080

5.Möglichkeit : redir

Openmeetings per HTTPS absichern

Die Anleitung auf der Website http://openmeetings.apache.org/RTMPSAndHTTPS.html ist ziemlich verwirrend und hinterließ mich ratlos.
Damit wenigstens die Anmeldung nicht mitgeschnüffelt werden kann, muss der Datenverkehr verschlüsselt und dann an der unverschlüsselten Port 5080 weitergeleitet werden.
Der Flashverkehr wird nach wie vor unverschlüsselt übermittelt.
Installiere als erstes den Apache und konfiguriere ihn so, dass er auf Port 443 hört. (siehe auch Apache2)
Dann muss der Port 80 im Apache deaktiviert werden.
Dann muss die Datei /etc/apache2/sites-enabled/default-ssl wie folgt angepasst werden:

...
ProxyRequests On
ProxyVia On
Header always set Strict-Transport-Security "max-age=31536000 ; includeSubdomains"
SSLProxyEngine On
SSLProtocol all -SSLv2
ProxyPass /openmeetings/ http://127.0.0.1:5080/openmeetings/
ProxyPassReverse /openmeetings/ http://127.0.0.1:5080/openmeetings/
<Proxy *>
  Order allow,deny
  Allow from all
</Proxy>
SSLCertificateFile /etc/ssl/certs/meinCert.pem
SSLCertificateKeyFile /etc/ssl/private/meinCert.key
...

Apacheneustart:

/etc/init.d/apache2 restart

Test von: https://meinomeetingsrv/openmeetings/ fertig!

Logdatei

/usr/lib/red5/log/openmeetings.log
#oder
/usr/share/red5/log/*

Fehlerbehandlung

um Dateien auf die Arbeitsfläche uploaden zu können, musste ich noch ein Verzeichnis anlegen(wurde in Logdatei angemeckert):

mkdir -p /usr/share/red5/work/red5Engine/0.0.0.0/openmeetings/OpenmeetingsApplication-filestore/8067/8745/67A0927E25F569C91CD01974CDECE/data
chown -R _red5 /usr/share/red5/work


MS-Officedateien werden zwar hochgeladen aber nicht konvertiert.
Dienst docvert-converter muss gestartet sein Port 2002 muss für jodconverter geöffnet sein.

Backup/Restore

Backup

Führe auf dem laufenden System folgenden Befehl aus:

/usr/share/red5/admin.sh -b

es wird eine Backupdatei backup_DATUM_UHRZEIT.zip im aktuellen Verzeichnis erstellt.

Restore:
admin -r -file backup_DATUM_UHRZEIT.zip 

Daemonneustart.

Überwachung

das Script (omwaechter.sh) per cronjob alle 10 Minuten von 7-22 Uhr ausführen :

*/10 7-22 * * * /pfad/zu/omwaechter.sh >/dev/null
omwaechter.sh
#!/bin/sh
wget -qO- http://meinOMServer:5080/openmeetings/ >/dev/null 
f=$?
if [ ! $f -eq 0 ]; then
  echo https://meinOMServer/ | mail -s Openmeetingsfehler admin@domain.de 
  /etc/init.d/red5 stop
  /etc/init.d/mysql restart
  /etc/init.d/red5 start
  # echo $f returnwert
fi