Modifications entre les versions 31 et 42 (s'étendant sur 11 versions)
Version 31 à la date du 2008-02-21 20:22:00
Taille: 7670
Éditeur: ThomasNoël
Commentaire: chamarch
Version 42 à la date du 2015-07-10 19:13:00
Taille: 3694
Commentaire: + correction du bogue d'accents dans les TextCha
Texte supprimé. Texte ajouté.
Ligne 3: Ligne 3:
Machine hôte : Debian Sarge Machine hôte : Debian Etch (VZ), apache2 + mod_wsgi.
Ligne 6: Ligne 6:
Ligne 7: Ligne 8:
 * installation de MoinMoin (dernière version) avec `PREFIX=/usr/local`
 * configuration en mode "Ferme de Wiki" (`farmconfig.py`). Configuration dans `/etc/moinmoin` (dossier ajouté au `sys.path` au début de `moin.cgi`)
 * configuration de apache pour https://wiki.auf.org
 * installation de MoinMoin (dernière version) avec : `python setup.py install --prefix='/usr/local' --record=install.log` :
  * `/usr/local/bin/moin` : lanceur (note : il faut y modifier le sys.path)
  * `/usr/local/lib/python2.4/site-packages/MoinMoin` : le programme lui-même
  * `/usr/local/share/moin/` : données et configs
 * tournera en mode WSGI (mod_wsgi de apache, depuis backports) :
  * `cp /usr/local/share/moin/server/moin.wsgi /etc/moinmoin/`
  * activation dans Apache :
  {{{
 # mod_wsgi (http://code.google.com/p/modwsgi/)
 WSGIScriptAlias /wikiteki /etc/moinmoin/moin.wsgi
 Alias /static/wikitekibeta /var/www/wikitekibeta
}}}
 * création du répertoire `/etc/moinmoin` pour nos configs
  * donc ajouter/modifier la ligne `sys.path.insert(0, '/etc/moinmoin')` dans `/usr/local/bin/moin` et `/etc/moinmoin/moin.wsgi`
 * configuration en mode "Ferme de Wiki" (`farmconfig.py`)
Ligne 11: Ligne 24:
 * activation du mode FastCGI (déjà installé pour RT3... on factorise)
 * modification du certificat de www.auf.org pour ajouter wiki.auf.org et courriel.auf.org en SubjetAltName (cf /etc/apache/openssl.cnf)
 * ajout de quelques themes, pour voir (bof)
 * petite adaptation du thème [[http://moinmo.in/ThemeMarket/Gugiel|Gugiel]] (et avant : [[http://moinmo.in/ThemeMarket/sinorca4moin|sinorca4moin]])
Ligne 15: Ligne 26:
== Upgrade de Moinmoin (changement de version) == == Procédure d'upgrade de Moinmoin (changement de version) ==
Ligne 17: Ligne 28:
 1. faire une sauvegarde de la version courante (répertoires /usr/local/share/moin et /usr/local/lib/python2.3/ notamment)
 1. installation de la nouvelle version (`cd /usr/src/moin[N°-nouvelle-version] && sudo python setup.py --quiet install --prefix="/usr/local" --record=install.log`) après l'avoir téléchargée (http://moinmoin.wikiwikiweb.de/MoinMoinDownload) et désarchivée dans `/usr/src`
 1. sauvegarde de la version courante, c-a-d des répertoires :
  * `/usr/local/share/moin` et `/usr/local/lib/python*/` (ou plus généralement `/usr/local`) : le logiciel
  * `/var/lib/moinmoin/` : les données
  * `/etc/moinmoin` : la configuration
 1. installation de la nouvelle version :
 {{{
# cd /usr/src/moin-X.Y.Z
# python setup.py install --prefix='/usr/local' --record=install.log
}}}
Ligne 20: Ligne 38:
  a. modifier la variable `sys.path.insert` des fichiers `moin.fcg` et `moin.cgi` de la nouvelle version (dans `/usr/local/share/moin/server/` : `moin.cgi` et `moin.fcg`) :
  {{{# Path of the directory where wikiconfig.py is located.
# YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.
sys.path.insert(0, '/etc/moinmoin')
}}}
  a. remplacer l'ancien `htdocs` par la nouvelle version (`/usr/src/moin-[N°-nouvelle-version]/wiki/htdocs` --> `/usr/local/share/moin/`)
 2. puis relancer apache (#apachectl graceful)
 3. s'assurer qu'on est à la bonne version : `https://wiki.auf.org/wikiteki?action=test`
  a. faire un `sys.path.insert` dans `/etc/moinmoin/moin.wsgi` et `/usr/local/bin/moin` (indiquer `sys.path.insert(0, '/etc/moinmoin')`)
  a. remplacer l'ancien `htdocs` par celui de la nouvelle version (`/usr/src/moin-X.Y.Z/wiki/htdocs` -> `/usr/local/share/moin/`)
 1. (éventuellement, si modification de syntaxe : `moin migration data --help`)
 1. puis relancer apache
 1. s'assurer qu'on est à la bonne version : `https://wiki.auf.org/wikiteki?action=test`
   . `action=test` ne marche plus, utiliser plutôt `https://wiki.auf.org/wikiteki/SystemInfo`
 1. faire quelques tests (gestion des acl surtout)
Ligne 29: Ligne 46:
'''NB''' : le système d'upgrade de MoinMoin étant TRÈS tatillon, il vaut mieux, pour patcher un truc, mettre le fichier patché dans /etc/moinmoin ou tout autre répertoire. Ne pas toucher aux sources fournies, sinon l'upgradeur ne les mets pas à jour. Le nouveau système risque, alors , d'être buggé. '''NB''' : le système d'upgrade de MoinMoin étant TRÈS tatillon, il vaut mieux, pour patcher un truc, mettre le fichier patché dans /etc/moinmoin ou tout autre répertoire. Ne pas toucher aux sources fournies, sinon l'upgradeur ne les mets pas à jour. Le nouveau système risque, alors, d'être buggé.
Ligne 31: Ligne 48:
== A étudier ==
 * suppression de `python-dev` (a priori nécessaire uniquement
 * accélération ''mod_python'' ? mais Sarge ne contient que la "vieille" version... FastCGI a l'air de suffire ?
== Corrections par rapport à 1.8.1 ==
 * [[http://hg.moinmo.in/moin/1.8/rev/8cb4d34ccbc1 | Fix AttachFile XSS issues]] (mis en place le 30 janvier 2009)
 * [[http://hg.moinmo.in/moin/1.8/rev/5c4043e651b3 | Fix other AttachFile XSS issues]] (mis en place le 30 janvier 2009)
 * [[http://hg.moinmo.in/moin/1.8/rev/89b91bf87dad | Fix antispam XSS issue]] (mis en place le 30 janvier 2009)
Ligne 36: Ligne 54:
== Panne du 7 novembre suite à mise à jour en 1.5.6 == == Notes pour la 1.9.4 ==
Ligne 38: Ligne 56:
Je (ThomasNoël) n'arrive pas très bien à savoir ce qui c'est
passé (et j'ai pas envie de recommencer à jouer avec le feu).
 1. Moussa a mis à jour MoinMoin en 1.5.6 la veille au soir, mais sans faire le restart apache (et donc on était resté en 1.5.5a via FastCGI)
 1. Mardi 7 matin, j'ai fait un restart d'apache, mais ensuite j'ai juste été voir si ?action=test indiquait bien la version 1.5.6 : je n'ai pas essayé d'éditer de page
 1. Ensuite j'ai voulu optimiser un peu la configuration dans /etc/moinmoin (regrouper les choses dans farmwiki.py)
 1. Là j'ai testé...et toutes les pages étaient devenue "immuables" ! Aïe.
 1. J'ai alors remis l'ancienne conf, mais ça n'a rien changé : ça plantait toujours... Comme si les groupes n'étaient plus reconnus. Mais je ne sais donc pas si c'est l'upgrade ou ma manip qui a cassé le fait que MoinMoin ne reconnaissait plus la notion de "GroupeAUF".
Il y a un bogue avec les TextCha qui empêche l'usage d'accents, cf https://moinmo.in/MoinMoinBugs/1.9.4BreaksTextChaWithAccents
Ligne 46: Ligne 58:
Pour réparer, voici ce que j'ai du faire après plusieurs tentatives infructueuses :
 1. Puisque les "GroupeXXX" ne semblaient plus fonctionner, j'ai ajouter ThomasNoël en dur dans les ACL générale (au niveau de wikiteki.py)
 1. A partir de là, j'ai pu accéder au wiki avec les droits nécessaires partout.
 1. J'ai alors forcé la mise à jour des pages GroupeAUF, GroupeAdmin et GroupePartenaires (en écrivant des bétises dedans puis en les retirant)
 1. Ensuite j'ai supprimé mon accès ACL "ThomasNoël" et j'ai vérifié que les GroupeXXX étaient bien à nouveau pris en compte. Oui. Ouf.
Le correctif se trouve sur http://hg.moinmo.in/moin/1.9/rev/1ddf7d88c53d
Ligne 52: Ligne 60:
Je pense que MoinMoin optimise la gestion des groupes : il ne va pas lire les pages GroupeXXX à chaque requête (!). Il doit tenir une table séparée quelque part.
Il faudra, au prochain upgrade, vérifier que c'est bien mes tentatives d'optimisations inutiles (sic) qui ont planté cette reconnaissance desgroupes, et non pas l'upgrade lui-même. Sinon il faudra étudier comment systématiser la prise en compte des groupes à chauqe upgrade (et signaler un bogue à MoinMoin - il est possible que ça marche pour
des GroupXXX (in english) et pas pour les versions traduites).

Désolé pour ce downtime...


= wiki2 =

 * moinmoin 1.6.x
 * test SANS apache, en mode natif : http://moinmo.in/HelpOnInstalling/StandaloneServer
 * installation sur Etch (vz 104, merci Moussa)
  * paquets installés : python-xml, python-xapian, python-dev (pour installation), apache2 + libapache2-mod-fcgid (pour mode fastcgi), catdoc+xpdf-utils (aide à xapian)
 * `python setup.py install --prefix='/usr/local' --record=install.log`, '''ok''' donne une installation dans :
  * `/usr/local/bin/moin` : lanceur
  * `/usr/local/lib/python2.4/site-packages/MoinMoin` : le programme lui-même
  * `/usr/local/share/moin/` : données et configs
 * mkdir /etc/moinmoin pour nos configs, et ajout de `sys.path.insert(0, '/etc/moinmoin')` dans /usr/local/bin/moin
 * abandon de la solution native (marche mal, exception Python dès que l'url a un soucis... bof), passage en mode FastCGI avec libapache2-mod-fcgid (fastcgi, le "vrai", étant non-free, je donne une chance à cette alternative)
 * migration du thème : ok, à ré-optimiser peut-être à l'occasion mais bon
 * en test: http://wiki2.auf.org/wikiteki (n'est pas sensé fonctionner pour l'instant, bourré le bogue, normal, pas la peine de me le dire ;) )
 * activation xapian ok
 * installation en https ok (merci Jérôme pour m'avoir éviter une seconde soirée humiliante !)

Restent à faire avant début de migration
 * écrire une doc expliquant les modifs de la syntaxe (à préparer sur wiki.auf.org)
 * --(tester sur wiki2 : acl de blocage + message de migration sur toutes les pages, à placer ensuite sur le futur ex-wiki.auf.org)--
 * --(comprendre pourquoi la migration des pages d'aide (underlay) ne marche pas et pourquoi l'installation d'un nouvel underlay frenchy se fait en ancienne syntaxe (alors là, celui qui m'explique ça gagne ma totale estime pour la demi-journée qui suit parce que faut pas pousser non plus) )--
 * --(faire un peu le tour des pages migrées pour voir si y'a des trucs qui vont pas....)--
 * --(bug "fullsearch" qui fait planter (xapian peut peut-être aider ?...) )--

Plus tard :
 * tuning fastcgi
 * xmlrpc : on peut faire quoi en vrai
 * syntaxe créole ?

== Plan de migration de wiki.auf.org vers nouvelle machine en moinmoin 1.6 ==

Quand ? ttl DNS sur wiki.auf.org expirent le '''22 février au matin, TU'''

 1. bloquer écritures sur wiki.auf.org (via les acl) + un warning au début de chaque page (patch theme ?) vers wiki2.auf.org
 1. apache2 stop sur wiki2
 1. migrer contenu :
  * cp sur vz de wiki vers wiki2 de "data/pages" uniquement
  * moin migration data
  * moin index index build --mode=rebuild
 1. modif DNS puis hostname sur wiki2.auf.org (avec un serveralias sur wiki2.auf.org pendant le temps où les DNS auront encore une mauvaise info)
 1. apache2 start sur wiki2 et remise à niveau de quelques pages (Accueil/Nouvelles & co)
 1. annonce nouvelle syntaxe sur Accueil (et sur page d'édition)
 1. ben heu... ok ?
Ce correctif a été appliqué à Montréal le 2015-07-10. (application du patch, puis `dpkg-reconfigure python-moinmoin` pour recompiler les modules Python, puis redémarrage du service `apache2`)

Notes sur l'installation de MoinMoin sur wiki.auf.org

Machine hôte : Debian Etch (VZ), apache2 + mod_wsgi.

Procédure suivie pour l'installation

  • installation de python, python-dev

  • installation de MoinMoin (dernière version) avec : python setup.py install --prefix='/usr/local' --record=install.log :

    • /usr/local/bin/moin : lanceur (note : il faut y modifier le sys.path)

    • /usr/local/lib/python2.4/site-packages/MoinMoin : le programme lui-même

    • /usr/local/share/moin/ : données et configs

  • tournera en mode WSGI (mod_wsgi de apache, depuis backports) :
    • cp /usr/local/share/moin/server/moin.wsgi /etc/moinmoin/

    • activation dans Apache :
       # mod_wsgi (http://code.google.com/p/modwsgi/)
       WSGIScriptAlias /wikiteki /etc/moinmoin/moin.wsgi
       Alias /static/wikitekibeta /var/www/wikitekibeta
  • création du répertoire /etc/moinmoin pour nos configs

    • donc ajouter/modifier la ligne sys.path.insert(0, '/etc/moinmoin') dans /usr/local/bin/moin et /etc/moinmoin/moin.wsgi

  • configuration en mode "Ferme de Wiki" (farmconfig.py)

  • activation de tout ce qui est RSS en installant python-4suite (rien d'autre à faire, MoinMoin détecte tout seul la présence de cette possibilité)

  • petite adaptation du thème Gugiel (et avant : sinorca4moin)

Procédure d'upgrade de Moinmoin (changement de version)

  1. sauvegarde de la version courante, c-a-d des répertoires :
    • /usr/local/share/moin et /usr/local/lib/python*/ (ou plus généralement /usr/local) : le logiciel

    • /var/lib/moinmoin/ : les données

    • /etc/moinmoin : la configuration

  2. installation de la nouvelle version :
    # cd /usr/src/moin-X.Y.Z
    # python setup.py install --prefix='/usr/local' --record=install.log
  3. après l'installation :
    1. faire un sys.path.insert dans /etc/moinmoin/moin.wsgi et /usr/local/bin/moin (indiquer sys.path.insert(0, '/etc/moinmoin'))

    2. remplacer l'ancien htdocs par celui de la nouvelle version (/usr/src/moin-X.Y.Z/wiki/htdocs -> /usr/local/share/moin/)

  4. (éventuellement, si modification de syntaxe : moin migration data --help)

  5. puis relancer apache
  6. s'assurer qu'on est à la bonne version : https://wiki.auf.org/wikiteki?action=test

    • action=test ne marche plus, utiliser plutôt https://wiki.auf.org/wikiteki/SystemInfo

  7. faire quelques tests (gestion des acl surtout)

NB : le système d'upgrade de MoinMoin étant TRÈS tatillon, il vaut mieux, pour patcher un truc, mettre le fichier patché dans /etc/moinmoin ou tout autre répertoire. Ne pas toucher aux sources fournies, sinon l'upgradeur ne les mets pas à jour. Le nouveau système risque, alors, d'être buggé.

Corrections par rapport à 1.8.1

Notes pour la 1.9.4

Il y a un bogue avec les TextCha qui empêche l'usage d'accents, cf https://moinmo.in/MoinMoinBugs/1.9.4BreaksTextChaWithAccents

Le correctif se trouve sur http://hg.moinmo.in/moin/1.9/rev/1ddf7d88c53d

Ce correctif a été appliqué à Montréal le 2015-07-10. (application du patch, puis dpkg-reconfigure python-moinmoin pour recompiler les modules Python, puis redémarrage du service apache2)

ZA/WikiAufOrg (dernière édition le 2015-07-10 19:13:00 par JeanChristopheAndré)