Installation d’une solution de Web Conferencing Open Source

Après recherche et comparatif des différentes solutions disponibles (cf wikipedia), le choix c’est porté entre OpenMeetings et BigBlueButton.

Le premier dispose de plus de fonctionnalité surtout l’intégration LDAP importante en entreprise mais à mon gout à une interface austère et peu « userfriendly ». Le second est beaucoup plus simple d’utilisation mais limité en fonctionnalité malgré le fait qu’il dispose d’un client Android.

Les 2 solutions ont de toutes façons dans leurs roadmap un passage en HTML5 au lieu de Flash actuellement ce qui devrait améliorer leurs compatibilité avec les solutions mobiles iOS, Android et WP (avec leurs pendants tablettes).

Etant en entreprise nous retiendrons OpenMeetings car la connexion avec l’AD nous est indispensable (qui a dit que les utilisateurs avaient une passoire à la place de la tête et que la multiplication des mots de passe plus complexes que « azerty » était bloquant…^^).

Donc en avant pour la maquette un classique Ubuntu Serveur 12.04LTS x64 sur une machine virtuelle. On fait les mises à jours nécessaires et on commence à installer les dépendances. Je tiens à préciser que je me suis basé sur le tutoriel de Guillaume POMENTE pour mon installation.

Installation des dépendances

#sudo aptitude install unzip mysql-server  imagemagick ghostscript openoffice.org-base openoffice.org-writer openoffice.org-calc openoffice.org-impress openoffice.org-draw openoffice.org-math openoffice.org-filter-mobiledev openoffice.org-filter-binfilter msttcorefonts pstoedit libpaper-utils ttf-dejavu libart-2.0-2 libt1-5 sox libmp3lame-dev libxvidcore-dev zlib1g-dev libogg-dev sox libvorbis0a libvorbis-dev libfaac-dev libfaad-dev libgsm1 libgsm1-dev libfaad2 yasm pkg-config make checkinstall

Pour information depuis la version d’OpenOffice 3, nous n’avons plus besoin d’intégrer le paquet office.org-headless  car ceci est directement intégré.

Installation de SWFTools

J’ai choisi d’ajouter le repository tiers concernant ce paquet:

#sudo -E add-apt-repository ppa:guilhem-fr/swftools
#sudo apitude update
#sudo aptitude install swftools

Installation du JRE Sun

#sudo add-apt-repository ppa:webupd8team/java
#sudo apt-get update
#sudo apt-get install oracle-java7-installer

Compilation et installation de ffmpeg pour les enregistrements

Téléchargement du package et installation de ce dernier depuis un dossier temporaire:

# cd /tmp
# wget http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz
# tar -zxvf ffmpeg-0.11.1.tar.gz
# cd ffmpeg-0.11.1
# ./configure –enable-libmp3lame –enable-libxvid –enable-libvorbis –enable-libgsm –enable-libfaac –enable-gpl –enable-nonfree
# make
# checkinstall

Une fois l’installation réalisée, on peut tester via:

# ffmpeg -version

Le résultat devrait être ffmpeg version 0.11.1

Téléchargement d’OpenMeetings

# wget http://mirrors.linsrv.net/apache/incubator/openmeetings/2.0-incubating/apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.zip
# unzip apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.zip -d openmeetings
# mv openmeetings/ /opt/red5

Configuration MySQL

Voici les prérequis nécessaire afin de procéder à cette connexion:

  • Télécharger le JConnector depuis MySQL et le placer dans $red5/webapps/openmeetings/WEB-INF/lib/
  • Créer une base de donnée nommée « openmeetings » et attribuer des droits sur cette dernière à un utilisateur (attention l’interclassement doit être en utf8_general_ci).
  • Renommer le fichier $red5/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml en $red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
  • Editer ce dernier pour ajouter les paramètres de connexon de base de donnée MySLQ, la partie la plus importante étant:
 <property name= »openjpa.ConnectionProperties »
