Utiliser MoinMoin avec fcgid & suexec sous Apache 2.2
Synthèse
Cette page reprend un paramétrage fonctionnel, pouvant servir de point de départ au paramétrage d'un site. Il a été validé sous Apache 2.2 sur une distribution Débian.
Il utilise 2 noms de domaines : wiki.exemple.fr.invalid, pour le wiki et statique.exemple.fr.invalid pour l'accès aux différents éléments statiques (images, thèmes, et cætera).
Procédure d'installation
Adaptation à votre site
Vous devrez remplacer toutes les valeurs suivantes par des valeurs pertinentes pour votre site :
compte_utilisateur : le nom du compte utilisateur sous lequel MoinMoin doit s'exécuter.
groupe_de_l_utilisateur : le nom du goupe du compte sous lequel MoinMoin doit s'exécuter.
www-data : le nom du groupe sous lequel votre serveur Apache s'exécute.
MoinMoin : le nom du répertoire dans lequel MoinMoin est installé.
wiki.exemple.fr.invalid : le nom complet du wiki.
statique.exemple.fr.invalid : le nom complet de l'hôte virtuel servant à accéder aux éléments statiques.
Paramétrage d'Apache 2
Activez les modules fcgid et suexec. Sous Débian, exécutez les commandes suivantes :
a2enmod suexec a2enmod fcgid
Ajoutez les entrées suivantes dans le paramétrage des hôtes virtuels :
<VirtualHost *> ServerName wiki.exemple.fr.invalid [...] Options None Alias /robots.txt /usr/share/moin/htdocs/robots.txt Alias /favicon.ico /usr/share/moin/htdocs/favicon.ico ScriptAliasMatch ^/(.*) /var/www/compte_utilisateur/moin.fcg/$1 SuexecUserGroup compte_utilisateur groupe_de_l_utilisateur IdleTimeout 60 IPCCommTimeout 180 DefaultMaxClassProcessCount 1 DefaultMinClassProcessCount 1 <Location /> AddHandler fcgid-script .fcg Options ExecCGI </Location> </VirtualHost> <VirtualHost *> ServerName statique.exemple.fr.invalid DocumentRoot /usr/share/moin/htdocs [...] UseCanonicalName On Options None </VirtualHost>
Il peut être nécessaire d'ajuster la valeur du paramètre IPCCommTimeout à la puissance de votre serveur. Augmentez ce délai si, lors de l'enregistrement de pages volumineuses, vous obtenez une « Erreur interne ».
Puis vérifiez la syntaxe de votre paramétrage d'Apache :
apache2ctl -t
Création des répertoires
À moins d'utiliser le module Apache mod_userdir, vous devrez travailler dans la hiérarchie de répertoires /var/www.
Commencez par créer les répertoires devant héberger votre site :
mkdir -p /var/www/compte_utilisateur/MoinMoin
Puis installez MoinMoin dans le répertoire MoinMoin.
Script intermédiaire
Recopiez le script moin.fcg livré avec MoinMoin (dans le répertoire wiki/server) dans /var/www/compte_utilisateur.
Remplacez la ligne :
# Path of the directory where wikiconfig.py is located. # YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP. sys.path.insert(0, '/path/to/wikiconfig')
Par :
# Path of the directory where wikiconfig.py is located. # YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP. sys.path.insert(0, '/var/www/compte_utilisateur/MoinMoin')
Paramétrage de MoinMoin
Modifiez le fichier wikiconfig.py en mettant à jour les paramètres suivants :
data_dir = '/var/www/compte_utilisateur/MoinMoin/data' data_underlay_dir = '/var/www/compte_utilisateur/MoinMoin/underlay' url_prefix = 'http://statique.exemple.fr.invalid'
Sécurisation des répertoires
Appliquez les droits suivants :
# Répertoire de l'utilisateur chown compte_utilisateur:groupe_de_l_utilisateur /var/www/compte_utilisateur chmod u=rwx,g=rx,o=rx /var/www/compte_utilisateur # Script intermédiaire chown compte_utilisateur:groupe_de_l_utilisateur /var/www/compte_utilisateur/moin.fcg chmod u=rwx,ug= /var/www/compte_utilisateur/moin.fcg # Site (pour plus de sécurité, il est interdit d'accès au serveur Apache) chown -R compte_utilisateur:groupe_de_l_utilisateur /var/www/compte_utilisateur/MoinMoin chmod -R u=rwX,go= /var/www/compte_utilisateur/MoinMoin
Relancez Apache
Il ne reste plus qu'à relancer Apache :
/etc/init.d/apache2 force-reload
Références
La documentation de SUEXEC sur le site du projet Apache.
La documentation sommaire de mod_fcgid.
La documentation de MoinMoin : AideD'Installation/FastCgi.

