Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« MediaWiki » : différence entre les versions

De Le Wiki de Lug
Aucun résumé des modifications
 
(84 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
=Alpine Linux=
[https://wiki.alpinelinux.org/wiki/MediaWiki Source] [https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_or_Ubuntu Autre Source]
==Installation dépendances==
# apk update && apk upgrade
# apk add curl lighttpd php php-dom php-json php-pgsql php-cgi php-mbstring php-xml php-ctype php-fileinfo php-iconv php-zlib php-gd php-session php7-intl php7-pecl-apcu php7-mysqli php7-xmlreader php7-xmlwriter php7-pecl-memcached memcached git imagemagick diffutils mariadb mariadb-common mariadb-client
==Configuration de MariaDB==
On active le serveur :
# service mariadb setup
# rc-update add mariadb default
# service mariadb start
On sécurise MariaDB :
# mysql_secure_installation
Switch to unix_socket authentication [Y/n] '''y'''
Change the root password? [Y/n] '''y'''
Remove anonymous users? [Y/n] '''y'''
Disallow root login remotely? [Y/n] '''y'''
Remove test database and access to it? [Y/n] '''y'''
Reload privilege tables now? [Y/n] '''y'''
... Success!
On configure la base de donnée pour acceuillir MediaWiki :
# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE <font color = green>mediawiki</font>;
MariaDB [(none)]> CREATE USER '<font color = green>mediawiki</font>'@'localhost' IDENTIFIED BY '<font color = blue>monsupermotdepasse</font>';
MariaDB [(none)]> GRANT ALL ON <font color = green>mediawiki</font>.* TO '<font color = green>mediawiki</font>'@'localhost';
MariaDB [(none)]> quit;
==Installation de MediaWiki==
On récupère la dernière version à [https://www.mediawiki.org/wiki/Download '''cette adresse'''] et on place MediaWiki dans l'arborescence du serveur Web :
# wget <nowiki>https://</nowiki>releases.wikimedia.org/mediawiki/1.36/mediawiki-<font color = green>1.36.1</font>.zip
# unzip mediawiki-<font color = green>1.36.1</font>.zip
# mv mediawiki-<font color = green>1.36.1</font> /var/www/localhost/htdocs/mediawiki
# rm mediawiki-<font color = green>1.36.1</font>.zip
On attribue les droits :
# chown -R lighttpd /var/www/localhost/htdocs/mediawiki
On édite la configuration de "lighttpd" pour activer "mod_fastcgi.conf" :
# vi /etc/lighttpd/lighttpd.conf
<font color =grey>...</font>
# uncomment for php/fastcgi support
    <font color =blue>include "mod_fastcgi.conf"</font>
# uncomment for php/fastcgi fpm support
<font color =grey>...</font>
A la fin de ce même fichier, on protège le dossier "images" de l'éxécution de scripts, par sécurité, en ajoutant :
<font color =grey>...</font>
<font color =blue>$HTTP["url"] =~  "^/mediawiki/images/" {
    fastcgi.server = ()
}</font>
On active memcached maintenant et au redemarrage :
  # service memcached start && rc-update add memcached default
On lance le serveur "lighttpd" immédiatement et au démarrage :
# service lighttpd start && rc-update add lighttpd default
== Configuration de MediaWiki ==
On se rend à l'adresse "<nowiki>http://</nowiki><font color = blue>ADRESSE_IP_SERVEUR</font>/mediawiki/mw-config/index.php" :
*On configure l'environnement linguistique..
[[File:Mediawikinstall1.PNG|border|Choix du langage..]]
*On vérifie que tous les prérequis sont satisfait :
[[File:Mediawikinstall2.PNG|border|Vérification des prérequis..]]
*Paramètre de la base de données :
[[File:Mediawikinstall3.PNG|border|Réglages de MariaDB..]]
*On peut laisser par défaut cette option et continuer :
[[File:Mediawikinstall4.PNG|border|Option par défaut..]]
*On configure le nom du Wiki et le compte administrateur, ici "admin" pour plus de simplicité :
[[File:Mediawikinstall5.PNG|border|Nom Wiki et compte admin..]]
*La page suivante comporte de nombreuses options à régler à sa guise, en fin de page on active le téléversement des fichiers, "Instant Commons" et on active "memcached" :
[[File:Mediawikinstall6.PNG|border|Une page d'option bien fournit..]]
*On confirme que la configuration est terminée pour lancer l'installation :
[[File:Mediawikinstall7.PNG|border|On est la pour ça!]]
*Le script d'installation confirme que tout s'est déroulé comme prévu :
[[File:Mediawikinstall8.PNG|border|L'installation est presque terminé!]]
*Le serveur vous envoie le fichier "LocalSettings.php" à placer dans "/var/www/localhost/htdocs/mediawiki/" :
[[File:Mediawikinstall9.PNG|border|Envoie de "LocalSettings.php"]]
Une méthode simple est de copier-coller le contenu du fichier :
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
<i>Copier-Coller de LocalSettings.php</i>
# chown lighttpd /var/www/localhost/htdocs/mediawiki/LocalSettings.php
*Par sécurité on lance le redémarrage de l'installation pour effacer les options sélectionner et rendre le contenu de "LocalSettings.php" inaccessible :
[[File:Mediawikinstall10.PNG|border|On lance le redémarrage de l'installation..]]
*On confirme l'effacement des données et l'installation est terminé :
[[File:Mediawikinstall11.PNG|border|On confirme l'éffacement..]]
== Sécuriser lighttpd ==
On créé le certificat :
# apk update && apk upgrade
# apk add openssl
# openssl req -newkey rsa:2048 -x509 -keyout /etc/lighttpd/server.pem -out /etc/lighttpd/server.pem -days 365 -nodes
# chmod 400 /etc/lighttpd/server.pem
On édite la configuration du serveur :
# vi /etc/lighttpd/lighttpd.conf
<font color = grey>...</font>
server.modules = (
    <font color = blue>"mod_openssl",</font>
#    "mod_rewrite",
<font color = grey>...</font>
<font color = grey>...</font>
<font color = blue>server.port            = 443
ssl.engine    = "enable"
ssl.pemfile  = "/etc/lighttpd/server.pem"</font>
On relance le service :
# service lighttpd restart
On adapte le fichier "LocalSettings.php" :
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
<font color = grey>...</font>
## The protocol and server name to use in fully-qualified URLs
$wgServer = "http<u><font color = blue>'''s'''</font></u>://<font color = green>ADRESSE_IP_SERVEUR</font>";
<font color = grey>...</font>
== Vhost Reverse-Proxy Nginx ==
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Voir [[Nginx_ReverseProxy_LXC_Alpine_Linux|Reverse Proxy Nginx]]
}}
server {
    listen 80;
    listen [::]:80;
    server_name    <font color = blue>monwiki.exemple.net</font>;
    return 301 <nowiki>https://</nowiki>$host$request_uri;
}
server {
    server_name    <font color = blue>monwiki.exemple.net</font>;
    client_max_body_size <font color = green>50M</font>;
    # protection
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
    add_header Strict-Transport-Security "max-age=31536000" always;
    location / {
        proxy_set_header Host              $host;
        proxy_set_header X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Port  $server_port;
        proxy_pass https://<font color = blue>ADRESSE_IP_SERVEUR</font>/mediawiki/;
    }
    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/<font color = blue>monwiki.exemple.net</font>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<font color = blue>monwiki.exemple.net</font>/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
}
On adapte le fichier "LocalSettings.php" :
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
<font color = grey>...</font>
<font color = blue>#</font>$wgScriptPath = "/mediawiki";                                                                                                                                                                                                                                                                                                                     
<font color = blue>$wgScriptPath = "";</font>
<font color = grey>...</font>
<font color = grey>...</font>
## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://<font color = blue>monwiki.exemple.net</font>";
<font color = grey>...</font>
== Mettre à jour MediWiki ==
{{Méta bandeau
  | niveau = grave
  | icône = important
  | texte  = Penser à sauvegarder votre wiki avant la mise à jour..
}}
[https://www.mediawiki.org/wiki/Manual:Upgrading/fr Source]
=== Alpine Linux ===
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Exemple sur Alpine Linux fait de la version 1.35.1 à la version 1.36.1
}}
On récupère la nouvelle version :
# cd /usr/share/webapps/
# wget https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.1.zip
# unzip mediawiki-1.36.1.zip
# rm mediawiki-1.36.1.zip
On attribue les droits :
# chown -R lighttpd mediawiki-1.36.1
On récupère le "LocalSettings.php" :
# cp -rp mediawiki-1.35.1/LocalSettings.php mediawiki-1.36.1/
On récupère le dossier "images" :
# cp -rp mediawiki-1.35.1/images mediawiki-1.36.1/
(Optionnel) On installe la version 1.36 de "TemplateStyles" :
# wget https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_36-e548bf1.tar.gz
# tar -xzf TemplateStyles-REL1_36-e548bf1.tar.gz -C /usr/share/webapps/mediawiki-1.36.1/extensions/
# chown -R lighttpd /usr/share/webapps/mediawiki-1.36.1/extensions/TemplateStyles
# rm TemplateStyles-REL1_36-e548bf1.tar.gz
(Optionnel) On installe la version 1.36 de "Scribunto" :
# wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_36-ac71012.tar.gz
# tar -xzf Scribunto-REL1_36-ac71012.tar.gz -C /usr/share/webapps/mediawiki-1.36.1/extensions/
# chown -R lighttpd /usr/share/webapps/mediawiki-1.36.1/extensions/Scribunto
# rm Scribunto-REL1_36-ac71012.tar.gz
(Optionnel) On récupère son logo :
# cp -rp /usr/share/webapps/mediawiki-1.35.1/skins/common/images/logo.png /usr/share/webapps/mediawiki-1.36.1/images/logo.png
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Les chemins peuvent varier selon la version et vos choix antérieur..
}}
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Dans cette exemple il faut adapter votre "LocalSettings.php" avec '''$wgLogo = "$wgScriptPath/images/logo.png";'''
}}
Ensuite il faut mettre a jour la base de données :
# php /usr/share/webapps/mediawiki-1.36.1/maintenance/update.php
On remplace le lien symbolique de l'ancien wiki par le nouveau :
# rm /var/www/localhost/htdocs/mediawiki
# ln -s /usr/share/webapps/mediawiki-1.36.1 /var/www/localhost/htdocs/mediawiki
Une fois vérifié que tout fonctionne on peut supprimer l'ancienne version :
# rm -r /usr/share/webapps/mediawiki-1.35.1
== Transférer MediaWiki ==
=== Sauvegarde ===
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Dans cet exemple les répertoires correspondent à une sauvegarde sur Debian.
}}
Sur l'ancien serveur on commence par saugarder les fichiers :
ancienwiki:~# tar zcvhf /var/www/mediawiki.tgz /var/www/mediawiki
Ensuite on sauvegarde la base de données :
ancienwiki:~# mysqldump -u <font color = blue>mediawiki</font> -p <font color = blue>mediawiki</font> > /var/www/mediawiki.sql
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Le mot de passe de l'utilisateur "mediawiki" (visible dans "LocalSettings.php") sera éxigé.
}}
=== Transfert des fichiers ===
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Dans cet exemple on transfert les fichiers de Debian à Alpine Linux, notez que pour utiliser SCP sur Alpine il faudra installer un [[SSH|'''serveur SSH''']]
}}
Depuis l'ancien serveur :
ancienwiki:~# scp /var/www/mediawiki.tgz  <font color = blue>IP_NOUVEAU_SERVEUR</font>:/var/www/localhost/htdocs/
ancienwiki:~# scp /var/www/mediawiki.sql  <font color = blue>IP_NOUVEAU_SERVEUR</font>:/var/www/localhost/htdocs/
=== Restauration ===
Sur le nouveau serveur, on commence par restaurer les fichiers :
nouveauwiki:~# cd /var/www/localhost/htdocs/
nouveauwiki:~# tar -xvzf mediawiki.tgz
nouveauwiki:~# mv var/www/mediawiki ./
nouveauwiki:~# rm -r var
On attribue les droits :
nouveauwiki:~# chown -R lighttpd:root mediawiki
Puis on restaure la base de données du wiki :
nouveauwiki:~# mysql -u mediawiki -p mediawiki < /var/www/localhost/htdocs/mediawiki.sql
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Le mot de passe de l'utilisateur "mediawiki" (visible dans "LocalSettings.php") sera éxigé.
}}
Il faudra probablement adapter "LocalSettings.php", une fois terminé il est possible de supprimer les fichiers transférés :
nouveauwiki:~# rm /var/www/localhost/htdocs/mediawiki.tgz
nouveauwiki:~# rm /var/www/localhost/htdocs/mediawiki.sql
=== Erreur LUA ===
<font color = red>Lua error: Internal error: The interpreter exited with status 127.</font>
# apk add lua
# service lighttpd restart
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
<font color = grey>..</font>
$wgScribuntoDefaultEngine = 'luastandalone';               
<font color = blue>$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua';</font>
<font color = grey>..</font>
= Import de fonctions =
{{Méta bandeau
  | niveau = modéré
  | icône = important
  | texte  = Section en partie rédigé sous Debian.
}}
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Chemin sous Debian: /var/www/mediawiki
}}
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Chemin sous Alpine Linux: /var/www/localhost/htdocs/mediawiki
}}
[https://www.ryadel.com/en/how-to-add-wikipedia-mbox-templates-to-your-own-mediawiki/ Source utile]
[https://www.ryadel.com/en/how-to-add-wikipedia-mbox-templates-to-your-own-mediawiki/ Source utile]
=Réglages de base=
==Réglages de base==
== Activer "IstantCommons ==
=== Activer Uploads & ImageMagick ===
# vi /var/www/mediawiki/LocalSettings.php
 
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
 
# apt install imagemagick
 
Pour régler la taille maximale des importations de fichiers, il faut configurer le service PHP local et le [[#Vhost_Reverse-Proxy_Nginx|reverse proxy]] s’il est utilisé.
 
Exemple avec une limite de 50 Mo et PHP 8.3 :
# vi /etc/php83/php.ini
 
Et on modifie :
<font color = grey>...</font>
upload_max_filesize = <font color = blue>50M</font>
<font color = grey>...</font>
post_max_size = <font color = blue>60M</font>
<font color = grey>...</font>
 
# rc-service php-fpm83 restart
 
=== Activer "IstantCommons ===
[https://www.inmotionhosting.com/support/edu/mediawiki/changing-css-media-wiki/ source]
[https://www.inmotionhosting.com/support/edu/mediawiki/changing-css-media-wiki/ source]
  # vi /var/www/mediawiki/LocalSettings.php
  # vi /var/www/mediawiki/LocalSettings.php
Ligne 7 : Ligne 345 :
  $wgUseInstantCommons = true;
  $wgUseInstantCommons = true;


== CSS Wikipedia ==
=== CSS Wikipedia ===


# Se connecter sur son Wiki (avec droit d'éditiont)
# Se connecter sur son Wiki (avec droit d'éditiont)
Ligne 13 : Ligne 351 :
# cliquer sur "Edit" et remplacer par [https://fr.wikipedia.org/wiki/MediaWiki:Common.css '''ce code-ci!''']
# cliquer sur "Edit" et remplacer par [https://fr.wikipedia.org/wiki/MediaWiki:Common.css '''ce code-ci!''']
# Il faudra vider le cache de son navigateur / recharger avec Ctrl + F5
# Il faudra vider le cache de son navigateur / recharger avec Ctrl + F5
== Installation module "sanitized-css" ==
=== Installation extension "TemplateStyles" ===
[https://www.mediawiki.org/wiki/Extension:TemplateStyles#Installation '''source''']
[https://www.mediawiki.org/wiki/Extension:TemplateStyles#Installation '''source''']
<span style="color:red">Échec de l’importation : The content model 'sanitized-css' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>


  # cd /tmp/
  # cd /tmp/
  # wget https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_35-7a40a6a.tar.gz
  # wget <nowiki>https://</nowiki>extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_35-7a40a6a.tar.gz
  # tar -xzf TemplateStyles-REL1_35-7a40a6a.tar.gz -C /var/www/mediawiki/extensions
  # tar -xzf TemplateStyles-REL1_35-7a40a6a.tar.gz -C /var/www/mediawiki/extensions
  # chown -R www-data. /var/www/mediawiki/extensions/TemplateStyles
  # chown -R www-data. /var/www/mediawiki/extensions/TemplateStyles
  # echo 'wfLoadExtension( 'TemplateStyles' );' >> /var/www/mediawiki/LocalSettings.php
  # echo 'wfLoadExtension( 'TemplateStyles' );' >> /var/www/mediawiki/LocalSettings.php
== Installation module "Scribunto" ==


<span style="color:red">Échec de l’importation : The content model 'Scribunto' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>
=== Installation extension "Scribunto" ===
[https://www.mediawiki.org/wiki/Extension:Scribunto#Installation '''Source''']


  # cd /tmp/
  # cd /tmp/
  # wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_35-d21b655.tar.gz
  # wget <nowiki>https://</nowiki>extdist.wmflabs.org/dist/extensions/Scribunto-REL1_35-d21b655.tar.gz
  # tar -xzf Scribunto-REL1_35-d21b655.tar.gz -C /var/www/mediawiki/extensions/Scribunto/
  # tar -xzf Scribunto-REL1_35-d21b655.tar.gz -C /var/www/mediawiki/extensions/Scribunto/
  # chown -R www-data. /var/www/mediawiki/extensions/Scribunto
  # chown -R www-data. /var/www/mediawiki/extensions/Scribunto
Ligne 34 : Ligne 370 :
  # echo '$wgScribuntoDefaultEngine = 'luastandalone';' >> /var/www/mediawiki/LocalSettings.php
  # echo '$wgScribuntoDefaultEngine = 'luastandalone';' >> /var/www/mediawiki/LocalSettings.php
  # chmod a+x /var/www/mediawiki/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua
  # chmod a+x /var/www/mediawiki/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua
== Activer "ParserFunctions" ==
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Pour Alpine Linux et autre voir [[#Erreur_LUA|Error status 127]]
}}
 
=== Activer "ParserFunctions" ===


  # echo 'wfLoadExtension( 'ParserFunctions' );' >> /var/www/mediawiki/LocalSettings.php
  # echo 'wfLoadExtension( 'ParserFunctions' );' >> /var/www/mediawiki/LocalSettings.php
  # echo '$wgPFEnableStringFunctions = true;' >> /var/www/mediawiki/LocalSettings.php
  # echo '$wgPFEnableStringFunctions = true;' >> /var/www/mediawiki/LocalSettings.php
=== Extension MobileFrontend ===
On télécharge l'extension :
# cd /var/www/localhost/htdocs/mediawiki/extensions/
# git clone --branch REL<font color = blue>1_45</font> https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = REL<font color = blue>1_45</font> en fonction de la version de MediaWiki installée, ici la 1.45.x .
}}
On édite le fichier de configuration :
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
Ajouter à la fin du fichier :
<font color = grey>...</font>
wfLoadSkin( 'MinervaNeue' );
wfLoadExtension( 'MobileFrontend' );
$wgDefaultMobileSkin = 'minerva';
$wgMFAutodetectMobileView = true;


= Exemple Serveur Wikipedia et barre de progression =
== Exemple Serveur Wikipedia et barre de progression ==
{{Barre de progression|100|largeur=400px|hauteur=10|texte=la preuve par l'exemple!}}
{{Barre de progression|100|largeur=400px|hauteur=10|texte=la preuve par l'exemple!}}
== Export chez Wikipedia ==
=== Export chez Wikipedia ===
[https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Exporter Page d'export] soit <nowiki>"/Spécial:Exporter"</nowiki>
[https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Exporter Page d'export] soit <nowiki>"/Spécial:Exporter"</nowiki>


Ligne 57 : Ligne 416 :
[[File:Export barre de progression.PNG|border|Exemple export pour barres de progression]]
[[File:Export barre de progression.PNG|border|Exemple export pour barres de progression]]


== Import sur son wiki ==
=== Import sur son wiki ===
Allez sur la page spécial "'''Importer des pages'''" soit <nowiki>"/Special:Import"</nowiki>
Allez sur la page spécial "'''Importer des pages'''" soit <nowiki>"/Special:Import"</nowiki>


[[File:Import_barre_progression.JPG|border|Exemple export pour barres de progression]]
[[File:Import_barre_progression.JPG|border|Exemple export pour barres de progression]]


== Erreur "The content model 'sanitized-css' is not registered on this wiki." ==
=== Erreur "The content model 'sanitized-css' is not registered on this wiki." ===
[https://www.mediawiki.org/wiki/Extension:TemplateStyles#Installation '''source''']


  <span style="color:red">Échec de l’importation : The content model 'sanitized-css' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>
  <span style="color:red">Échec de l’importation : The content model 'sanitized-css' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>


# cd /tmp/
[[#Installation_extension_.22TemplateStyles.22|Installer l'extension "TemplateStyles"]]
# wget https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_35-7a40a6a.tar.gz
# tar -xzf TemplateStyles-REL1_35-7a40a6a.tar.gz -C /var/www/mediawiki/extensions
# chown -R www-data. /var/www/mediawiki/extensions/TemplateStyles
# echo 'wfLoadExtension( 'TemplateStyles' );' >> /var/www/mediawiki/LocalSettings.php


== Erreur "The content model 'Scribunto' is not registered on this wiki." ==
=== Erreur "The content model 'Scribunto' is not registered on this wiki." ===


  <span style="color:red">Échec de l’importation : The content model 'Scribunto' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>
  <span style="color:red">Échec de l’importation : The content model 'Scribunto' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.</span>


# cd /tmp/
[[#Installation_extension_.22Scribunto.22|Installer l'extension "Scribunto"]]
# wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_35-d21b655.tar.gz
# tar -xzf Scribunto-REL1_35-d21b655.tar.gz -C /var/www/mediawiki/extensions/Scribunto/
# chown -R www-data. /var/www/mediawiki/extensions/Scribunto
# echo 'wfLoadExtension( 'Scribunto' );' >> /var/www/mediawiki/LocalSettings.php
# echo '$wgScribuntoDefaultEngine = 'luastandalone';' >> /var/www/mediawiki/LocalSettings.php
# chmod a+x /var/www/mediawiki/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua


== (erreur d'affichage "{{#expr".. etc) Activer "ParserFunctions" ==


# echo 'wfLoadExtension( 'ParserFunctions' );' >> /var/www/mediawiki/LocalSettings.php
=== (erreur d'affichage "{{#expr".. etc) ===
# echo '$wgPFEnableStringFunctions = true;' >> /var/www/mediawiki/LocalSettings.php


= Bandeau d'information/avertissement =
[[#Activer_.22ParserFunctions.22|Activer "ParserFunctions"]]


== Bandeau d'information/avertissement ==
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = ça semble fonctionner :)))
}}
J'ai exporté tous les modules "Lua" via [https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Exporter cette page].
J'ai exporté tous les modules "Lua" via [https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Exporter cette page].
  Module:Format
  Module:Format
Ligne 110 : Ligne 462 :


[[File:Export wikipedia.PNG|border|On pense a cocher "Inclure les modèles"]]
[[File:Export wikipedia.PNG|border|On pense a cocher "Inclure les modèles"]]
=Astuces de personnalisation=
[https://www.mediawiki.org/wiki/Manual:LocalSettings.php Source]
== Nom du Wiki ==
# vi /var/www/mediawiki/LocalSettings.php
$wgSitename = "<font color = blue>Le nom de mon Wiki</font>";
== Logo ==
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = La taille du logo en pixels doit être de 135x135
}}
Il faut placer son logo dans "'''/var/www/mediawiki/skins/common/images/'''"
# mkdir -p /var/www/mediawiki/skins/common/images
On copie son image (ex: <font color = green>logo.png</font>) dans /var/www/mediawiki/skins/common/images/
# chown -R www-data. /var/www/mediawiki/skins/common
# vi /var/www/mediawiki/LocalSettings.php
...
<font color = blue>$wgLogo = "/skins/common/images/<font color = green>logo.png</font>";</font>
...
== Edition disponible uniquement pour les utilisateur authentifiés ==
# echo '$wgGroupPermissions['*']['edit'] = false;' >> /var/www/mediawiki/LocalSettings.php
== Skin ==
=== Citizen ===
Citizen est un habillage MediaWiki beau, pratique et adaptatif, qui intègre les extensions dans une expérience cohérente. Il a été créé à l’origine pour le wiki de Star Citizen, mais il est suffisamment souple pour fonctionner sur différentes configurations de MediaWiki.
* Installation :
# cd /var/www/localhost/htdocs/mediawiki/skins/
# wget <nowiki>https://<nowiki>github.com/StarCitizenTools/mediawiki-skins-Citizen/archive/main.zip
# unzip main.zip
# mv mediawiki-skins-Citizen-main Citizen
# chown -R root:root Citizen
# find Citizen -type d -exec chmod 755 {} \;
# find Citizen -type f -exec chmod 644 {} \;
Puis, on édite le fichier de configuration :
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
On ajoute ou modifie :
$wgDefaultSkin = "Citizen";
wfLoadSkin( 'Citizen' );
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = On peut évidemment commenter les autres skins pour être sûr de mieux contrôler l’expérience utilisateur.
}}
Et si [[#Extension_MobileFrontend|MobileFrontend]] est installé (ce que je déconseille avec ce skin) :
$wgDefaultMobileSkin = 'citizen';
* Configuration :
Voir [https://starcitizentools.github.io/mediawiki-skins-Citizen/config/ '''ce lien'''].
= Dossier temporaire dédié pour contourner restriction LXC =
mkdir -p /var/www/localhost/htdocs/mediawiki/tmp
chown -R lighttpd:lighttpd /var/www/localhost/htdocs/mediawiki/tmp
chmod 2775 /var/www/localhost/htdocs/mediawiki/tmp
Dans LocalSettings.php, ajoute :
vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
<font color = grey>...</font>
$wgTmpDirectory = "/var/www/localhost/htdocs/mediawiki/tmp";

Dernière version du 6 mai 2026 à 11:39

Alpine Linux

Source Autre Source

Installation dépendances

# apk update && apk upgrade
# apk add curl lighttpd php php-dom php-json php-pgsql php-cgi php-mbstring php-xml php-ctype php-fileinfo php-iconv php-zlib php-gd php-session php7-intl php7-pecl-apcu php7-mysqli php7-xmlreader php7-xmlwriter php7-pecl-memcached memcached git imagemagick diffutils mariadb mariadb-common mariadb-client

Configuration de MariaDB

On active le serveur :

# service mariadb setup
# rc-update add mariadb default
# service mariadb start

On sécurise MariaDB :

# mysql_secure_installation
Switch to unix_socket authentication [Y/n] y
Change the root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
... Success!

On configure la base de donnée pour acceuillir MediaWiki :

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mediawiki;
MariaDB [(none)]> CREATE USER 'mediawiki'@'localhost' IDENTIFIED BY 'monsupermotdepasse';
MariaDB [(none)]> GRANT ALL ON mediawiki.* TO 'mediawiki'@'localhost';
MariaDB [(none)]> quit;

Installation de MediaWiki

On récupère la dernière version à cette adresse et on place MediaWiki dans l'arborescence du serveur Web :

# wget https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.1.zip
# unzip mediawiki-1.36.1.zip
# mv mediawiki-1.36.1 /var/www/localhost/htdocs/mediawiki
# rm mediawiki-1.36.1.zip

On attribue les droits :

# chown -R lighttpd /var/www/localhost/htdocs/mediawiki

On édite la configuration de "lighttpd" pour activer "mod_fastcgi.conf" :

# vi /etc/lighttpd/lighttpd.conf
...
# uncomment for php/fastcgi support
   include "mod_fastcgi.conf"
# uncomment for php/fastcgi fpm support
...

A la fin de ce même fichier, on protège le dossier "images" de l'éxécution de scripts, par sécurité, en ajoutant :

...
$HTTP["url"] =~  "^/mediawiki/images/" {
    fastcgi.server = ()
} 

On active memcached maintenant et au redemarrage :

 # service memcached start && rc-update add memcached default

On lance le serveur "lighttpd" immédiatement et au démarrage :

# service lighttpd start && rc-update add lighttpd default

Configuration de MediaWiki

On se rend à l'adresse "http://ADRESSE_IP_SERVEUR/mediawiki/mw-config/index.php" :

  • On configure l'environnement linguistique..

Choix du langage..

  • On vérifie que tous les prérequis sont satisfait :

Vérification des prérequis..

  • Paramètre de la base de données :

Réglages de MariaDB..

  • On peut laisser par défaut cette option et continuer :

Option par défaut..

  • On configure le nom du Wiki et le compte administrateur, ici "admin" pour plus de simplicité :

Nom Wiki et compte admin..

  • La page suivante comporte de nombreuses options à régler à sa guise, en fin de page on active le téléversement des fichiers, "Instant Commons" et on active "memcached" :

Une page d'option bien fournit..

  • On confirme que la configuration est terminée pour lancer l'installation :

On est la pour ça!

  • Le script d'installation confirme que tout s'est déroulé comme prévu :

L'installation est presque terminé!

  • Le serveur vous envoie le fichier "LocalSettings.php" à placer dans "/var/www/localhost/htdocs/mediawiki/" :

Envoie de "LocalSettings.php"

Une méthode simple est de copier-coller le contenu du fichier :

# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
Copier-Coller de LocalSettings.php
# chown lighttpd /var/www/localhost/htdocs/mediawiki/LocalSettings.php
  • Par sécurité on lance le redémarrage de l'installation pour effacer les options sélectionner et rendre le contenu de "LocalSettings.php" inaccessible :

On lance le redémarrage de l'installation..

  • On confirme l'effacement des données et l'installation est terminé :

On confirme l'éffacement..

Sécuriser lighttpd

On créé le certificat :

# apk update && apk upgrade
# apk add openssl
# openssl req -newkey rsa:2048 -x509 -keyout /etc/lighttpd/server.pem -out /etc/lighttpd/server.pem -days 365 -nodes
# chmod 400 /etc/lighttpd/server.pem

On édite la configuration du serveur :

# vi /etc/lighttpd/lighttpd.conf
...
server.modules = (
    "mod_openssl",
#    "mod_rewrite",
...
...
server.port             = 443
ssl.engine    = "enable"
ssl.pemfile   = "/etc/lighttpd/server.pem"

On relance le service :

# service lighttpd restart

On adapte le fichier "LocalSettings.php" :

# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
...
## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://ADRESSE_IP_SERVEUR";
...

Vhost Reverse-Proxy Nginx

server {
    listen 80;
    listen [::]:80;
    server_name     monwiki.exemple.net;
    return 301 https://$host$request_uri;
}

server {
    server_name     monwiki.exemple.net;

    client_max_body_size 50M;

    # protection
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
    add_header Strict-Transport-Security "max-age=31536000" always;

    location / {
        proxy_set_header Host              $host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Port  $server_port;

        proxy_pass https://ADRESSE_IP_SERVEUR/mediawiki/;
    }

    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot

    ssl_certificate /etc/letsencrypt/live/monwiki.exemple.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monwiki.exemple.net/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;

}

On adapte le fichier "LocalSettings.php" :

# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
...
#$wgScriptPath = "/mediawiki";                                                                                                                                                                                                                                                                                                                      
$wgScriptPath = "";
...
...
## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://monwiki.exemple.net";
...

Mettre à jour MediWiki

Source

Alpine Linux

On récupère la nouvelle version :

# cd /usr/share/webapps/
# wget https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.1.zip
# unzip mediawiki-1.36.1.zip
# rm mediawiki-1.36.1.zip

On attribue les droits :

# chown -R lighttpd mediawiki-1.36.1

On récupère le "LocalSettings.php" :

# cp -rp mediawiki-1.35.1/LocalSettings.php mediawiki-1.36.1/

On récupère le dossier "images" :

# cp -rp mediawiki-1.35.1/images mediawiki-1.36.1/

(Optionnel) On installe la version 1.36 de "TemplateStyles" :

# wget https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_36-e548bf1.tar.gz
# tar -xzf TemplateStyles-REL1_36-e548bf1.tar.gz -C /usr/share/webapps/mediawiki-1.36.1/extensions/
# chown -R lighttpd /usr/share/webapps/mediawiki-1.36.1/extensions/TemplateStyles
# rm TemplateStyles-REL1_36-e548bf1.tar.gz

(Optionnel) On installe la version 1.36 de "Scribunto" :

# wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_36-ac71012.tar.gz
# tar -xzf Scribunto-REL1_36-ac71012.tar.gz -C /usr/share/webapps/mediawiki-1.36.1/extensions/
# chown -R lighttpd /usr/share/webapps/mediawiki-1.36.1/extensions/Scribunto
# rm Scribunto-REL1_36-ac71012.tar.gz

(Optionnel) On récupère son logo :

# cp -rp /usr/share/webapps/mediawiki-1.35.1/skins/common/images/logo.png /usr/share/webapps/mediawiki-1.36.1/images/logo.png

Ensuite il faut mettre a jour la base de données :

# php /usr/share/webapps/mediawiki-1.36.1/maintenance/update.php

On remplace le lien symbolique de l'ancien wiki par le nouveau :

# rm /var/www/localhost/htdocs/mediawiki
# ln -s /usr/share/webapps/mediawiki-1.36.1 /var/www/localhost/htdocs/mediawiki

Une fois vérifié que tout fonctionne on peut supprimer l'ancienne version :

# rm -r /usr/share/webapps/mediawiki-1.35.1

Transférer MediaWiki

Sauvegarde

Sur l'ancien serveur on commence par saugarder les fichiers :

ancienwiki:~# tar zcvhf /var/www/mediawiki.tgz /var/www/mediawiki

Ensuite on sauvegarde la base de données :

ancienwiki:~# mysqldump -u mediawiki -p mediawiki > /var/www/mediawiki.sql

Transfert des fichiers

Depuis l'ancien serveur :

ancienwiki:~# scp /var/www/mediawiki.tgz  IP_NOUVEAU_SERVEUR:/var/www/localhost/htdocs/
ancienwiki:~# scp /var/www/mediawiki.sql  IP_NOUVEAU_SERVEUR:/var/www/localhost/htdocs/

Restauration

Sur le nouveau serveur, on commence par restaurer les fichiers :

nouveauwiki:~# cd /var/www/localhost/htdocs/
nouveauwiki:~# tar -xvzf mediawiki.tgz
nouveauwiki:~# mv var/www/mediawiki ./
nouveauwiki:~# rm -r var

On attribue les droits :

nouveauwiki:~# chown -R lighttpd:root mediawiki

Puis on restaure la base de données du wiki :

nouveauwiki:~# mysql -u mediawiki -p mediawiki < /var/www/localhost/htdocs/mediawiki.sql

Il faudra probablement adapter "LocalSettings.php", une fois terminé il est possible de supprimer les fichiers transférés :

nouveauwiki:~# rm /var/www/localhost/htdocs/mediawiki.tgz
nouveauwiki:~# rm /var/www/localhost/htdocs/mediawiki.sql

Erreur LUA

Lua error: Internal error: The interpreter exited with status 127.
# apk add lua
# service lighttpd restart
# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
..
$wgScribuntoDefaultEngine = 'luastandalone';                
$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua';
..

Import de fonctions

Source utile

Réglages de base

Activer Uploads & ImageMagick

# vi /var/www/mediawiki/LocalSettings.php
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
# apt install imagemagick

Pour régler la taille maximale des importations de fichiers, il faut configurer le service PHP local et le reverse proxy s’il est utilisé.

Exemple avec une limite de 50 Mo et PHP 8.3 :

# vi /etc/php83/php.ini

Et on modifie :

...
upload_max_filesize = 50M
...
post_max_size = 60M
...
# rc-service php-fpm83 restart

Activer "IstantCommons

source

# vi /var/www/mediawiki/LocalSettings.php
$wgUseInstantCommons = true;

CSS Wikipedia

  1. Se connecter sur son Wiki (avec droit d'éditiont)
  2. Se rendre à l'adresse "https://mon-mediawiki.com/index.php?title=MediaWiki:Common.css"
  3. cliquer sur "Edit" et remplacer par ce code-ci!
  4. Il faudra vider le cache de son navigateur / recharger avec Ctrl + F5

Installation extension "TemplateStyles"

source

# cd /tmp/
# wget https://extdist.wmflabs.org/dist/extensions/TemplateStyles-REL1_35-7a40a6a.tar.gz
# tar -xzf TemplateStyles-REL1_35-7a40a6a.tar.gz -C /var/www/mediawiki/extensions
# chown -R www-data. /var/www/mediawiki/extensions/TemplateStyles
# echo 'wfLoadExtension( 'TemplateStyles' );' >> /var/www/mediawiki/LocalSettings.php

Installation extension "Scribunto"

Source

# cd /tmp/
# wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_35-d21b655.tar.gz
# tar -xzf Scribunto-REL1_35-d21b655.tar.gz -C /var/www/mediawiki/extensions/Scribunto/
# chown -R www-data. /var/www/mediawiki/extensions/Scribunto
# echo 'wfLoadExtension( 'Scribunto' );' >> /var/www/mediawiki/LocalSettings.php
# echo '$wgScribuntoDefaultEngine = 'luastandalone';' >> /var/www/mediawiki/LocalSettings.php
# chmod a+x /var/www/mediawiki/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua

Activer "ParserFunctions"

# echo 'wfLoadExtension( 'ParserFunctions' );' >> /var/www/mediawiki/LocalSettings.php
# echo '$wgPFEnableStringFunctions = true;' >> /var/www/mediawiki/LocalSettings.php

Extension MobileFrontend

On télécharge l'extension :

# cd /var/www/localhost/htdocs/mediawiki/extensions/
# git clone --branch REL1_45 https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend

On édite le fichier de configuration :

# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php

Ajouter à la fin du fichier :

...
wfLoadSkin( 'MinervaNeue' );
wfLoadExtension( 'MobileFrontend' );
$wgDefaultMobileSkin = 'minerva';
$wgMFAutodetectMobileView = true;

Exemple Serveur Wikipedia et barre de progression

100 % la preuve par l'exemple!

   

Export chez Wikipedia

Page d'export soit "/Spécial:Exporter"

J'ai exporté les modèles suivant :

Modèle:Progression
Modèle:0/4
Modèle:1/4
Modèle:2/4
Modèle:3/4
Modèle:4/4
Modèle:Avancement
Modèle:Barre de progression

Exemple export pour barres de progression

Import sur son wiki

Allez sur la page spécial "Importer des pages" soit "/Special:Import"

Exemple export pour barres de progression

Erreur "The content model 'sanitized-css' is not registered on this wiki."

Échec de l’importation : The content model 'sanitized-css' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.

Installer l'extension "TemplateStyles"

Erreur "The content model 'Scribunto' is not registered on this wiki."

Échec de l’importation : The content model 'Scribunto' is not registered on this wiki. See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.

Installer l'extension "Scribunto"


(erreur d'affichage "{{#expr".. etc)

Activer "ParserFunctions"

Bandeau d'information/avertissement

J'ai exporté tous les modules "Lua" via cette page.

Module:Format
Module:Date
Module:MagicDate
Module:Test
Module:ControlArgs
Module:Documentation module
Module:Bandeau

On pense a cocher "Inclure les modèles"

Puis ces modèles :

Modèle:Méta bandeau
Modèle:Méta bandeau d'avertissement
Modèle:Méta bandeau de section


On pense a cocher "Inclure les modèles"

Astuces de personnalisation

Source

Nom du Wiki

# vi /var/www/mediawiki/LocalSettings.php
$wgSitename = "Le nom de mon Wiki";

Il faut placer son logo dans "/var/www/mediawiki/skins/common/images/"

# mkdir -p /var/www/mediawiki/skins/common/images

On copie son image (ex: logo.png) dans /var/www/mediawiki/skins/common/images/

# chown -R www-data. /var/www/mediawiki/skins/common
# vi /var/www/mediawiki/LocalSettings.php
...
$wgLogo = "/skins/common/images/logo.png";
...

Edition disponible uniquement pour les utilisateur authentifiés

# echo '$wgGroupPermissions['*']['edit'] = false;' >> /var/www/mediawiki/LocalSettings.php

Skin

Citizen

Citizen est un habillage MediaWiki beau, pratique et adaptatif, qui intègre les extensions dans une expérience cohérente. Il a été créé à l’origine pour le wiki de Star Citizen, mais il est suffisamment souple pour fonctionner sur différentes configurations de MediaWiki.

  • Installation :
# cd /var/www/localhost/htdocs/mediawiki/skins/
# wget <nowiki>https://<nowiki>github.com/StarCitizenTools/mediawiki-skins-Citizen/archive/main.zip
# unzip main.zip
# mv mediawiki-skins-Citizen-main Citizen
# chown -R root:root Citizen
# find Citizen -type d -exec chmod 755 {} \;
# find Citizen -type f -exec chmod 644 {} \;

Puis, on édite le fichier de configuration :

# vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php

On ajoute ou modifie :

$wgDefaultSkin = "Citizen";
wfLoadSkin( 'Citizen' );

Et si MobileFrontend est installé (ce que je déconseille avec ce skin) :

$wgDefaultMobileSkin = 'citizen';
  • Configuration :

Voir ce lien.

Dossier temporaire dédié pour contourner restriction LXC

mkdir -p /var/www/localhost/htdocs/mediawiki/tmp
chown -R lighttpd:lighttpd /var/www/localhost/htdocs/mediawiki/tmp
chmod 2775 /var/www/localhost/htdocs/mediawiki/tmp

Dans LocalSettings.php, ajoute :

vi /var/www/localhost/htdocs/mediawiki/LocalSettings.php
...
$wgTmpDirectory = "/var/www/localhost/htdocs/mediawiki/tmp";