MAJ WIKI
Installation propre de MediaWiki (Upstream) sur Raspberry Pi + Reverse Proxy Caddy
Cette documentation décrit l'installation d'un MediaWiki *officiel* (pas le paquet Debian), hébergé sur un Raspberry Pi, avec :
- Exécution locale du shell (rsvg, convert, inkscape → OK)
- DrawioEditor → pleinement fonctionnel
- Support SVG officiel
- Reverse proxy Caddy en frontal
- MediaWiki accessible à la racine du domaine (/) et non pas /mediawiki/
- Port interne propre (ex : 8080)
1. Pré-requis
- Raspberry Pi (4 ou 5 recommandé)
- Un serveur MySQL/MariaDB séparé (ex : database)
- Un reverse proxy Caddy sur la machine frontale
- Un domaine, ex. : https://knowledge.pinon-hebert.fr
2. Packages nécessaires sur le Raspberry Pi
sudo apt update
sudo apt install -y apache2 libapache2-mod-php \
php php-mysql php-xml php-intl php-mbstring php-gd php-curl php-apcu \
php-zip php-cli php-imagick unzip wget
Activer mod_rewrite :
sudo a2enmod rewrite
3. Installation de MediaWiki officiel
Télécharger la version stable (exemple : 1.43.x) :
cd /var/www
sudo wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.1.tar.gz
sudo tar xzf mediawiki-1.43.1.tar.gz
sudo mv mediawiki-1.43.1 mediawiki
sudo chown -R www-data:www-data /var/www/mediawiki
4. Configuration Apache (MediaWiki sur / et port interne)
Si le Raspberry Pi doit écouter sur un port interne (ex : 8080) :
Éditer /etc/apache2/ports.conf :
Listen 8080
Créer un VirtualHost /etc/apache2/sites-available/mediawiki.conf :
<VirtualHost *:8080>
ServerName localhost
DocumentRoot /var/www/mediawiki
<Directory /var/www/mediawiki>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Activer :
sudo a2ensite mediawiki
sudo systemctl reload apache2
MediaWiki sera disponible sur : http://IP_RASPBERRY:8080
5. Installation via l’installateur web
Ouvrir dans un navigateur :
http://IP_RASPBERRY:8080
- Choisir « Reprendre une base existante » si tu réutilises ta DB déjà en place
- Renseigner :
- Host : database
- Nom de la base : (ta base existante)
- User / Password MySQL existants
L’installateur va générer un fichier LocalSettings.php.
Placer ce fichier dans :
/var/www/mediawiki/LocalSettings.php
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
6. Import des fichiers téléchargés (images)
Copier depuis ton ancien serveur :
sudo rsync -avz ancien_serveur:/var/lib/mediawiki/images/ /var/www/mediawiki/images/
sudo chown -R www-data:www-data /var/www/mediawiki/images/
7. Activer le support SVG et DrawIO
Ajouter à la fin de LocalSettings.php :
- Téléversement de SVG et Drawio
$wgEnableUploads = true;
$wgFileExtensions[] = 'svg';
$wgFileExtensions[] = 'drawio';
- Rasterisation SVG locale
$wgSVGConverters['rsvg'] = [
'command' => '/usr/bin/rsvg-convert -w $width -h $height -o $output $input',
];
$wgSVGConverter = 'rsvg';
$wgSVGConverterPath = '/usr/bin';
- Mode shell local (fonctionne en installation upstream)
$wgShellMode = 'local';
8. Installation de DrawioEditor
Télécharger l’extension :
cd /var/www/mediawiki/extensions
sudo git clone https://github.com/althonos/DrawioEditor.git
sudo chown -R www-data:www-data DrawioEditor
Dans LocalSettings.php :
wfLoadExtension( 'DrawioEditor' );
Drawio génèrera correctement les miniatures grâce au shell local.
9. Reverse proxy Caddy (serveur frontal)
Sur ton serveur Caddy (pas sur le Raspberry Pi) :
Fichier Caddyfile :
knowledge.pinon-hebert.fr {
reverse_proxy 192.168.X.Y:8080
encode gzip
}
Caddy fournit automatiquement HTTPS.
10. Test final
Aller sur :
https://knowledge.pinon-hebert.fr
Tester :
- Téléversement d’un SVG
- Miniature SVG via [[Fichier:truc.svg|200px]]
- Création d’un diagramme DrawIO
- Vérifier Spécial:Version → SVG rasterization: rsvg
11. Notes importantes
- NE PAS utiliser apt install mediawiki → version castrée (Shellbox forcé, pas de rendu SVG, pas de DrawIO).
- L’installation upstream permet l’exécution shell locale normale.
- Le Raspberry Pi 4 suffit largement pour un wiki perso.