Présentation et installation de Dimdim sur Debian Lenny

I. Présentation

Dimdim est une application intranet-internet de réunion à distance, à l’instar de logiciels comme Netmeeting ou Ekiga. Ainsi, il est possible de diffuser la voix de trois personnes au maximum sur tous les clients, ou de voir la caméra du maître de conférence. Ce dernier peut choisir, en outre, d’afficher :

  • son écran

    • un tableau blanc
    • un document au format PDF
    • un document au format PowerPoint

    Comme toujours, un dessin valant mieux qu’un long discours, voici un screenshot de la page principale du maître de conférence (ici je j’ai pas de webcam, normalement, elle devrait apparaître en bas à gauche de l’écran :

    Vous pouvez également voir quelques vidéos de démonstration de Dimdim sur du site officiel. Attention touefois, les vidéos présentées sont celles de la version 5 qui n’est pas Open Source. Nous installerons la version 4.5. Les différences sont minimes (quelques widgets, des plus pour facebook, …).

    II. Open Source ?

    Cette partie est un petit coup de gueule contre Dimdim (et je suis loin d’être le seul à le penser) ainsi que mon histoire avec Dimdim. Si vous voulez juste connaitre la procédure d’installation, rendez-vous directement au chapitre suivant.

    Dimdim est, à l’origine, une solution commerciale. Il existe plusieurs versions :

  • Une version 5 gratuite (non libre) accessible sur le site de Dimdim uniquement limitée à 20 personnes simultanées

    • Une version 5 Pro (19$ par mois) accessible sur le site de Dimdim uniquement limitée à 50 personnes simultanées
    • Une version 5 Entreprise à (11400$ par an) accessible sur le site de Dimdim uniquement limitée à 1000 personnes simultanées
    • Une version 4.5 Open Source (sous licence GPL) qui n’est pas bridée au niveau des utilisateurs (mais à d’autres niveaux)
      L’offre semble toute trouvée, une version Open Source, gratuite et sans limitations, pourquoi s’en priver. Telle était donc la mission de mon stage (entre autres) : Installer cette version Open Source de Dimdim sur un serveur Debian Lenny . C’est à ce moment que tout se complique !
      Leur politique est claire : Nous voulons bien vous mettre à disposition une version Open Source mais nous n’assurons absolument aucun support technique (ce qui est compréhensible).
      Je me rends donc sur afin d’aller chercher un paquet Debian (enfin je pensais en trouver un).
      Là, première désillusion, aucun paquet Debian n’est disponible, uniquement un paquet prévu pour CentOS (RPM) de la version 4.5 (la dernière version Open Source), une image vmware de cette même version (basée sur CentOS également) et les sources de la version 4.1 !
      "Euh…ouai, c’est tout ?"

    Bon, je me décide à télécharger les sources de la 4.1 (cette version ne doit pas être trop différente de la version 4.5 me dis-je). Je télécharge donc l’archive, l’extrait sur mon serveur, et là, la cerise sur le gâteau : aucune doc, aucun readme, aucune procédure d’installation, bref, rien de rien ! Je savais qu’ils n’assuraient aucun support mais là, j’ai été vraiment déçu.

    Je vais chercher de l’aide sur le forum Open Source du site Dimdim : rien ! A chaque question du genre : "Comment compiler et installer les sources", les réponses étaient toujours : "Ne t’embête pas avec les sources, utilise l’image vmware, elle fonctionne très bien" ou, venant des personnes de chez Dimdim, "utilisez notre version gratuite sur notre site Web, tout fonctionne". Bref, moi je dis que quitte à mettre à disposition une version Open Source, autant qu’ils le fassent bien non ? Pour moi, ils ont mis à disposition cette version uniquement pour se faire un peu de publicité…
    Voila un peu le contexte des mes premiers jours avec Dimdim, comme vous pouvez le voir, ce n’était pas très du tout encourageant !
    Mes recherches sur Internet n’ont également rien données. Bref, j’étais la, avec mes sources sans aucun support !
    Je précise que ces sources n’étaient pas celles habituelles (du genre ./configure, make, make install ). Dimdim étant un mélange de plusieurs technologies avec beaucoup de logiciels embarqués différents (Tomcat car beaucoup de Java, Nginx pour faire office de reverse proxy, perl, python, …). Bref, une grosse galère !

    Après des heures et des heures de recherches infructueuses, je télécharge le paquet RPM à l’origine prévu pour CentOS que je converti grâce au logiciel . J’obtiens donc un paquet deb que j’arrive à installer. Malheureusement, tous les liens sont différents (car prévus pour CentOS) et, pour couronner le tout, je n’ai que très très peu de logs !
    J’ai donc, après une semaine de recherches, de modifications, de réinstallation, mis en place l’image vmware fonctionnelle pour pouvoir comparer les fichiers entre les deux versions…Un vrai travail de !

    Bon, je vous passe les autres détails, j’ai mis pas loin de deux semaines à temps plein pour obtenir un Dimdim fonctionnel sous Debian. Comme j’aurais vraiment voulu avoir un tutoriel digne de ce nom, j’ai décidé de vous en faire un (c’est pas gentil ça) 🙂
    Ce tutoriel est très complet, il explique toutes les étapes, pas à pas, d’une installation Dimdim sur une Debian Lenny. Je l’ai utilisé trois fois pour une installation sur un système vièrge et ai donc pu le paufiner pour que tout fonctionne parfaitement.

    III. Installation

    ! ! My english version of this how-to was added , you can correct it if you see some mistakes ! !

    Prérequis

    Quelques logiciels supplémentaires sont nécessaires à l’utilisation de Dimdim. Voici ces différents logiciels et la manière de les installer :

  • Openoffice.org 3

    Rendez-vous sur la page de téléchargement officielle d’OpenOffice :

    Puis téléchargez un paquet DEB, par exemple, à cette adresse :

    http://download.services.openoffice.org/files/localized/fr/3.2.0/OOo_3.2.0_LinuxIntel_install_fr_deb.tar.gz On enregistre cette archive dans notre répertoire personnel (par exemple) puis :

  • su (nous allons faire toute l’installation de Dimdim en root) *

    • cd ~ (le chemin doit être celui où se trouve votre paquet DEB)
      tar xvf Ooo_3.0.1_LinuxIntel_install_fr_deb.tar.gz
      cd OOO300_m15_native_packed-1_fr.9379/DEBS/
      dpkg -i .deb
  • Java v1.6

    • apt-get install sun-java6-bin *

    Nous allons ensuite modifier les variables d’environnement de notre système

  • echo "JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12" >> /root/.bashrc
    echo "export JAVA_HOME" >> /root/.bashrc *
    Déconnectez-vous de root et reconnectez-vous (afin d’initialiser la variable JAVA_HOME)

    • echo "PATH=$JAVA_HOME/bin:$PATH" >> /root/.bashrc
      echo "export PATH" >> /root/.bashrc *
      Déconnectez-vous de root et reconnectez-vous (afin de ré-initialiser la variable PATH)
  • Tapez la commande "env", vous devez avoir ces lignes :
    PATH=/usr/lib/jvm/java-6-sun-1.6.0.12/bin:/bin:………
    JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12 *

  • Autres programmes

    • apt-get install gawk
      apt-get install python-uno python2.5-dev
      apt-get install unzip
      apt-get install openoffice.org-java-common openoffice.org-headless
      apt-get install binutils build-essential

    Modules Python

    Nous allons ajouter quelques modules nécessaires pour l’utilisation de Dimdim :

  • CherryPy

    Répertoire de téléchargement : http://download.cherrypy.org/cherrypy/

    • wget unzip CherryPy-3.1.0.zip
      cd CherryPy-3.1.0
      chmod +x *
      python2.5 setup.py install
      python2.5

      import cherrypy

        • Ctrl+D *

  • Flup

    • Répertoire de téléchargement : http://www.saddi.com/software/flup/dist/ *

    • wget
      tar xvf flup-1.0.tar.gz
      cd flup-1.0
      chmod +x *
      python2.5 ez_setup.py -U setuptools
      python2.5 setup.py install
      python2.5

      import flup

        • Ctrl+D *

  • Pycurl

    • Répertoire de téléchargement : http://curl.haxx.se/download/ *

    • wget
      tar xvf curl-7.19.0.tar.gz
      cd curl-7.19.0
      ./configure
      make
      make install *

  • ln -s /usr/local/lib/libcurl.so.4 /usr/lib/libcurl.so.4 (le fichier peut déjà être présent, dans ce cas, il faut effacer l’ancienne librairie et mettre le lien de la nouvelle)
    easy_install-2.5 pycurl
    cd ..
    python2.5

    import pycurl

    Ctrl+D *

  • demjson

    Répertoire de téléchargement : http://deron.meranda.us/python/demjson/dist/

    • wget
      tar xvf demjson-1.3.tar.gz
      cd demjson-1.3
      chmod +x *
      python2.5 setup.py install
      python2.5

      import demjson

        • Ctrl+D *

    Téléchargement et installation de Dimdim

    Bien que nous soyons sur une Debian, nous allons télécharger le paquet RPM pour CentOS et non les sources du logiciel.

    Répertoire de téléchargement :

    Rendez-vous donc à cette adresse :
    afin de télécharger cette archive :

    Dimdim_RPM_Package_CentOS_5.2_v4.5.zip

  • unzip Dimdim_RPM_Package_CentOS_5.2_v4.5.zip
    apt-get install alien

    cd Dimdim_RPM_Package_v4.5/
    alien Dimdim-4.5_SF_i386.rpm
    dpkg -i dimdim_4.5-2_i386.deb
    mv /usr/local/dimdim-4.5/ /usr/local/dimdim
    cd /usr/local/dimdim/
    tar xvf CobrowsingManager.tar.gz *

    Modifiactions et derniers réglages

  • Attributions des droits d’exécution

    • chmod +x /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/bin/
      chmod +x /usr/local/dimdim/red5/

      chmod +x /usr/local/dimdim/red5/conf/
      chmod +x /usr/local/dimdim/nginx/sbin/

      chmod +x /usr/local/dimdim/DTP3/Reflector/
      chmod +x /usr/local/dimdim/Mediaserver/mods/

      chmod +x /usr/local/dimdim/Mediaserver/www/pages/
      chmod +x /usr/bin/

      chmod +x /usr/lib/
      chmod +x /usr/local/share/

      chmod +x CobrowsingManager/cob/*
      chmod +x StartDimdim.sh
      chmod +x StopDimdim.sh
      chmod +x Config-ipaddress.pl
  • Modifications des fichiers


    /usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py

    Remplacer : return os.path.dirname(‘/opt/openoffice.org2.4/program/’)
    Par : return os.path.dirname(‘/opt/openoffice.org3/program/’)

    /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf

    Remplacer : wrapper.java.command=DIMDIM_JAVA_HOME/bin/java
    Par : wrapper.java.command=/usr/lib/jvm/java-6-sun-1.6.0.12/bin/java

    /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/server.xml

    Remplacer : <Connector port="DIMDIM_PORT_NUMBER" maxHttpHeaderSize="8192"
    Par : <Connector address="127.0.0.1" port="40000" maxHttpHeaderSize="8192"

    /usr/local/dimdim/StopDimdim.sh

    Remplacer : cd /usr/local/dimdim-4.5/ConferenceServer/apache-tomcat-5.5.17/bin/
    Par : cd /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/bin/

    /usr/local/dimdim/StartDimdim.sh

    Remplacer : cd /usr/local/dimdim-4.5/ConferenceServer/apache-tomcat-5.5.17/bin/
    Par : cd /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/bin/

    /usr/local/dimdim/Mediaserver/mods/interface.py

    Remplacer : #!/usr/bin/python2
    Par : #!/usr/bin/python2.5

    /usr/local/dimdim/CobrowsingManager/cob/startCobServer.sh

    Remplacer : * /usr/local/bin/python2.5

    • Par : * /usr/bin/python2.5

  • Dernières modifications

    • ln -s /usr/lib/libpcre.so.3 /usr/lib/libpcre.so.0
      cp Mediaserver/mods/spawn-fcgi DTP3/Reflector/spawn-fcgi *

    Vérifions nos binaires d’OpenOffice (pour le partage des PPT):
    ls -l /usr/bin/so
    *

    Nous devrions avoir uniquement cette ligne :
    lrwxrwxrwx 1 root root 40 nov 27 13:04 /usr/bin/soffice.bin -> /opt/openoffice.org3/program/soffice.bin

    Il se peut que cette ligne soit présente :
    lrwxrwxrwx 1 root root 40 nov 27 13:04 /usr/bin/soffice -> /opt/openoffice.or………

    Dans ce cas, supprimez cette ligne :

  • rm /usr/bin/soffice *

    Et ajoutez la nouvelle :

  • ln -s /opt/openoffice.org3/program/soffice.bin /usr/bin/soffice.bin *

    Tapez ces commandes pour le partage des PDF

  • cd ThirdPartyPackages/
    tar xvf swftools.tar.gz
    cp swftools/pdf2swf /usr/bin/
    cp swftools/libs/ /usr/lib/
    cp swftools/swfdump /usr/bin/
    cp swftools/swfextract /usr/bin/
    cp -r swftools/swffonts/fonts/ /usr/local/share/swftools/

  • Utilisez enfin le fichier Config-ipaddress.pl : *

    • En réseau local (sans firewall) : ./Config-ipaddress.pl 192.168.1.2 80 (ip privée, port) *

      • A travers un Firewall : ./Config-ipaddress.pl 80 192.168.1.2 (url publique, port, ip privée) *
    • Attention à bien débloquer les ports 80 et 1935 sur votre Firewall.

    Conclusion

    La configuration principale de Dimdim se fait ensuite dans le fichier suivant :
    /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/webapps/dimdim/WEB-INF/classes/resources/dimdim.properties

    Merci à F Maussion pour concernant l’installation de la version 3.5 (je me suis permis de reprendre les lignes de chmod).

    ** Pour ceux qui veulent une version française de Dimdim, j’ai fait une traduction quasi-complète, disons que les 3/4 sont traduits. C’était suffisant pour moi. L’archive est disponible ici : dimdim_french.tar.gz . Attention, je ne suis pas responsable des éventuels problèmes que vous pourrez rencontrer, faites une sauvegarde de vos fichiers d’origine avant tout modification.

    **

    ! ! My english version of this how-to was added , you can correct it if you see some mistakes ! !

Catégories Logiciels