Installation DokuWiki · 7 min read · Dec 14, 2025

Comment installer DokuWiki avec Nginx et Let's Encrypt SSL sur FreeBSD 12

DokuWiki est un logiciel wiki Open Source simple à utiliser et très polyvalent qui ne nécessite pas de base de données. Il est apprécié des utilisateurs pour sa syntaxe claire et lisible. La facilité de maintenance, de sauvegarde et d’intégration en fait le favori des administrateurs. Les contrôles d’accès intégrés et les connecteurs d’authentification rendent DokuWiki particulièrement utile dans le contexte de l’entreprise et un grand nombre de plugins contribué par sa communauté dynamique permettent une large gamme de cas d’utilisation au-delà d’un wiki traditionnel. Ce tutoriel vous montrera comment installer DokuWiki sur un serveur FreeBSD 12.

Exigences

Assurez-vous que votre serveur répond aux exigences suivantes.

  • Logiciel de serveur web prenant en charge PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
  • Version PHP 5.6 ou ultérieure, des versions plus récentes sont fortement recommandées.

Prérequis

  • Un système d’exploitation FreeBSD 12.
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifiez la version de FreeBSD.

uname -ro  
# FreeBSD 12.1-RELEASE

Mettez à jour les paquets de votre système d’exploitation (logiciel). C’est une étape importante car elle garantit que vous disposez des dernières mises à jour et correctifs de sécurité pour les paquets logiciels par défaut de votre système d’exploitation.

freebsd-update fetch install  
pkg update && pkg upgrade -y

Installez quelques paquets essentiels qui sont nécessaires pour l’administration de base du système d’exploitation FreeBSD 12.

pkg install -y sudo vim unzip curl wget bash bash-completion socat git

Créez un nouveau compte utilisateur avec votre nom d’utilisateur préféré, nous utilisons johndoe.

adduser  
# Nom d'utilisateur: johndoe  
# Nom complet: John Doe  
# Uid (laisser vide pour par défaut):   
# Groupe de connexion [johndoe]:   
# Le groupe de connexion est johndoe. Inviter johndoe dans d'autres groupes? []: wheel  
# Classe de connexion [par défaut]:   
# Shell (sh csh tcsh nologin) [sh]: bash  
# Répertoire personnel [/home/johndoe]:   
# Autorisations du répertoire personnel (laisser vide pour par défaut):   
# Utiliser l'authentification par mot de passe? [oui]:   
# Utiliser un mot de passe vide? (oui/non) [non]:   
# Utiliser un mot de passe aléatoire? (oui/non) [non]:   
# Entrer le mot de passe: votre_mot_de_passe_sécurisé  
# Entrer le mot de passe à nouveau: votre_mot_de_passe_sécurisé  
# Verrouiller le compte après la création? [non]:   
# OK? (oui/non): oui  
# Ajouter un autre utilisateur? (oui/non): non  
# Au revoir!

Exécutez la commande visudo et décommentez la ligne %wheel ALL=(ALL) ALL, pour permettre aux membres du groupe wheel d’exécuter n’importe quelle commande.

visudo  
  
# Décommentez en supprimant le signe dièse (#)  
%wheel ALL=(ALL) ALL

Maintenant, passez à votre nouvel utilisateur créé avec la commande su.

su - johndoe

REMARQUE : Remplacez johndoe par votre nom d’utilisateur.

Configurez le fuseau horaire.

sudo tzsetup

Étape 1 - Installer PHP et les extensions PHP

Installez PHP, ainsi que les extensions PHP nécessaires.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsql

Vérifiez la version de PHP.

php --version  
# PHP 7.2.17 (cli) (construit: Apr 13 2019 01:13:32) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Créez un lien symbolique php.ini-production vers php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Activez et démarrez PHP-FPM.

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Étape 2 - Installer le client acme.sh et obtenir le certificat Let’s Encrypt (optionnel)

Sécuriser votre site avec HTTPS n’est pas nécessaire, mais c’est une bonne pratique pour sécuriser le trafic de votre site. Pour obtenir un certificat TLS de Let’s Encrypt, nous utiliserons le client acme.sh. Acme.sh est un logiciel shell UNIX simple pour obtenir des certificats TLS de Let’s Encrypt sans dépendances.

Téléchargez et installez acme.sh :

sudo pkg install -y acme.sh

Vérifiez la version d’acme.sh :

acme.sh --version  
# v2.8.5

Obtenez des certificats RSA et ECC/ECDSA pour votre domaine/nom d’hôte :

# RSA 2048  
sudo acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
sudo acme.sh --issue --standalone -d example.com --keylength ec-256

Si vous souhaitez des certificats factices pour les tests, vous pouvez ajouter le drapeau --staging aux commandes ci-dessus.

Après avoir exécuté les commandes ci-dessus, vos certificats et clés seront dans :

  • Pour RSA : le répertoire /home/username/example.com.
  • Pour ECC/ECDSA : le répertoire /home/username/example.com_ecc.

Pour lister vos certificats émis, vous pouvez exécuter :

acme.sh --list

Créez un répertoire pour stocker vos certificats. Nous utiliserons le répertoire /etc/letsencrypt.

