Personal tools
You are here: Home GNU / Linux Debian 4.0 Etch Installer la suite e-learning Dokeos sur Debian 4.0 Etch
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer la suite e-learning Dokeos sur Debian 4.0 Etch

by Pierre-Yves Landuré last modified 2011-08-18 13:12

Dokeos est une suite e-learning Open Source compatible avec la norme SCORM. Ecrite en PHP, elle est complète, performante, et simple à mettre en oeuvre. Cet article vous guide au cours de sa mise en place sur un serveur Debian 4.0 Etch.

Pré-requis

En premier lieu, vous devez installer un serveur HTTP avec le support du PHP. Pour ce faire, vous pouvez suivre mon guide Installer Lighttpd et PHP 5 sur Debian 4.0 Etch.

Configuration de MySQL

Dokeos nécessite l'installation d'un serveur MySQL. Pour ce faire, vous pouvez suivre mon guide MySQL sur Debian 4.0 Etch.

Attention: Ne créez aucune base de données DOKEOS, ni utilisateur associé en suivant ce guide.

Contrairement à la plupart des applications que vous avez pu rencontrer, la configuration par défaut de Dokeos est de pouvoir créer ses propres bases de données. Cela implique qu'il dispose d'un utilisateur capable de créer ces bases de données.

Remarque: Il est possible d'utiliser Dokeos avec une seule base de données, mais cela peut poser des problèmes par la suite.

Nous allons donc créer un compte MySQL pour Dokeos avec la permission de créer des bases de données.

Si ce n'est déjà fait, nous commençons par installer apg et les clients MySQL:

/usr/bin/apt-get install apg mysql-client

Nous renseignons les paramètres de connexion de notre utilisateur Dokeos:

MYSQL_USERNAME=dokeos
MYSQL_USERPWD=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Nous affichons l'identifiant et le mot de passe de l'utilisateur pour Dokeos :

echo "L'utilisateur créé pour l'application Dokeos est '$MYSQL_USERNAME' avec le mot de passe '$MYSQL_USERPWD'."

Attention: Notez les informations affichées et conservez les précieusement !

Enfin, nous créons l'utilisateur et réglons ses habilitations.

