GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer DokuWiki avec Lets Encrypt SSL sur Debian 11

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.


Debian
  1. Sécurisez Apache avec Lets Encrypt sur Debian 10

  2. Comment installer Tiki Wiki avec Apache et permet de chiffrer SSL sur Debian 10

  3. Comment installer Automad CMS avec Apache et Lets encrypt sur Debian 10

  4. Comment installer ElkArte Forum avec Apache et Lets Encrypt sur Debian 10

  5. Comment installer Let's Encrypt SSL avec Apache sur Debian 11

Comment installer Lighttpd avec PHP, MariaDB et Lets Encrypt SSL sur Debian 10

Comment installer Wekan Kanban avec Nginx et Lets Encrypt SSL sur Debian 10

Comment installer WordPress avec Apache et Let's Encrypt SSL sur Debian 11

Comment installer Let's Encrypt SSL dans Apache sur Debian 11

Comment installer et configurer Apache avec Let's Encrypt TLS/SSL sur Debian 11 Bullseye

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache