Utiliser MoinMoin avec fcgid & suexec sous Apache 2.2

(English version)

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 :

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


Creative Commons License