echo "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
            INDEX, ALTER, CREATE TEMPORARY TABLES,
            CREATE VIEW, SHOW VIEW, CREATE ROUTINE,
            ALTER ROUTINE, EXECUTE
    ON \`dokeos_%\`.* TO '$MYSQL_USERNAME'@'localhost'
    IDENTIFIED BY '$MYSQL_USERPWD';" \
  | mysql --user=root --password

Configuration de PHP

Une fois la base de donnée créée, nous reprenons le court normal des choses. Vous devez installer les extensions PHP et autres logiciels nécessaires:

/usr/bin/apt-get install php5-mysql php5-gd unzip

Nous modifions certains des paramètres par défaut de PHP:

  • Pour LigHTTPd:
    /bin/sed -i -e 's/memory_limit = .*/memory_limit = 256M/' /etc/php5/cgi/php.ini
    /bin/sed -i -e 's/display_errors = .*/display_errors = Off/' /etc/php5/cgi/php.ini
    /bin/sed -i -e 's/post_max_size = .*/post_max_size = 108M/' /etc/php5/cgi/php.ini
    /bin/sed -i -e 's/upload_max_filesize = .*/upload_max_filesize = 100M/' /etc/php5/cgi/php.ini
    /bin/sed -i -e 's/max_execution_time = .*/max_execution_time = 300/' /etc/php5/cgi/php.ini
    /bin/sed -i -e 's/max_input_time = .*/max_input_time = 600/' /etc/php5/cgi/php.ini
    
  • Pour Apache 2:
    /bin/sed -i -e 's/memory_limit = .*/memory_limit = 256M/' /etc/php5/apache2/php.ini
    /bin/sed -i -e 's/display_errors = .*/display_errors = Off/' /etc/php5/apache2/php.ini
    /bin/sed -i -e 's/post_max_size = .*/post_max_size = 108M/' /etc/php5/apache2/php.ini
    /bin/sed -i -e 's/upload_max_filesize = .*/upload_max_filesize = 100M/' /etc/php5/apache2/php.ini
    /bin/sed -i -e 's/max_execution_time = .*/max_execution_time = 300/' /etc/php5/apache2/php.ini
    /bin/sed -i -e 's/max_input_time = .*/max_input_time = 600/' /etc/php5/apache2/php.ini

N'oubliez pas de redémarrer votre serveur HTTP pour prendre en compte les nouveaux modules PHP. Par exemple, si vous utilisez LigHTTPd, exécutez:

/etc/init.d/lighttpd force-reload

Installation

En premier lieu, sélectionnez la version de Dokeos a installer:

VERSION=1.8.5

Et nous téléchargeons les sources:

/usr/bin/wget http://www.dokeos.com/download/dokeos-$VERSION.zip  \
    --output-document=/tmp/dokeos-$VERSION.zip

Ensuite, nous décompressons l'archive:

/usr/bin/unzip -d /tmp /tmp/dokeos-$VERSION.zip

Et nous déplaçons le dossier ainsi créé vers son emplacement définitif:

/bin/mv /tmp/dokeos-$VERSION /opt/dokeos

Nous modifions les permissions par défaut afin de les adapter à notre système:

/bin/chown -R root:root /opt/dokeos
/usr/bin/find /opt/dokeos/ -type d | /usr/bin/xargs /bin/chmod 755
/usr/bin/find /opt/dokeos/ -type f | /usr/bin/xargs /bin/chmod 644

Nous donnons la propriété de certains dossiers à l'utilisateur du serveur HTTP afin qu'il puisse les modifier:

/bin/chown www-data:www-data /opt/dokeos/main/inc/conf
/bin/chown www-data:www-data /opt/dokeos/main/garbage
/bin/chown www-data:www-data /opt/dokeos/main/upload
/bin/chown www-data:www-data /opt/dokeos/main/css
/bin/chown www-data:www-data /opt/dokeos/main/default_course_document/images/
/bin/chown www-data:www-data /opt/dokeos/archive
/bin/chown www-data:www-data /opt/dokeos/courses
/bin/chown www-data:www-data /opt/dokeos/home
/bin/chown www-data:www-data /opt/dokeos/home/*.html
if [ -e /opt/dokeos/main/inc/conf/configuration.php ]; then
  /bin/chown www-data:www-data /opt/dokeos/main/inc/conf/configuration.php
fi

Faites en sorte que Dokeos soit disponible depuis votre serveur HTTP:

/bin/ln -s /opt/dokeos /var/www/dokeos

Connectez-vous à votre serveur HTTP avec un navigateur pour lancer l'installation de Dokeos:

http://localhost/dokeos/

Dans l'étape 2 sur 6, celle des pré-requis, cliquez sur le bouton "Nouvelle installation" situé en bas de la page.

Lorsque vous arriverez à l'étape de configuration de la base de données, voici ce à quoi doit ressembler votre écran, une fois votre saisie terminée:

Configuration MySQL Dokeos

Poursuivez l'installation. Une fois celle-ci terminée, sécurisez votre installation de Dokeos en exécutant les commandes suivantes:

/bin/chmod ugo-w /opt/dokeos/main/inc/conf/configuration.php
/bin/rm -r /opt/dokeos/main/install

Bug d'installation des plugins dans Dokeos 1.8.5

Afin de corriger le mécanisme d'installation des plugins de Dokeos 1.8.5, exécutez la ligne de commande suivante:

/bin/sed -i -e "535s/^.*\$/api_add_setting(\$form_name_elements['0'],\$form_name_elements['1'],\$form_name_elements['0'],null,'Plugins',\$form_name_elements['0'],null,null,null,\$_configuration['access_url'],1);/" \
    /opt/dokeos/main/admin/settings.php

Pour plus d'information, visitez: FS#2771 - Plugin activation bug - SQL error.

Mise en place de l'import de documents PowerPoint

Dokeos permet de créer des cours à partir de documents PowerPoint via le plugin Oogie Woogie. Ce plugin nécessite l'installation de Java et de Open Office.

Si ce n'est déjà fait, nous installons Java:

/usr/bin/apt-get install sun-java5-jre sun-java5-fonts

Et nous en faisons la machine virtuelle par défaut:

/usr/sbin/update-java-alternatives --set java-1.5.0-sun

Nous installons OpenOffice.org en tant que service. Pour ce faire, installez les composants nécessaires:

/usr/bin/apt-get install xvfb openoffice.org xbase-clients

Et nous installons les polices nécessaire à X:

/usr/bin/apt-get --reinstall install xfonts-base

Et nous installons les polices Microsoft pour améliorer le rendu des documents PowerPoint:

/usr/bin/apt-get install msttcorefonts

Configurez OpenOffice.org pour activer son mode service:

/bin/sed -i -e '/ooSetupShowIntro/i\
<prop oor:name="ooSetupConnectionURL">\
<value>socket,host=localhost,port=2002;urp;StarOffice.ServiceManager</value>\
</prop>' \
/usr/lib/openoffice/share/registry/data/org/openoffice/Setup.xcu

Téléchargez et installez le script init.d de contrôle du service:

/usr/bin/wget http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-la-suite-e-learning-dokeos-sur-debian-4-0-etch/ooo-server \
    --output-document=/etc/init.d/ooo-server
/bin/chmod +x /etc/init.d/ooo-server

Créez l'utilisateur système destiné à exécuter le serveur

/usr/sbin/adduser --system --home /var/lib/ooo-server oooserver

Et ajoutez le au démarrage du système:

/usr/sbin/update-rc.d ooo-server defaults

Et enfin, démarrez le serveur:

/etc/init.d/ooo-server start

Une fois ceci fait, configurez Dokeos pour utiliser ce service. Pour ce faire, visitez la page de configuration de Oogie Woogie:

http://localhost/dokeos/main/admin/configure_extensions.php?display=ppt2lp

Et saisissez les paramètres suivants:

  • Hôte: localhost
  • Port: 2002

Les autres champs peuvent rester vide.

Remarque: Si vous comptez installer le module de vidéo-conférence, vous pouvez l'utiliser pour enregistrer une version audio de vos cours. Pour ce faire renseignez la valeur suivante:

  • Chemin vers les fichiers OpenLaszlo LZX: /main/conference/recorder2.swf

Mise en place du module de vidéo-conférence

Dokeos permet d'organiser des formations en vidéo conférence. Les cours Dokeos servent alors de support de formation. Pour activer cette fonctionnalité, il faut installer un certain nombre de logiciels suplémentaires.

Installation de Red5

 

En premier lieu, il vous faut installer le serveur Flash Open Source Red 5. Pour ce faire, nous avons besoin de Java:

/usr/bin/apt-get install sun-java5-jre sun-java5-fonts

Et nous en faisons la machine virtuelle par défaut:

/usr/sbin/update-java-alternatives --set java-1.5.0-sun

Téléchargez le paquet Debian de la version 0.6.3 de Red5 (les applications Dokeos ne fonctionnent pas sur les versions postérieures):

/usr/bin/wget http://dl.fancycode.com/red5/0.6.3/debian/red5_0.6.3-1_all.deb \
    --output-document=/tmp/red5_0.6.3-1_all.deb

Et installez le:

/usr/bin/dpkg -i /tmp/red5_0.6.3-1_all.deb

Remarque: par défaut, Red5 écoute sur le port 5080 pour le protocole HTTP et 8443 pour le protocole HTTPS. Cette configuration peut être modifiée dans les fichiers red5.xml, red5-rtmpt.xml, red5-origin.xml et red5.properties du dossier /usr/lib/red5/conf (Un jour, les gens apprendrons à faire des paquets Debian proprement.....)

Nous créons un mot de passe aléatoire pour l'utilisateur d'administration de Red5:

RED5_PASSWORD=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Nous l'affichons:

/bin/echo "Le mot de passe de l'utilisateur 'admin' du serveur Red5 est : '$RED5_PASSWORD'"

Remarque: Conservez ce mot de passe précieusement.

Et nous le mettons en place:

/bin/sed -i -e "s/^\(admin: \)[^,]*\(,.*\)$/\1$RED5_PASSWORD\2/" /usr/lib/red5/conf/realm.properties

Redémarrez le serveur Red5 pour prendre en compte toutes ces modifications:

/etc/init.d/red5 restart

Installation du module Dokeos Recorder

Nous téléchargeons le module Dokeos Recorder pour Red5. Pour ce faire, nous précisons la version que nous souhaitons installer:

VERSION=2.0.0-M2

Et nous lanceons le téléchargement:

/usr/bin/wget http://www.dokeos.com/maven/repository/com/dokeos/dokeos-recorder/${VERSION}/dokeos-recorder-${VERSION}.war \
    --output-document=/usr/lib/red5/webapps/dokeos-recorder.war
/usr/bin/wget http://www.dokeos.com/maven/repository/com/dokeos/dokeos-videoconf/${VERSION}/dokeos-videoconf-${VERSION}.war \
    --output-document=/usr/lib/red5/webapps/dokeos-videoconf.war

Nous créons le fichier de configuration de l'application Red5 dokeos-recorder:

/bin/mkdir --parent /etc/dokeos
/bin/echo '<?xml version="1.0" encoding="UTF-8"?>
<recorder-config>
  <video-streams-dir>/opt/dokeos/recorded-streams</video-streams-dir>
  <vod-streams-dir>/opt/dokeos/vod-streams</vod-streams-dir>
</recorder-config>' \
    | /usr/bin/tee /etc/dokeos/recorder-config.xml

Nous créons le fichier de configuration de l'application Red5 dokeos-videoconf:

/bin/mkdir --parent /etc/dokeos
/bin/echo '<?xml version="1.0" encoding="UTF-8"?>
<videoconference-config>
  <server-keys>
  </server-keys>
  <moderator-check-on-whiteboard>false</moderator-check-on-whiteboard>
  <video-streams-dir>/opt/dokeos/recorded-streams</video-streams-dir>
  <vod-streams-dir>/opt/dokeos/vod-streams</vod-streams-dir>
</videoconference-config>' \
    | /usr/bin/tee /etc/dokeos/videoconference-config.xml

Dans les deux fichiers de configuration ci-avant, les dossiers suivants sont défini:

  • video-streams-dir est le dossier ou sont enregistrés les flux. Par défaut: /opt/dokeos/recorded-streams
  • vod-streams-dir est le dossier où sont cherché les flux lus. Par défaut: /opt/dokeos/vod-streams

Nous renseignons l'URL de notre installation Dokeos:

URL="http://www.domaine.com/dokeos"

Nous mettons à jour le fichier ainsi créé avec les URL des instances Dokeos:

CLEAN_URL=$(/bin/echo $URL \
         | /bin/sed -e 's|^http[s]\{0,1\}://||' \
                    -e 's|/|_|g' \
                    -e 's|_$||g' \
                    -e 's|.*|\0_|')
DOMAIN_NAME=$(/bin/echo $URL | /bin/sed -e 's|^http://\([^/]*\).*|\1|')
PASSWORD=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)
/bin/sed -i -e "/<server-keys>/a\
    <server-key host=\"${CLEAN_URL}\" key=\"${PASSWORD}\" />" \
    /etc/dokeos/videoconference-config.xml
/bin/echo "Les parametres pour configurer la video-conference sont:
- Nom d'hote: ${DOMAIN_NAME}
- Port : 1935
- Mot de passe: ${PASSWORD}"

Cette ligne de commande vous fournit les paramètres à saisir dans la page de configuration de la vidéo-conférence dans l'interface d'administration de Dokeos:

Important: Si vous êtes derrière un pare-feu, n'oubliez pas d'ouvrir le port RMTP 1935 vers votre serveur Red5.

Une fois ceci fait, nous redémarreons le service Red5 pour prendre en compte la configuration:

/etc/init.d/red5 stop
/etc/init.d/red5 start

Configuration des journaux de Red5

Remarque: cette étape est optionnelle.

Afin de facilité l'étude des éventuels problèmes, vous pouvez activer la fonctionnalité de journal de Red5. Pour ce faire,nous modifions le fichier adéquat:

/bin/sed -i -e 's/^log4j\.rootCategory.*/#\0/' \
            -e '/log4j\.rootCategory/a\
log4j.rootCategory=DEBUG, FLOG' \
            -e 's|^\(log4j\.appender.FLOG.File=\).*$|\1/var/log/red5.log|' \
    /usr/lib/red5/conf/log4j.properties

Redémarrez Red5 pour prendre en compte ces modifications:

 

/etc/init.d/red5 stop
/etc/init.d/red5 start

Vous devriez maintenant trouver les journaux de Red5 dans le fichier /var/log/red5.log:

/usr/bin/tail -f /var/log/red5.log

Remerciements

Images
Attachments

Merci

Posted by Fabrice at 2009-03-03 15:18
Merci pour ce tutoriel très instructif, j'ai résolu beaucoup de problèmes sur mon Dokeos et notamment sur Woogie avec le service ooo-server disponible ici.

BlogBang
Navigation
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards:

Wikio