<> IP: '''178.33.46.103''' = Situation actuelle = * Plateforme moodle 2.2.1 (Build: 20120109) situé dans un hébergement mutualisé * url http://www.auf-foad.org/moodleCEFEB/ * L'ouverture de fichiers génère des erreurs. Anomalie signalée par David Violette le 24-05-2012 dans la liste tech@ . = Des notes sur l'installation = On est parti sur l'installation d'une plateforme Moodle (`2.2.3`) dans un CT avec un serveur MySQL inclus. == Premiers réglages pour le suivi == * installation de auf-git-etc * quelques soucis: * l'arborescence /etc n'était pas suivie, * création du groupe 'admin' sur le serveur * erreur `fatal: empty ident not allowed` => mise à jour nom dans /etc/passwd <> * utilisation locale fr_UTF-8 et mise à défaut == Installation et configuration de base des principaux services == {{{ willy@moodle:/etc$ sudo apt-get install apache2-mpm-itk mysql-server php5 Les paquets supplémentaires suivants seront installés : apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libonig2 libplrpc-perl libqdbm14 mysql-client-5.1 mysql-common mysql-server-5.1 mysql-server-core-5.1 php5-cli php5-common php5-suhosin psmisc Paquets suggérés : apache2-doc apache2-suexec apache2-suexec-custom php-pear libipc-sharedcache-perl libterm-readkey-perl tinyca Les NOUVEAUX paquets suivants seront installés : apache2-mpm-itk apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libonig2 libplrpc-perl libqdbm14 mysql-client-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 php5 php5-cli php5-common php5-suhosin psmisc }}} Suivre la documentation officielle de Moodle relative à l'[[http://docs.moodle.org/21/en/Installing_Moodle|installation]] notamment la section dédiée à PHP pour [[http://docs.moodle.org/21/en/PHP|les extensions]] Ce qui donne à peu près ceci : {{{ willy@moodle:/etc$ sudo apt-get install php5-curl php5-mysql php5-xmlrpc php-soap php5-gd php5-intl Les paquets supplémentaires suivants seront installés : libcurl3 libgd2-xpm libicu44 libjpeg62 libssh2-1 libt1-5 php-auth-sasl php-http-request php-mail php-mail-mime php-mail-mimedecode php-net-dime php-net-smtp php-net-socket php-net-url php-pear Paquets suggérés : libgd-tools php5-dev Les NOUVEAUX paquets suivants seront installés : libcurl3 libgd2-xpm libicu44 libjpeg62 libssh2-1 libt1-5 php-auth-sasl php-http-request php-mail php-mail-mime php-mail-mimedecode php-net-dime php-net-smtp php-net-socket php-net-url php-pear php-soap php5-curl php5-gd php5-intl php5-mysql php5-xmlrpc }}} /!\ Veiller à l'utilisation d'[[Etude/Unicode|unicode ]] pour Apache et MySQL == Constats et résolutions == * Recopie de tout le dossier web moodle en version 2.2.1 sur le nouveau serveur => * L'erreur constatée n'est plus reproduite * un problème avec des ''liens en dur'' sur certaines ressources. Elles pointent sur http://www.auf-foad.org/moodleCEFEB/ * Installation via le web de la dernière version de moodle à ce moment là => * /!\ Obligation de mettre le repertoire de données `moodledata` en dehors du repertoire web du vhost * L'erreur constatée n'est plus reproduite * un problème avec des ''liens en dur'' sur certaines ressources. Elles pointent sur http://www.auf-foad.org/moodleCEFEB/ * L'authentification des utilisateurs de la plateforme ne passe pas. * Une requête SQL pour changer le mot de passe d'un utilisateur en utilisant `MD5` résoud le soucis `update mdl_cefuser set password=MD5('moi') where username='moi'; ` . C'est pas joli ça :\ * /!\ Solution: explication dans `config-dist.php`. Il faut mettre le contenu de la variable `$CFG->passwordsaltmain` de l'ancien serveur dans une variable `$CFG->passwordsaltalt1` * Les adresses du type http://www.auf-foad.org/moodleXXXX/ pose un soucis pour la migration prévue => * Mettre en place une redirection dans un fichier .htacess sur l' ''ancien site'' * Sur le nouveau serveur web , qu'on contrôle :) , ajout d'un alias sur le `/moodleCEFEB` afin qu'il pointe sur le repertoire de données afin de contrer les appels ''en dur'' * On a téléversé manuellement les fichiers dont les liens étaient en dur sur le nouveau serveur afin de ne plus avoir de problème avec les liens en dur == Configuration du vhost AU FINAL == {{{ ServerAdmin webmaster@localhost ServerName cefeb.auf-foad.org DocumentRoot /srv/www/moodleCEFEB Options Indexes AllowOverride None Order allow,deny # allow from 81.80.123.130 allow from All ErrorLog ${APACHE_LOG_DIR}/moodle-CEFEB0_error.log Alias /moodleCEFEB /srv/moodledata/cefeb LogLevel warn CustomLog ${APACHE_LOG_DIR}/moodle-CEFEB0_access.log combined }}} == moodle: config.php == * /!\ Prendre soin de ne pas mettre le repertoire des données dans celui du projet web. C'est certainement ce qui explique les liens en dur que nous avons obtenu {{{#!highlight php dbtype = 'mysqli'; $CFG->dblibrary = 'native'; $CFG->dbhost = 'localhost'; $CFG->dbname = 'moodle'; $CFG->dbuser = 'xxxx'; $CFG->dbpass = 'xxxx'; $CFG->prefix = 'mdl_cef'; $CFG->dboptions = array ( 'dbpersist' => 0, 'dbsocket' => 0, ); $CFG->wwwroot = 'http://cefeb.auf-foad.org'; $CFG->dataroot = '/srv/moodledata/cefeb'; $CFG->admin = 'admin'; $CFG->directorypermissions = 0750; $CFG->passwordsaltmain = 'xxxx'; $CFG->passwordsaltalt1 = 'xxx'; require_once(dirname(__FILE__) . '/lib/setup.php'); }}}