Installation Mediawiki
Sommaire
Installation sur Debian avec MySQL
Installation serveur web
Installation des dépendances, désactivation suhosin et relance apache
apt-get install apache2 apache2-mpm-prefork libapache2-mod-php5 libxml2 php5-common mysql-server php5-gd php5-mysql php5-intl mv /etc/php5/apache2/conf.d/suhosin.ini /root /etc/init.d/apache2 restart
NB : configuration supplémentaire si on souhaite utiliser des URLs courtes
Récupérer le tar.gz depuis le site mediawiki
cd /root wget http://releases.wikimedia.org/mediawiki/1.23/mediawiki-1.23.2.tar.gz tar xzf mediawiki-*.tar.gz -C /var/www/vhost_wiki cd /var/www/vhost_wiki mv mediawiki-* mediawiki cd mediawiki chmod a+w mw-config
Création de la base de données
mysql mysql -u root -p create database mediawiki ; grant all privileges on mediawiki.* to mediawiki@'localhost' identified by 'xxxx'; flush privileges; quit
Pointer le navigateur sur l'adresse suivante et continuer l'installation en mode graphique
http://ip_serveur/mediawiki
Dans la page de configuration, modifier les valeurs suivantes :
Site Config Wiki name: Contact e-mail: Language:
Admin username: Password: Password confirm:
Database config Database name: DB username: DB password: DB password confirm:
Puis cliquer sur le bouton "Install Mediawiki"
Une fois la configuration parti
cp config/LocalSettings.php .
Puis utiliser le navigateur et pointer à l'adresse
http://ip_serveur/mediawiki/index.php/Accueil
Configuration
Pour restreindre l'accès, modifier le fichier LocalSettings.php et rajouter à la fin :
# Disable reading by anonymous users $wgGroupPermissions['*']['read'] = false; # But allow them to access the login page or else there will be no way to log in! # NOTE: You also need to provide access here to the .css and .js files that the # allowed pages attempt to load; otherwise, users will get errors on the page # when they attempt to load it (IE will complain about the errors; # FF will show them in its error console) # [You also might want to add access to "Main Page", "Wikipedia:Help", etc.) $wgWhitelistRead = array ("Special:Userlogin", "MediaWiki:Common.css", "MediaWiki:Common.js", "MediaWiki:Monobook.css", "MediaWiki:Monobook.js", "-"); # Disable anonymous editing $wgGroupPermissions['*']['edit'] = false; # Prevent new user registrations except by sysops $wgGroupPermissions['*']['createaccount'] = false;
Installation optimisation mediawiki APC et memcached
Installation de l'optimisateur apc pour améliorer les performances de php
apt-get install php-apc
Augmentation mémoire shm, rajouter la ligne suivante au fichier /etc/sysctl.conf
kernel.shmmax=268435456
Prise en compte immédiate du paramètre ci-dessu
sysctl -w kernel.shmmax=268435456
Modification conf apc /etc/php5/apache2/conf.d/apc.ini
extension=apc.so apc.shm_size=128 apc.rfc1867 = on apc.enabled = 1 apc.max_file_size = 2
Relance apache
/etc/init.d/apache2 restart
Installation memcached
apt-get install memcached php5-memcached
Relance memcached
/etc/init.d/memcached restart
Rajout de la configuration dans le fichier /var/www/mediawiki/LocalSettings.php
$wgMainCacheType = CACHE_MEMCACHED; $wgParserCacheType = CACHE_MEMCACHED; # optional $wgMessageCacheType = CACHE_MEMCACHED; # optional $wgMemCachedServers = array( "127.0.0.1:11211" ); $wgSessionsInMemcached = true; # optional
Short URLs
Il s'agit de fournir des URLs du type "http://dev.tranquil.it/wiki/Accueil" au lieu de "http://dev.tranquil.it/mediawiki/index.php/Accueil", plus lisibles et esthétiques.
Pré-requis :
- mediawiki décompressé dans un sous-répertoire du docroot
mv mediawiki /var/www/dev.tranquil.it/w/
- apache et mod_rewrite
a2enmod rewrite
Modifier la configuration du vhost
<VirtualHost *:80> ServerAdmin technique@tranquil-it-systems.fr ServerName dev.tranquil-it-systems.fr ServerAlias dev.tranquil.it ServerAlias dev.tranquilitsystems.com DocumentRoot /var/www/dev.tranquil.it <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vhost_wiki/> Options FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ## BEGIN SHORT URLS # Short URLs, cf. http://www.mediawiki.org/wiki/Manual:Short_URL/Apache RewriteEngine On RewriteLog "/var/log/apache2/dev.tranquil.it.rewrite.log" RewriteLogLevel 0 # Redirect to the default page RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L] # Don't break existing URLs, provide a 301 redirect instead so # that we do not lose on the SEO side RewriteRule ^/?index.php/(.*)?$ /wiki/$1 [R=301] # Short, cleans URLs RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B] RewriteRule ^/?images/(.*)$ %{DOCUMENT_ROOT}/w/images/$1 [L] ## END SHORT URLS ... </VirtualHost>
Ainsi que la configuration dans LocalSettings.php
## The URL base path to the directory containing the wiki; ## defaults for all runtime URL paths are based off of this. ## For more information on customizing the URLs ## (like /w/index.php/Page_title to /wiki/Page_title) please see: ## http://www.mediawiki.org/wiki/Manual:Short_URL $wgScriptPath = "/w"; $wgScriptExtension = ".php"; $wgArticlePath = "/wiki/$1";
Upgrade Mediawiki
Backup de la base
mysqldump mediawiki -u mediawiki -p > /root/mediawiki_20110504.sql
Déplacement de l'ancienne version
cd /var/www/vhost_wiki mv mediawiki mediawiki.old
Récupération de la nouvelle version
wget "http://download.wikimedia.org/mediawiki/1.16/mediawiki-1.16.4.tar.gz" tar -zxvf mediawiki-1.16.4.tar.gz mv mediawiki-1.16.4 mediawiki
Récupération des images et du fichier de configuration
rsync -aPz ./mediawiki.old/images/ ./mediawiki/images/ cp ./mediawiki.old/LocalSettings.php ./mediawiki
Attention aux possibles modifications locales, par exemple pour les skins
Editier le fichier ./mediawiki/LocalSettings.php et rajouter les deux lignes suivantes :
$wgDBadminuser = "mediawiki"; $wgDBadminpassword = "tototo";
Lancement de la procédure d'upgrade
cd mediawiki/maintenance php update.php
Invalidation manuelle du cache mediawiki
Lorsqu'on modifie manuellement certaines ressources (par exemple footer.php), mediawiki ne se rend pas compte qu'il doit invalider les pages mises en page. Pour cela, se connecter en SSH et vérifier la valeur du paramètre $wgFileCacheDirectory. Supprimer ensuite les fichiers présents dans ce cache, par exemple :
rm -Rf /var/cache/mediawiki/filecache