Pix, Unix, Agility & Co

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 5 juillet 2012

Installer un MoinMoin wiki sur RHEL 6.2

Une rapide recherche avec yum et c'est la déception :

 # yum search moin
 ...
 ================================= Matched: moin =================================
 lx.x86_64 : Converts PBM data to Lexmark 1000 printer language
 #

Il faut donc se résoudre à travailler à l'ancienne à partir de l'archive tgz. Le site de référence est alors la principale source d'information : http://moinmo.in/ J'ai ensuite travaillé avec la version 1.9.4 de moin moin et le HowTo Quick MoinMoin on CentOS qui s'approche sûrement le plus de ce que je vais rencontrer sur la RHEL.


Pré-requis

Je travaille sur RHEL 6 x86_64 sur laquelle apache 2.2.x et python dans mon cas 2.6.x sont déjà présents. Je vais ajouter mod_wsgi pour servir des applications web basées sur python :

 # yum install mod_wsgi
 ...
   Installed:
   mod_wsgi.x86_64 0:3.2-1.el6                                                                                                                                
 Complete!
 #


Installation MoinMoin

Je me place dans un répertoire MoinMoinWiki dans mon home qui servira de base à l'installation et je travaille en tant que root.

 # wget http://static.moinmo.in/files/moin-1.9.4.tar.gz
 # tar xzvf moin-1.9.4.tar.gz
 # cd moin-1.9.4
 # ls -rtl
 total 72
 -rw-rw-r--  1 1000 1000  1025  7 févr. 22:36 MANIFEST.in
 -rw-rw-r--  1 1000 1000 13704  7 févr. 22:36 setup.py
 -rw-rw-r--  1 1000 1000   238  7 févr. 22:36 setup.cfg
 -rw-rw-r--  1 1000 1000  2458  7 févr. 22:36 README
 -rw-rw-r--  1 1000 1000  1992  7 févr. 22:36 moin.spec
 -rwxrwxr-x  1 1000 1000  1251  7 févr. 22:36 wikiserver.py
 -rw-rw-r--  1 1000 1000   818  7 févr. 22:36 wikiserverlogging.conf
 -rw-rw-r--  1 1000 1000  3087  7 févr. 22:36 wikiserverconfig.py
 -rw-rw-r--  1 1000 1000  2259  7 févr. 22:36 wikiconfig.py
 drwxrwxr-x  6 1000 1000  4096  7 févr. 22:39 wiki
 -rw-rw-r--  1 1000 1000  3203  7 févr. 22:39 PKG-INFO
 drwxrwxr-x 29 1000 1000  4096  7 févr. 22:39 MoinMoin
 drwxrwxr-x  3 1000 1000  4096  7 févr. 22:39 jabberbot
 drwxrwxr-x  3 1000 1000  4096  7 févr. 22:39 docs
 drwxrwxr-x 10 1000 1000  4096  7 févr. 22:39 contrib
 #

On remarque le répertoire docs et notamment docs/README_FIRST qui est la source d'information pour les détails sur l'installation et enfin on lance l'installation au moyen du script python setup.py :

 #python setup.py install --force --prefix /usr/local --record=install.log


Configuration du serveur

 # cd /usr/local/share/moin/
 # ls -rtl
 total 16
 drwxr-xr-x 5 root root 4096  5 juil. 11:55 config
 drwxr-xr-x 3 root root 4096  5 juil. 11:55 underlay
 drwxr-xr-x 2 root root 4096  5 juil. 11:55 server
 drwxr-xr-x 7 root root 4096  5 juil. 11:55 data
 #

On copie le répertoire /usr/local/share/moin et sa sous-arborescence dans un dossier spécifique à l'instance que l'on veut créer par exemple /appli/wikis/da/ (étape facultative) :

 # cp -pR /usr/local/share/moin /appli/wikis/da/

On active les fichiers de configuration en les copiant dans le dossier père :

 # cd /appli/wikis/da/moin
 # cp server/moin.wsgi .
 # cp config/wikiconfig.py .


Le VirtualHost apache

Il nous faut maintenant modifier la configuration apache :

 # cd /etc/httpd/conf