`sudo mkdir -p /etc/letsecnrypt/example.com`  
`sudo mkdir -p /etc/letsencrypt/example.com_ecc`

Installez/copiez les certificats dans le répertoire /etc/letsencrypt.

# RSA  
sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"  
# ECC/ECDSA  
sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Tous les certificats seront automatiquement renouvelés tous les 60 jours.

Après avoir obtenu les certificats, quittez l’utilisateur root et revenez à l’utilisateur sudo régulier :

exit

Étape 3 - Installer et configurer Nginx

DokuWiki fonctionnera sur n’importe quel serveur web prenant en charge PHP. Dans ce tutoriel, nous utiliserons Nginx. Si vous préférez Apache ou un autre serveur web, vous pouvez utiliser cela à la place de Nginx.

Installez Nginx.

sudo pkg install -y nginx

Vérifiez la version de Nginx.

nginx -v  
# version nginx: nginx/1.16.1

Activez et démarrez le service Nginx.

sudo sysrc nginx_enable=yes  
sudo service nginx start

Exécutez sudo vim /usr/local/etc/nginx/dokuwiki.conf et configurez le serveur virtuel Nginx pour DokuWiki.

sudo vim /usr/local/etc/nginx/dokuwiki.conf

Copiez/collez la configuration Nginx suivante et enregistrez-la :

server {  
    
    listen [::]:443 ssl;  
    listen 443 ssl;
    listen [::]:80;
    listen 80;
    # RSA  
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
    # ECC  
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;  

    server_name wiki.example.com;
    root /usr/local/www/dokuwiki;
    index index.html index.htm index.php doku.php;
    
    client_max_body_size 15M;
    client_body_buffer_size 128K;
    
    location / {
        try_files $uri $uri/ @dokuwiki;
    }
    
    location ^~ /conf/ { return 403; }
    location ^~ /data/ { return 403; }
    location ~ \.ht { deny all; }
    
    location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1 last;
    }
    location ~ \.php$ {
        try_files $uri $uri/ /doku.php;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param REDIRECT_STATUS 200;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Enregistrez le fichier et quittez votre éditeur.

Incluez le fichier dokuwiki.conf dans le fichier principal nginx.conf en exécutant sudo vim /usr/local/etc/nginx/nginx.conf et ajoutez la ligne suivante au bloc http {}.

inclure dokuwiki.conf;

Testez nos modifications de configuration Nginx.

sudo nginx -t

Rechargez Nginx.

sudo service nginx reload

Étape 4 - Installer DokuWiki

Créez un répertoire racine de documents :

sudo mkdir -p /usr/local/www/dokuwiki

Naviguez vers le répertoire racine des documents :

cd /usr/local/www/dokuwiki

Téléchargez la dernière version stable de DokuWiki depuis la page de téléchargement de DokuWiki :

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Décompressez l’archive tar de DokuWiki :

sudo tar xvf dokuwiki-stable.tgz  
sudo rm dokuwiki-stable.tgz  
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .  
sudo rmdir dokuwiki-2018-04-22b/

Changez la propriété du répertoire /var/www/dokuwiki à www:

sudo chown -R www:www /usr/local/www/dokuwiki

Redémarrez PHP-FPM : ``` sudo service php-fpm restart ``` Ouvrez le script de configuration de DokuWiki,install.php, dans votre navigateur et configurez DokuWiki. Le script de configuration vérifie la disponibilité des fonctions PHP requises et vérifie les autorisations de fichiers nécessaires. Il crée également un compte administrateur initial et une politique ACL initiale. Pour exécuter l'installateur, ouvrezhttp://wiki.example.com/install.php` dans le navigateur et suivez les instructions. ## Étape 5 - Accéder à l’interface Web de DokuWiki Ouvrez votre navigateur web et tapez l’URL http://example.com/install.php. Vous serez redirigé vers la page suivante : Installateur DokuWiki Fournissez toutes les informations requises comme le nom d’utilisateur superutilisateur, l’email, le mot de passe. Ensuite, cliquez sur le bouton Enregistrer. Une fois l’installation terminée avec succès, vous devriez voir la page suivante : Définir le nom d'utilisateur et le mot de passe Maintenant, cliquez sur votre nouveau DokuWiki. Vous devriez voir la page suivante : DokuWiki installé avec succès Maintenant, cliquez sur le bouton connexion. Vous serez redirigé vers la page suivante : Connexion Maintenant, fournissez votre nom d’utilisateur et votre mot de passe Admin. Ensuite, cliquez sur le bouton Se connecter. Vous devriez voir le tableau de bord DokuWiki sur la page suivante : Bienvenue dans DokuWiki Après une configuration réussie, supprimez le fichier install.php du répertoire racine de DokuWiki : sudo rm /var/www/dokuwiki/install.php Félicitations ! Vous avez installé et configuré DokuWiki avec succès sur le serveur FreeBSD 12. Vous pouvez maintenant créer facilement votre propre site wiki en utilisant DokuWiki. ## Liens - https://www.dokuwiki.org/ - https://github.com/splitbrain/dokuwiki

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.