MediaWiki sous Apache
Lors de l'installation de MediaWiki sur une machine Ubuntu, l'instance a été exposée automatiquement sous le serveur Apache. Il est toutefois intéressant de comprendre les fichiers mis en place.
Votre avis
Nobody voted on this yet
|
|
Apache 2.2.X
La première installation de MediaWiki a été réalisée sur un serveur Ubuntu qui embarquait une version 2.2.X de Apache, à l'aide de la commande apt-get
.
Le fichier mediawiki.conf
était mis à disposition dans le répertoire conf.d
sous /etc/apache2
, ce dernier contenant l'ensemble des configurations de Apache. Le contenu du répertoire conf.d
est le suivant:
-rw-r--r-- 1 root root 269 2010-11-18 22:16 charset -rw-r--r-- 1 root root 3296 2010-11-18 22:16 localized-error-pages lrwxrwxrwx 1 root root 26 2010-12-14 21:06 mediawiki.conf -> /etc/mediawiki/apache.conf -rw-r--r-- 1 root root 143 2010-11-18 22:16 other-vhosts-access-log -rw-r--r-- 1 root root 1424 2011-02-22 19:34 security lrwxrwxrwx 1 root root 38 2011-08-13 18:05 sitesExtensions.conf -> /usr/share/sitesExtensions/apache.conf
Ce lien pointe donc vers le fichier /etc/mediawiki/apache.conf
, dont le contenu est:
# Uncomment this to add an alias.
# This does not work properly with virtual hosts..
Alias /wiki /var/lib/mediawiki
<Directory /var/lib/mediawiki/>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
# some directories must be protected
<Directory /var/lib/mediawiki/config>
Options -FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/lib/mediawiki/upload>
Options -FollowSymLinks
AllowOverride None
</Directory>
Au démarrage de Apache, le lien mediawiki.conf
est parcouru, identifiant MediaWiki installé sous /var/lib/mediawiki
et exposé sous l'URL wiki
.
Apache 2.4.6
Lors d'une mise à jour du serveur Ubuntu, Apache a été mis à jour en version 2.4.6. Cependant, l'impact est assez conséquent, car il y a eu une refonte de la gestion des droits d'accès.
La première modification concerne l'emplacement de la déclaration de MediaWiki. Le lien mediawiki.conf
ne devait plus être déposé dans conf.d
mais dans conf-enabled
, sous /etc/apache2
, suite à la version 2.4.6. Les commandes suivantes ont été exécutées:
#sudo ln -s /etc/mediawiki/apache.conf /etc/apache2/conf-enabled/mediawiki.conf #sudo rm /etc/apache2/conf.d/mediawiki.conf
Cependant, cela ne suffit pas, la configuration des droits d'accès ayant été modifiée, les messages d'erreurs étant constatés dans les logs de Apache:
[Mon Dec 23 00:32:20.053997 2013] [authz_core:error] [pid 4264] [client 5.10.83.39:51905] AH01630: client denied by server configuration: /var/lib/mediawiki/index.php
La configuration a donc été modifiée afin d'être de nouveau opérationnelle:
# Uncomment this to add an alias.
# This does not work properly with virtual hosts..
Alias /wiki /var/lib/mediawiki
<Directory /var/lib/mediawiki/>
Options +FollowSymLinks
AllowOverride All
# Old configurations for APACHE 2.2
# order allow,deny
# allow from all
Require all granted
</Directory>
# some directories must be protected
<Directory /var/lib/mediawiki/maintenance>
Options -FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/lib/mediawiki/config>
Options -FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/lib/mediawiki/upload>
Options -FollowSymLinks
AllowOverride None
</Directory>
Configuration pour un domaine spécifique
Au fil du temps, le serveur Apache a été enrichi sur la machine, afin de servir différents domaine. La première configuration mise en place rendait l'application disponible sur l'ensemble des domaines, chose qui n'était pas souhaitée. Le lien mis en place sous /etc/apache2/conf-enabled
a été "déplacé" sous /etc/apache2/conf-available
, afin d'être dans la philosophie du paquet Ubuntu. Le contenu du ce répertoire est le suivant.
#sudo rm /etc/apache2/conf-enabled/mediawiki.conf #sudo ln -s /etc/mediawiki/apache.conf /etc/apache2/conf-available/mediawiki.conf #sudo ls -l /etc/apache2/conf-available -rw-r--r-- 1 root root 315 juil. 20 2013 charset.conf -rw-r--r-- 1 root root 465 août 15 23:34 httpd.conf -rw-r--r-- 1 root root 3224 juil. 20 2013 localized-error-pages.conf lrwxrwxrwx 1 root root 26 août 16 17:46 mediawiki.conf -> /etc/mediawiki/apache.conf -rw-r--r-- 1 root root 189 juil. 20 2013 other-vhosts-access-log.conf -rw-r--r-- 1 root root 2190 juil. 20 2013 security.conf -rw-r--r-- 1 root root 455 janv. 7 2014 serve-cgi-bin.conf
A présent, la configuration Apache pour MediaWiki est mise à disposition et il reste à la référencer à l'aide de l'instruction Include
dans le fichier de configuration du domaine souhaité, à savoir /etc/apache2/sites-enabled/000-default.conf
, pour le domaine www.jouvinio.net
.
<VirtualHost *:80>
ServerAdmin ejouvin@free.fr
DocumentRoot /var/www/default
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/default>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
# Old configuration for APACHE 2.2
# Order allow,deny
# allow from all
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Old configuration for APACHE 2.2
# Order allow,deny
# Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/apache2/conf-available/mediawiki.conf
</VirtualHost>