Archives par mot-clé : git

Mise à jour Moodle par git : problème de git

Sur une toute nouvelle installation de Moodle, mon git pull ne voulait pas fonctionner :

error: Your local changes to the following files would be overwritten by checkout: [list of files changed in the active branch] Please, commit your changes or stash them before you can switch branches. Aborting

Pour savoir ce qui se passe, j'ai fait un git status, puis un git diff.

old mode 100755  
new mode 100644

Ça m'a permis de comprendre que le problème ne venait pas des fichiers en eux même, mais des droits apposés aux fichiers qui ne correspondaient pas.

J'ai donc configuré git pour ne pas prendre en compte les changements de mod.

git config core.filemode false

 

Mise à jour Moodle 2.3 vers Moodle 2.5 par GIT

Résumé des opérations effectuées.

Sauvegarde

tar -czf /home/moodle/save_rep_moodle_data.tar.gz /home/moodle/upload
tar -czf /home/moodle/save_rep_moodle.tar.gz /var/www/html/moodle
mysqldump -uUSERNAME -pPASSWORD -e -q -Q --add-drop-table moodle | gzip > /home/moodle/save_bdd_moodle.sql.gz

Optimisation de la base de données

mysqlcheck --auto-repair --database moodle
mysqlcheck --optimize --database moodle

Mise à jour par GIT

cd /var/www/html/moodle
/usr/bin/php admin/cli/maintenance.php --enable
git pull
/usr/bin/php admin/cli/upgrade.php
git branch -a
git checkout -b local_25_STABLE origin/MOODLE_25_STABLE
/usr/bin/php admin/cli/upgrade.php
/usr/bin/php admin/cli/maintenance.php --disable

En savoir plus...

Upgrading Moodle 2.1 → Moodle 2.3 avec GIT

