« Serveur mediawiki basé docker » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
== Présentation == | == Présentation == | ||
Pur exemple de récursivité, cette page décrit la mise en place du site sur lequel elle est écrite. C'est donc un texte "Apocryphe"... comme la bible! | Pur exemple de récursivité, cette page décrit la mise en place du site sur lequel elle est écrite. C'est donc un texte "cosmogonique" conceptuellement "Apocryphe"... comme la bible! | ||
== Préparation == | == Préparation == |
Version du 10 juin 2023 à 18:09
Présentation
Pur exemple de récursivité, cette page décrit la mise en place du site sur lequel elle est écrite. C'est donc un texte "cosmogonique" conceptuellement "Apocryphe"... comme la bible!
Préparation
Prérequis
- Un serveur FRONT (une VM) avec Docker installé et Apache configuré en "reverse proxy". Un Virtual host est également configuré pour notre site.
- Un serveur de base de données mysql ou mariaDB (moi il est installé sur un sous réseau "back" non accessible d'internet mais accessible du serveur FRONT (réseau 10.0.0.0/8)
- Le fichier de configuration LocalSettings.php et le fichier image qui symbolise le wiki (pour moi c'est homer.png que l'on retrouve ce contre en haut a gauche).
Nettoyage
Si on avait "joué" avant avec le serveur il est préférable d'ffacer tout ce qui ne sert plus à rien.
sudo docker system prune -a
Efface tout les containers qui ne tournent pas. (attention à ce que vous faites).
Installation
On va créer le réseau local sur lequel notre container mediawiki va tourner. Si ce n'est pas le premier container "en frontal" sur ce serveur cette ligne est inutiles votre réseau existe déjà
sudo docker network create --subnet=172.18.0.0/16 front-net
On instancie une image de "mediawiki" sous le nom de "knowledge-mediawiki" en l'attachant au réseau "front-net" et en lui donnant l'adresse IP 172.18.0.100 (c'est un choix arbitraire on peut changer cette adresse n'importe où dans le "netmask" 172.10.x.x.
sudo docker container run --net front-net --ip 172.18.0.100 -d --name knowledge-mediawiki mediawiki
On vérifie la création :
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e1868b5c70e4 mediawiki "docker-php-entrypoi…" 7 minutes ago Up 7 minutes 80/tcp knowledge-mediawiki
On vérifie que la machine est connectée au réseau en faisant la liste des serveurs sur le sous réseau
nmap -sP 172.18.0.0/16 #pour la liste des IP associées
nmap -sP 172.18.0.0/24 #pour les 256 premères
Starting Nmap 7.80 ( https://nmap.org ) at 2023-06-10 19:30 CEST
Nmap scan report for xxxxx (172.18.0.1)
Host is up (0.049s latency).
Nmap scan report for 172.18.0.100
Host is up (0.0035s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 4.92 seconds
On voit bien notre container en 172.18.0.100
On teste la connectivité http:
curl -i http://172.18.0.100
Qui nous dit :
HTTP/1.1 301 Moved Permanently
Date: Sat, 10 Jun 2023 17:33:30 GMT
Server: Apache/2.4.56 (Debian)
X-Powered-By: PHP/8.1.19
X-Content-Type-Options: nosniff
Vary: Accept-Encoding,Cookie
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: private, must-revalidate, max-age=0
Last-Modified: Sat, 10 Jun 2023 17:33:30 GMT
Location: https://knowledge.pinon-hebert.fr/index.php/Accueil
X-Request-Id: b2c445af2999da8469c434c1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
On va donc chercher la page où on nous dit d'aller.
https://knowledge.pinon-hebert.fr/index.php/Accueil
On reçoit une page qui nous dit :
LocalSettings.php not found.
Tout tourne bien il reste plus qu'a configurer.
Configuration
Les fichiers de config
sudo docker cp LocalSettings.php knowledge-mediawiki:/var/www/html
sudo docker cp homer.png knowledge-mediawiki:/var/www/html/resources/assets/homer.png
Si le fichier "LocalSettings.php" est correctement remplis le site marchera bien. Sinon on peut utiliser l'interface de configuration de mediawiki sur la page de garde principale du serveur "non configuré".
La configuration du "reverse proxy"
On modifie le fichier de conf du reverse proxy Apache (un autre RP est utilisable mais moi c'est ... Apache).
On modifie le fichier knowledge-ssl.conf.
sudo vi /etc/apache2/sites-available/knowledge-ssl.conf
Et, dans le "virtual host" on ajoute :
ProxyPass / http://172.18.0.100/ ProxyPassReverse / http://172.18.0.100/
On recharge la conf apache:
sudo systemctl reload apache2
Et on peut se connecter depuis l'internet "public" https://knowledge.pinon-hebert.fr/index.php/Accueil dans un navigateur !!!!
Et ça marche!