« MediaWiki » : différence entre les versions
| Ligne 153 : | Ligne 153 : | ||
proxy_set_header X-Forwarded-Host $http_host; | proxy_set_header X-Forwarded-Host $http_host; | ||
proxy_pass https://<font color = blue>ADRESSE_IP_SERVEUR</font>; | proxy_pass https://<font color = blue>ADRESSE_IP_SERVEUR</font>/mediawiki/; | ||
} | } | ||
| Ligne 174 : | Ligne 174 : | ||
On adapte le fichier "LocalSettings.php" : | On adapte le fichier "LocalSettings.php" : | ||
# vi /var/www/localhost/htdocs/mediawiki/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> | <font color = grey>...</font> | ||
Version du 22 août 2021 à 09:42
Alpine Linux
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..
- On vérifie que tous les prérequis sont satisfait :
- Paramètre de la base de données :
- On peut laisser par défaut cette option et continuer :
- On configure le nom du Wiki et le compte administrateur, ici "admin" pour plus de simplicité :
- 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" :
- On confirme que la configuration est terminée pour lancer l'installation :
- Le script d'installation confirme que tout s'est déroulé comme prévu :
- Le serveur vous envoie le fichier "LocalSettings.php" à placer dans "/var/www/localhost/htdocs/mediawiki/" :
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 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 confirme l'effacement des données et l'installation est terminé :
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 404;
return 301 https://$host$request_uri;
}
server {
#client_max_body_size 20M;
server_name monwiki.exemple.net;
error_page 403 https://monwiki.exemple.net;
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-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
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;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
ssl_trusted_certificate /etc/letsencrypt/live/monwiki.exemple.net/chain.pem;
ssl_stapling on;
ssl_stapling_verify on;
}
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"; ...
Import de fonctions
Réglages de base
Activer Import & ImageMagick
# vi /var/www/mediawiki/LocalSettings.php
$wgEnableUploads = true; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert";
# apt install imagemagick
Activer "IstantCommons
# vi /var/www/mediawiki/LocalSettings.php
$wgUseInstantCommons = true;
CSS Wikipedia
- Se connecter sur son Wiki (avec droit d'éditiont)
- Se rendre à l'adresse "https://mon-mediawiki.com/index.php?title=MediaWiki:Common.css"
- cliquer sur "Edit" et remplacer par ce code-ci!
- Il faudra vider le cache de son navigateur / recharger avec Ctrl + F5
Installation extension "TemplateStyles"
# 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"
# 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
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
Import sur son wiki
Allez sur la page spécial "Importer des pages" soit "/Special:Import"
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)
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
Puis ces modèles :
Modèle:Méta bandeau Modèle:Méta bandeau d'avertissement Modèle:Méta bandeau de section
Astuces de personnalisation
Nom du Wiki
# vi /var/www/mediawiki/LocalSettings.php
$wgSitename = "Le nom de mon Wiki";
Logo
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