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-RELEASEMettez à 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 -yInstallez 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 gitCré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) ALLMaintenant, passez à votre nouvel utilisateur créé avec la commande su.
su - johndoeREMARQUE : 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_pgsqlVé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 TechnologiesCréez un lien symbolique php.ini-production vers php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniActivez 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.shVérifiez la version d’acme.sh :
acme.sh --version
# v2.8.5Obtenez 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-256Si 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 --listCré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 nginxVérifiez la version de Nginx.
nginx -v
# version nginx: nginx/1.16.1Activez et démarrez le service Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx startExécutez sudo vim /usr/local/etc/nginx/dokuwiki.conf et configurez le serveur virtuel Nginx pour DokuWiki.
sudo vim /usr/local/etc/nginx/dokuwiki.confCopiez/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 -tRechargez Nginx.
sudo service nginx reloadÉtape 4 - Installer DokuWiki
Créez un répertoire racine de documents :
sudo mkdir -p /usr/local/www/dokuwikiNaviguez vers le répertoire racine des documents :
cd /usr/local/www/dokuwikiTé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.tgzDé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/dokuwikiRedé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 : 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 :
Maintenant, cliquez sur votre nouveau DokuWiki. Vous devriez voir la page suivante :
Maintenant, cliquez sur le bouton connexion. Vous serez redirigé vers la page suivante :
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 :
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
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.