Outils pour utilisateurs

Outils du site


docker:installer_dokuwiki

Ceci est une ancienne révision du document !


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 :

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 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 l'image a été démarrée, visiter le site http://ADRESSE-DU-SERVEUR:8888

Lancer le Docker Compose au démarrage du serveur

:!: En test :!:

Créer un fichier /etc/systemd/system/docker-dokuwiki.service :

[Unit]
Description=Docker Dokuwiki
Requires=docker.service
After=docker.service
 
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/var/www/dokuwiki
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0
 
[Install]
WantedBy=multi-user.target

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
sudo systemctl restart apache2

Créer un VirtualHost pour le site DokuWiki dockerisé :

docker/installer_dokuwiki.1659278935.txt.gz · Dernière modification: 2022/07/31 14:48 (modification externe)