Dokuwiki - Installation d'un outil de documentation collaborative

CréationNicolas THOREZ 2020/07/13 16:04

Dokuwiki est un logiciel permettant de créer un wiki, à savoir, une documentation collaborative. Ce type d'outil est indispensable en entreprise afin de mettre en commun des informations, des proccédures, etc… Un des avantages de Dokuwiki est son absence de base de données, le rendant par conséquent plus léger et moins gourmand que d'autres produits de ce type. Il possède aussi une large variété de plugins lui permettant de s'adapter à de très nombreuses situation.

Un œil avisé remarquera que ce site n'est autre qu'un dokuwiki.

Environnement

Cette procédure a été réalisée et testée sur une Debian 10.

Droits

Cette procédure nécessite des droits root. Par conséquent, faîtes tgrès attention à ce que vous faîtes.
  • Comme toujours, on commence par mettre à jour nos dépôts :

apt update

  • On installe les paquets nécessaires :

apt install -y wget bash-completion zip unzip curl imagemagick apache2 libapache2-mod-php7.3 php7.3 php7.3-curl php7.3-gd php7.3-opcache php7.3-json php7.3-mbstring php7.3-intl php-imagick php7.3-xml

  • On ouvre le pare-feu au niveau des ports 80 et/ou 443 (selon votre exigences de sécurité). Je vous laisse vous rapprocher de votre solution de sécurité pour les commandes adéquates.
  • On active le module apache2 de réécriture d'URL :

a2enmod rewrite

  • Si vous souhaitez communiquer en SSL, alors il faut aussi activer le module SSL de apache2 :

a2enmod ssl

  • Il faut maintenant préparer la configuration apache2. Si votre serveur ne doit héberger que dokuwiki, alors on peut modifier directement les fichiers de configurations par défaut, 000-default.conf et default-ssl.conf. Dans le cas contraire, il est préférable de créer un fichier de configuration spécifique :

nano /etc/apache2/sites-available/dokuwiki.conf

  • Par défaut, le fichier de configuration apache2 doit ressembler à ça :

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        <Directory /var/www/html>
                Options +FollowSymlinks
                AllowOverride All
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/html

                <Directory /var/www/html>
                        Options +FollowSymlinks
                        AllowOverride All
                        Require all granted
                </Directory>

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
                </FilesMatch>

                <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

  • On active le site :

a2ensite dokuwiki.conf

  • Pour plus d'efficacité, on va aussi paramétrer le php. On commence par sauvegarder la configuration existante (on sait jamais) :

cp /etc/php/7.3/apache2/php.ini{,.bkp}

  • On édite le fichier de configuration du php :

nano /etc/php/7.3/apache2/php.ini

  • On cherche et on modifie (au besoin) les lignes suivantes :
    • file_uploads : la valeur doit être On.
    • default_charset : La valeur doit être UTF-8.
    • memory_limit : La valeur doit être 128M.
    • max_execution_time : La valeur doit être 300.
    • upload_max_filesize : La valeur doit être 100M.
    • short_open_tag : La valeur doit être Off.
    • output_buffering : La valeur doit être Off.
    • output_handler : Aucune valeur, juste décommenté.
    • zlib.output_compression : La valeur doit être Off.
    • implicit_flush : La valeur doit être Off.
    • max_input_time : La valeur doit être 60.
    • max_input_vars : La valeur doit être 10000.
    • error_reporting : La valeur doit être E_ALL & ~E_NOTICE.
    • display_startup_errors : La valeur doit être Off.
    • log_errors : La valeur doit être Off.
    • variables_order : La valeur doit être EGPCS.
    • register_argc_argv : La valeur doit être Off.
    • session.use_cookies : La valeur doit être 1.
    • date.timezone : La valeur doit être Europe/Paris si vous êtes en France sinon indiquez votre fuseau horaire.
  • A ce stade, il nous reste plus qu'à redémarrer ler serveur apache2 :

systemctl restart apache2

  • On se place dans un dossier de travail et on récupère la dernière version satble de Dokuwiki. A l'heure où j'écris ces lignes, il s'agit de la version 2018-04-22c. On peut d'ailleurs retrouver les liens de chaques versions sur le site Dokuwiki :

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

  • on décompresse l'archive :

tar xzvf dokuwiki-stable.tgz

  • Si on souhaite mettre le site directement à la racine du serveur web, dans le cas où il n'y aurai que Dokuwiki sur ce serveur, il faut supprimer la page par défaut de apache2 :

rm -f /var/www/html/index.html

  • On se positionne dans le dossier contenant les fichiers de l'archive décompressée :

cd dokuwiki-2018-04-22c/

  • On copie l'intégralité des fichiers dans le dossier de destination :

cp -rf ./* /var/www/html/
cp .htaccess.dist /var/www/html/

  • On applique les bons droits aux fichiers :

chown -R www-data:www-data /var/www/html/

  • On peut désormais se connecter à la configuration de notre wiki à l'adresse http://mon.wiki.local/install.php, en remplaçant bien sûr mon.wiki.local par le FQDN ou l'adresse IP de votre serveur.

Post-installation

  • On mofifie les différents champs :
    1. On pourra ici choisir la langue par défaut du wiki et de l'installateur. Le rafraîchissement est normalement automatique mais dans le cas contraire, un pression sur Update résoud le problème.
    2. On renseignera ici :
      • Le nom du wiki. Par exemple : "Wiki de la société", "Documentation du service technique", …
      • Le login de l'administrateur.
      • Le nom de l'administrateur.
      • Le mot de passe de l'administrateur ainsi que sa confirmation.
      • Le type de wiki. Attention à ce choix, il entraîne des comportements très spécifiques selon qu'il soit ouvert, public ou fermé.
      • Selon le type de wiki, on pourra (ou pas) permettre aux utilisateurs de créer leur propre compte.
    3. On peut choisir le type de licences par défaut pour le contenu. Les licences proposées sont toutes pour de l'open-source ce qui ne convient pas forcément dans le cadre d'une société. Du coup, attention là aussi à votre choix.
    4. A la fin, on n'oublie pas d'enregistrer.
  • Un fois la configuration enregistrée, on peut supprimer le fichier d'installation :

rm -f /var/www/html/install.php

Installation

Félicitations ! Votre site de documentation collaborative est prêt à être utilisé.
Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • linux_dokuwiki.txt
  • Dernière modification : 2021/03/05 16:23
  • de nekan