Outils pour utilisateurs

Outils du site


docker:installer_dokuwiki

Installer Dokuwiki

:!: 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.

Créer un conteneur depuis une image officielle de PHP+Apache

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 :

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.

Lancer le conteneur au démarrage du serveur

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.

Configuration d'Apache sur le serveur Hôte

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é :

/etc/apache2/sites-available/dokuwiki.mydomain.org.conf
<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>
docker/installer_dokuwiki.txt · Dernière modification: 2022/08/06 06:27 par marclebrun