Je suis resté toute l'année scolaire précédente sur la version 2.1 : je n'ai pas voulu tenter le diable avec la 2.2, déjà que le passage de la 1.9 en 2.1 a perturbé quelques utilisateurs...
Par contre, les nouveautés de la 2.3 soint TRÈS alléchantes... Alors, je profite de cette fin de vacances (ou début d'année scolaire ?) pour faire la mise à jour...

NB : D'après la lecture de la doc, il est nécessaire de passer par une version 2.2 avant de passer en 2.3.
J'en profite pour tester les tâches administratives en ligne de commande !

Vérifications

  1. Vérifiez que votre serveur puisse accueillir la version 2.3 : Administration du site / Serveur / Environnement. S'il ne vous propose pas la vérification pour la version voulue, il le fera après une première mise à jour, il faudra alors retenter le coup plus tard...
  2. Vérifiez que les plugins que vous utilisez soient disponibles ou compatibles avec la version 2.3.

Sécurité avant tout

Effectuez une sauvegarde de votre Moodle.
Il est conseillé de vérifier que votre base est en bon état avant de faire un upgrade.
Passage du site en mode maintenance

cd /var/www/html/moodle
/usr/bin/php admin/cli/maintenance.php --enable

Mise à jour antérieure à l'upgrade

Pour démarrer avec quelque chose de sain...

git pull
/usr/bin/php admin/cli/upgrade.php

Passage de 2.1 en 2.2

Changement de version, puis upgrade.
git branch -a
git checkout -b local_22_STABLE origin/MOODLE_22_STABLE
/usr/bin/php admin/cli/upgrade.php

Le première ligne permet simplement de voir ce qui est disponible, elle est donc facultative.

Passage de 2.2 en 2.3

Même démarche...
git checkout -b local_23_STABLE origin/MOODLE_23_STABLE
/usr/bin/php admin/cli/upgrade.php

Update des plugins

Update des plugins avec une version compatible (dépend de la façon dont vous avez installé les plugins...).

  • soit par GIT, puis visite de la page de notification,
  • soit par upload FTP, puis visite de la page de notification.

Restauration du site

Un petit test du site, du thème... puis retour au mode production.

/usr/bin/php admin/cli/maintenance.php --disable

Au cas où...

Une petite sauvegarde avec un Moodle updaté fonctionnel ?

Sources :
http://docs.moodle.org/23/en/CLI

Installation de SPIP par Git

Illustration sur un Ubuntu, avec LAMP et Git déjà installés.

Récupération des sources, puis choix de la version.

cd /var/www/
sudo git clone http://git.spip.org/spip.git/
sudo chown -R www-data:www-data spip/
cd spip
sudo git checkout spip-2.1
sudo git pull

Installation du site

  1. Avec un navigateur, se rendre sur la page http://localhost/spip/ecrire
  2. Choix de la langue.
  3. Configuration de la BDD.
  4. Configuration de l'utilisateur de base.

Sources :
http://core.spip.org/projects/spip/wiki/#SPIP-sous-Git-comment-ça-marche-

Mise à jour de Moodle 1.9.3 maintenue par CVS → 2.1 maintenue par GIT

Mise à jour du serveur Centos

Upgrade php et installation des modules php nécessaires (Serveur / Environnement / Version 2.1 et plus)

yum install php
yum install php-xmlrpc
yum install php-intl
yum install php-soap
service httpd restart

Sauvegarde

Moodledata : copie du répertoire

tar -czf /home/moodle/save_rep_moodle_data.tar.gz /home/moodle/upload

Moodle : copie du répertoire

tar -czf /home/moodle/save_rep_moodle.tar.gz /var/www/html/moodle

MySql : dump de la base SQL

mysqldump -uUSERNAME -pPASSWORD -e -q -Q --add-drop-table moodle | gzip > /home/moodle/save_bdd_moodle.sql.gz

Nettoyage

Suppression des plugins pas importants (sous utilisés, voir déjà masqués car seulement testés, ou inutiles car remplacés en natif dans la version 2) : suppression sous moodle, puis dans l’arborescence.
Vérification de la présence des plugins importants pour la version 2.1 (en ce qui me concerne : feedback → OK)
Retour au thème standard (Présentation / Thèmes / Sélecteur de thème / Standard)
Mise en pause du site (Serveur / Mode de maintenance / Écrire votre message puis Activer)

Upgrade

Suppression de l’ancien répertoire Moodle

cd /var/www/html/
cp -R moodle moodle_save
rm -rf moodle

Aller dans le répertoire parent

cd /var/www/html/

Giter moodle (port du git à ouvrir WAN <-> DMZ : 9418 TCP & UDP)

git clone git://git.moodle.org/moodle.git
cd moodle
git branch -a
git checkout -b local_21_STABLE origin/MOODLE_21_STABLE
cp config-dist.php config.php

Configurer le config.php en prenant exemple sur l’ancien config.php

Lancer le site -> procédure de mise à jour

Tester la connexion CAS
Choisir le langage
Choisir le thème
Ouvrir le site & aller sur notification pour rentrer tous les nouveaux paramètres
Activer / Désactiver les plugins
Dépot à ajouter :

  • Dropbox
  • GoogleDocs
  • Picasa
  • Youtube

Enregistrer le site sur MOOCH
Tester un cours
Configurer la barre de lien (menu)
Faire une annonce pour la mise à jour (activités conditionnelles, achèvement d’activités, dépôts de fichiers, multiplication d’items)
Google analytics (HTML additionnel)

Sauvegarde post upgrade

Moodledata : copie du répertoire

tar -czf /home/moodle/save_rep_moodle_21_data.tar.gz /home/moodle/upload

Moodle : copie du répertoire

tar -czf /home/moodle/save_rep_moodle_21.tar.gz /var/www/html/moodle

MySql : dump de la base SQL

mysqldump -uUSERNAME -pPASSWORD -e -q -Q --add-drop-table moodle | gzip > /home/moodle/save_bdd_moodle_21.sql.gz

Pour la suite...

Mise à jour de moodle par GIT : 

cd /var/www/html/moodle/
git pull

Visiter la page de notification.

NB :
Cette expérience m'a ensuite permis de créer une doc sur MoodleDocs :