Sommaire
IP: 178.33.46.103
Situation actuelle
- Plateforme moodle 2.2.1 (Build: 20120109) situé dans un hébergement mutualisé
- 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 <willy@moodle.refer.org> not allowed => mise à jour nom dans /etc/passwd 1
- l'arborescence /etc n'était pas suivie,
- quelques soucis:
- 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'installation notamment la section dédiée à PHP pour 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'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
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName cefeb.auf-foad.org DocumentRoot /srv/www/moodleCEFEB <Directory /srv/www/moodleCEFEB> Options Indexes AllowOverride None Order allow,deny # allow from 81.80.123.130 allow from All </Directory> ErrorLog ${APACHE_LOG_DIR}/moodle-CEFEB0_error.log Alias /moodleCEFEB /srv/moodledata/cefeb LogLevel warn CustomLog ${APACHE_LOG_DIR}/moodle-CEFEB0_access.log combined </VirtualHost>
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
1 <?php
2
3 unset($CFG);
4 global $CFG;
5 $CFG = new stdClass();
6
7 $CFG->dbtype = 'mysqli';
8 $CFG->dblibrary = 'native';
9 $CFG->dbhost = 'localhost';
10 $CFG->dbname = 'moodle';
11 $CFG->dbuser = 'xxxx';
12 $CFG->dbpass = 'xxxx';
13 $CFG->prefix = 'mdl_cef';
14 $CFG->dboptions = array (
15 'dbpersist' => 0,
16 'dbsocket' => 0,
17 );
18
19 $CFG->wwwroot = 'http://cefeb.auf-foad.org';
20 $CFG->dataroot = '/srv/moodledata/cefeb';
21 $CFG->admin = 'admin';
22
23 $CFG->directorypermissions = 0750;
24
25 $CFG->passwordsaltmain = 'xxxx';
26 $CFG->passwordsaltalt1 = 'xxx';
27
28 require_once(dirname(__FILE__) . '/lib/setup.php');