en cours de test
Dokuwiki n'est pas encore compatible avec PHP 8.x, donc je vais le faire tourner dans un conteneur disposant de PHP 7.x.
Source: https://loganmarchione.com/2022/03/the-best-way-to-run-dokuwiki-in-docker/
Décompresser une copie archivée du wiki dans un nouveau dossier /var/www/dokuwiki :
sudo mkdir /var/www/dokuwiki cd /var/www/dokuwiki sudo unzip /home/marc/backup-de-mon-wiki-AAAAMMJJ.zip sudo chown -R www-data:www-data /var/www/dokuwiki
Dans ce dossier, créer un fichier docker-compose.yml :
version: '3' services: dokuwiki: container_name: dokuwiki image: php:7-apache-bullseye restart: unless-stopped ports: - '8888:80' volumes: - '/var/www/dokuwiki:/var/www/html'
ports
Le port 80 du conteneur est redirigé vers le port local 8888
volumes
Le dossier /var/www/html du conteneur est redirigé vers le dossier /var/www/dokuwiki
Ensuite lancer docker-compose
docker-compose up
Lorsque le conteneur a été démarré, visiter le site http://ADRESSE-DU-SERVEUR:8888.
Arrêter le conteneur avec Ctrl+C.
Créer un fichier /etc/systemd/system/docker-dokuwiki.service :
[Unit] Description=Conteneur pour Dokuwiki Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/var/www/dokuwiki ExecStart=/usr/bin/docker-compose up -d ExecStop=/usr/bin/docker-compose down TimeoutStartSec=0 [Install] WantedBy=multi-user.target
Lancer cette commande pour activer le nouveau service :
sudo systemctl enable docker-dokuwiki
Ensuite le démarrer :
sudo systemctl start docker-dokuwiki
Lorsque le serveur est redémarré, le conteneur est également redémarré en tant que service.
Apache sur le serveur hôte doit rediriger vers le conteneur.
Vérifier que le module proxy est activé :
sudo apache2ctl -M
Sinon l'activer :
sudo a2enmod proxy_http sudo a2enmod proxy sudo systemctl restart apache2
Créer un VirtualHost pour le site DokuWiki dockerisé :
<VirtualHost *:80> ServerName dokuwiki.mydomain.org ServerAdmin marc@localhost ProxyPreserveHost On ProxyRequests Off ProxyVia On ProxyPass / http://localhost:8888/ ProxyPassReverse / http://localhost:8888/ ErrorLog ${APACHE_LOG_DIR}/dokuwiki.mydomain.org/error.log CustomLog ${APACHE_LOG_DIR}/dokuwiki.mydomain.org/access.log combined </VirtualHost>