après une petite sauvegarde du httpd.conf on peut l'éditer pour ajouter en fin de fichier :

 #
 #  MoinMoin WSGI configuration
 #
 <VirtualHost wiki-da.mondomaine.fr:80>
    ServerName wiki-da.mondomaine.fr
    ServerAdmin admin@wiki-da.mondomaine.fr
    LoadModule wsgi_module modules/mod_wsgi.so
    # you will invoke your moin wiki at the root url, like http://wiki-da.mondomaine.fr/FrontPage:
    WSGIScriptAlias /   /usr/local/share/moin/moin.wsgi
    # create some wsgi daemons - use user/group same as your data_dir:
    WSGIDaemonProcess moin user=apache group=apache processes=5 threads=10 maximum-requests=1000 umask=0007
    # use the daemons we defined above to process requests!
    WSGIProcessGroup moin
    # WSGISocketPrefix
    WSGISocketPrefix /var/run/moin-wsgi
 </VirtualHost>

Ne pas oublier de demande à Apache d'écouter sur le port sur lequel on a configuré le VirtualHost.


Le mod_wsgi

On édite :

 # vim /appli/wikis/da/moin/moin.wsgi

Pour y ajouter les lignes suivantes :

* paragraphe a1) :
 sys.path.insert(0, '/usr/local/lib/python2.6/site-packages')
* paragraphe a2) :
 sys.path.insert(0, '/appli/wikis/da/moin')

On doit ensuite penser à ajuster les droits :

 # cd /usr/local/share
 # chown -R apache:apache moin
 # chmod -R 0770 moin

et de la même façon pour /appli/wikis/da/moin.

On redémarre apache avant de tester voir si tout cela a servi à quelque chose :

 # /etc/init.d/httpd restart


Configuration de base de l'application MoinMoin

Dans le fichier /appli/wikis/da/moin/wikiconfig.py on décommente les lignes suivantes :

 vim wikiconfig.py

Pour activer l'affichage de la page d'accueil du wiki :

 page_front_page = u"FrontPage"

Pour déterminer le compte administrateur fonctionnel :

 superuser = [u"WikiAdmin", ]

Pour que les modifications soient prises en compte il faut sauvegarder le fichier et relancer le serveur apache.


Ajouter une authentification basée sur un LDAP

Je m'appuie sur la documentation fournie sur le site officiel : http://moinmo.in/HelpOnAuthentication qui décrit différents mécanisme d'authentification dont un travaille avec la classe MoinMoin.auth.ldap_login.LDAPAuth.

dimanche 3 janvier 2010

Afficher le panneau latéral de Nautilus

Ces jours-ci, j'ai dû ré-installer mon PC suite à un crash disque. Heureusement grâce à smart-notifier sous Gnome et aux utilitaires SMART, j'ai bénéficié d'une alerte assez précoce qui m'a permis de sauvegarder correctement mes données.
En revanche après une réinstallation, il n'en reste pas moins tous les petits réglages de confort à retrouver et à re-mettre en place.
J'ai par exemple l'habitude d'utiliser nautilus le gestionnaire de fichiers de gnome avec un panneau latéral dans lequel je peux visualiser au choix :

  • les raccourcis classiques (dossier perso, bureau, système de fichiers, réseau et corbeille plus des raccourcis personnalisés comme les partages réseaux ou un dossier music...
  • des informations détaillées sur l'élément sélectionné dans la fenêtre principale
  • l'arborescence des fichiers
  • l'historique de mon parcours dans le système de fichier
  • des notes ou des emblèmes qu'en fait je n'utilise jamais.

Eh bien figurez-vous que je n'arrivais pas à remettre en place ce fameux panneau latéral. J'ai dû comparer avec une autre config. pour retrouver l'astuce. En fait il suffit de paramétrer le lanceur, que j'insère dans le tableau de bord supérieur pour accéder, comme avec un raccourcis, à Nautilus. Au lieu de juste demander de lancer nautilus on ajoute l'argument --no-desktop :

nautilus --no-desktop

On peut également noter que le panneau peut être masqué ou affiché au moyen de la touche de raccourci clavier F9.