====== Dokuwiki - Installation d'un outil de documentation collaborative ======
--- //[[nekan@shyrkasystem.com|Nicolas 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''.
Cette procédure a été réalisée et testée sur une Debian 10.Cette procédure nécessite des droits ''root''. Par conséquent, faîtes tgrès attention à ce que vous faîtes.
===== Préparation du serveur =====
* 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 :
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Options +FollowSymlinks
AllowOverride All
Require all granted
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
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
* 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
===== Installation du site =====
* 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 [[https://download.dokuwiki.org/|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 se connecte à l'adresse http://mon.wiki.local/install.php :
{{ :linux:dokuwiki:dokuwiki_001.png |}}
* On mofifie les différents champs :
- 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.
- 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.
- 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.
- 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
* Vous pouvez désormais vous connecter à votre wiki à l'adresse http://mon.wiki.local/doku.php :
{{ :linux:dokuwiki:dokuwiki_002.png |}}Félicitations ! Votre site de documentation collaborative est prêt à être utilisé.
~~DISCUSSION~~