value= »DriverClassName=com.mysql.jdbc.Driver
, Url=jdbc:mysql://localhost:3306/openmeetings?autoReconnect=true&amp;useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf-8&amp;connectionCollation=utf8_general_ci&amp;cachePrepStmts=true&amp;cacheCallableStatements=true&amp;cacheServerConfiguration=true&amp;useLocalSessionState=true&amp;elideSetAutoCommits=true&amp;alwaysSendSetIsolation=false&amp;enableQueryTimeouts=false&amp;prepStmtCacheSize=3000&amp;prepStmtCacheSqlLimit=1000
, MaxActive=100
, MaxWait=10000
, TestOnBorrow=true
, poolPreparedStatements=true
, Username=DatabaseUsername
, Password=DatabaseUsernamePassword« />

Installation d’OpenMeetings

Démarrer le serveur OpenMeetings:

# cd /opt/red5
# sh ./red5.sh

Openmeeting est maintenant lancé. Pour continuer la configuration, saisir dans un navigateur internet l’adresse suivante http://ip.de.votre.serveur:5080/openmeetings/install

Vous obtenez une page d’information vous rappelant tout les modules complémentaires etc… que nous avons installé en prérequis, cliquer sur Continue with STEP1. Compléter a minima les champs UserData et Organisation. Vous pouvez aussi spécifier les paramètres SMTP mais tout ceci peut être réalisé par la suite. La phase d’installation dure quelques minutes et ensuite vous pourrez vous logger sur l’interface avec le compte créer précédemment.

Automatisation du lancement d’OpenMeetings

Durant l’installation nous avions lancé le serveur manuellement… on va automatiser ceci en récupérant le code du script de startup à cette adresse et le coller dans /etc/init.d/red5.

Effectuer ensuite les opération suivantes afin de rendre les scripts exécutables et au démarrage:

# chmod 755 /opt/red5/red5.sh /Etc/init.d/red5
# update-rc.d red5 defaults

Votre serveur devrait être opérationnel dès le prochain redémarrage.

Interconnexion avec Active Directory

Nous allons maintenant configuré OpenMeetings afin que les utilisateurs de notre AD (en version 2008) puissent accéder en SSO à ce dernier.

Il faut dans un premier temps créer un fichier de configuration en utilisant le template om_ldap.cfg dans /opt/red5/webapps/openmeetings/conf.

# cp /opt/red5/webapps/openmeetings/conf/om_ldap.cfg /opt/red5/webapps/openmeetings/conf/om_ad.cfg
# vi /opt/red5/webapps/openmeetings/conf/om_ad.cfg

Puis modifier les lignes suivantes suivant votre installation (attention à bien être sur des chemins AD):

# Supported values are « OpenLDAP » and « AD » for Active Directory (defaults to AD).
ldap_server_type=AD
ldap_conn_url=ldap://@IP_of_your_server:389 ldap://@IP_of_your_secondary_server:389
#Login distinguished name (DN) for Authentification on LDAP Server – keep emtpy if not requiered
# Use DN with with « : » instead of « = ». The conversion will be done in OM
ldap_admin_dn=CN:Openmeetings Bind,CN:Users,DC:domain,DC:local
#Loginpass for Authentification on LDAP Server – keep emtpy if not requiered
ldap_passwd=your_password
#base to search for userdata(of user, that wants to login)
# Use DN with with « : » instead of « = ». The conversion will be done in OM
ldap_search_base=DC:domain,DC:local
# Fieldnames (can differ between Ldap servers)
field_user_principal=userPrincipalName
#  When using NONE, the Ldap server is not used for authentication
ldap_auth_type=SIMPLE
# Ldap-password synchronization to OM DB
#  Set this to ‘yes’ if you want OM to synchronize the user Ldap-password to OM’s internal DB
#  This enables local login of users if the ldap server is offline.
#  If you want to disable the feature, set this to ‘no’.
#  Defautl value is ‘yes’
ldap_sync_password_to_om=no
# Ldap ignore upper/lower case, convert all input to lower case
ldap_use_lower_case=false

Ensuite au sein de l’interface Web dans Administration/Ldap créer une nouvelle configuration en lui attribuant un nom, le fichier de configuration et l’option ajouter le domaine avec ce dernier de renseigné:

om_ad_conf

Mots-clés : , , ,

kiolul