DokuWiki est une application logicielle Wiki gratuite, open-source et puissante écrite en PHP. Il utilise un fichier pour stocker ses données au lieu d'utiliser une base de données. Il est simple, léger et vous permet de créer et de modifier un site Web à partir du navigateur Web. Il offre de nombreuses fonctionnalités qui vous permettent de faire évoluer et d'optimiser facilement votre site Web. Il est utilisé par de nombreux utilisateurs en raison de sa syntaxe propre et lisible, de sa facilité de maintenance, de sauvegarde et d'intégration.
Dans ce tutoriel, je vais vous montrer comment installer DokuWiki avec Apache et Let's Encrypt SSL sur Debian 11.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, il est recommandé de mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour en exécutant la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Installer Apache et PHP
DokuWiki fonctionne sur Apache ou Nginx et est écrit dans un langage PHP. Vous devrez donc installer Apache, PHP et les autres extensions requises sur votre serveur. Vous pouvez les installer en exécutant la commande suivante :
apt-get install apache2 php php-gd php-xml php-json -y
Une fois tous les packages installés, démarrez le service Apache et activez-le au redémarrage du système :
systemctl start apache2
systemctl enable apache2
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer DokuWiki
Tout d'abord, rendez-vous sur la page de téléchargement de DokuWiki et téléchargez la dernière version de DokuWiki à l'aide de la commande suivante :
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Une fois le téléchargement terminé, créez un répertoire pour DokuWiki dans le répertoire racine Web d'Apache :
mkdir /var/www/html/dokuwiki
Ensuite, extrayez le fichier téléchargé dans le répertoire DokuWiki avec la commande suivante :
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Ensuite, copiez certains fichiers nécessaires à l'aide de la commande suivante :
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Ensuite, définissez la propriété appropriée sur le répertoire DokuWiki :
chown -R www-data:www-data /var/www/html/dokuwiki
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer un hôte virtuel Apache pour DokuWiki
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger DokuWiki sur Internet. Vous pouvez le créer à l'aide de la commande suivante :
nano /etc/apache2/sites-available/dokuwiki.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerName dokuwiki.example.com DocumentRoot /var/www/html/dokuwiki <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)"> <IfModule mod_authz_core.c> AllowOverride All Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> </Directory> ErrorLog /var/log/apache2/dokuwiki_error.log CustomLog /var/log/apache2/dokuwiki_access.log combined </VirtualHost>
Enregistrez et fermez le fichier puis activez le fichier de configuration de l'hôte virtuel à l'aide de la commande suivante :
a2ensite dokuwiki.conf
Ensuite, rechargez Apache pour appliquer les modifications.
systemctl reload apache2
Vous pouvez également vérifier l'état d'Apache avec la commande suivante :
systemctl status apache2
Vous obtiendrez le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-10-24 04:01:29 UTC; 9min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 27698 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Tasks: 77 (limit: 4691) Memory: 12.5M CGroup: /system.slice/apache2.service ??21346 /usr/sbin/apache2 -k start ??27703 Passenger watchdog ??27706 Passenger core ??27711 Passenger ust-router ??27729 /usr/sbin/apache2 -k start ??27730 /usr/sbin/apache2 -k start
Sécuriser DokuWiki avec Let's Encrypt SSL
Après avoir configuré Apache, il est recommandé de sécuriser votre site wiki avec un certificat SSL Let's Encrypt. Pour ce faire, vous devrez installer le client Certbot sur votre système. Le Certbot est un client facile à utiliser qui récupère un certificat de Let's Encrypt, une autorité de certification ouverte lancée par l'EFF, Mozilla et d'autres, et le déploie sur un serveur Web. À l'aide du client Certbot Let's Encrypt, vous pouvez facilement télécharger, installer et renouveler le certificat SSL pour votre domaine.
Vous pouvez installer le Certbot avec la commande suivante :
apt-get install certbot python3-certbot-apache -y
Une fois le client Certbot installé avec succès, exécutez la commande suivante pour installer Let's Encrypt SSL pour votre site Web :
certbot --apache -d dokuwiki.example.com
Il vous sera demandé de fournir votre adresse e-mail valide et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for dokuwiki.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS ou configurez Nginx pour rediriger tout le trafic vers un accès HTTPS sécurisé, comme indiqué dans la sortie suivante :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour démarrer le processus. Une fois l'installation terminée, vous devriez obtenir le résultat suivant :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://dokuwiki.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem Your cert will expire on 2021-01-25. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
À ce stade, votre site Dokuwiki est sécurisé avec Let's Encrypt SSL. Vous pouvez désormais accéder à votre site en toute sécurité grâce au protocole HTTPS.
Configuration du renouvellement automatique du certificat SSL Let's Encrypt
Par défaut, les certificats Let's Encrypt sont valides pendant 90 jours. Vous devrez donc configurer une tâche cron pour renouveler automatiquement le certificat SSL. Il est sûr de créer une tâche cron qui s'exécute chaque semaine ou même chaque jour.
Si vous souhaitez renouveler le certificat SSL manuellement, exécutez la commande suivante :
certbot renew --dry-run
Vous pouvez configurer une tâche cron pour renouveler automatiquement le certificat SSL tous les jours à 10h00 en modifiant le fichier suivant :
crontab -e
Ajoutez la ligne suivante :
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Enregistrez et fermez le fichier lorsque vous avez terminé.
Accéder à DokuWiki
Maintenant, ouvrez votre navigateur Web et tapez l'URL https://dokuwiki.example.com/install.php . Vous devriez voir l'écran d'installation de DokuWiki :
Indiquez votre nom de wiki, votre nom d'utilisateur d'administrateur, votre mot de passe, votre adresse e-mail, choisissez votre politique et cliquez sur Enregistrer bouton. Vous serez redirigé vers la page suivante :
Cliquez sur "votre nouveau DokuWiki ". Vous devriez voir l'écran suivant :
Cliquez sur Connexion bouton. Vous serez redirigé vers l'écran de connexion DokuWiki comme indiqué ci-dessous :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord DokuWiki sur l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé DokuWiki avec succès et l'avez sécurisé avec Let's Encrypt SSL sur Debian 11. Vous pouvez maintenant commencer à créer votre premier site Web en utilisant DokuWiki. N'hésitez pas à me demander si vous avez des questions.