Installation Wiki.js · 9 min read · Sep 22, 2025

Comment installer Wiki.js - Logiciel Wiki basé sur NodeJS sur Debian 9

Wiki.js est une application wiki moderne, puissante et open source basée sur Node.js, Git et Markdown. Wiki.js fonctionne sur le moteur Node.js extrêmement rapide et est optimisé pour conserver les ressources CPU. Certaines des fonctionnalités de Wiki.js qui méritent d’être mentionnées sont :

  • Édition Markdown, soutenue par Git
  • Léger, mais extrêmement puissant
  • Magnifiquement conçu pour le web moderne
  • Contrôle d’accès intégré
  • Gestion intuitive des ressources
  • Moteur de recherche intégré

Dans ce tutoriel, nous vous guiderons à travers le processus d’installation de la version 1 de Wiki.js sur un système d’exploitation Debian 9 en utilisant NGINX comme serveur proxy inverse, MongoDB comme serveur de base de données, PM2 comme gestionnaire de processus et, en option, vous pouvez sécuriser la couche de transport en utilisant le client acme.sh et l’autorité de certification Let’s Encrypt pour ajouter le support SSL.

Exigences

Les exigences pour exécuter Wiki.js sont les suivantes :

  • Node.js 6.11.1 à 10.x est requis.
  • Version de MongoDB 3.2 ou ultérieure.
  • Version de Git 2.7.4 ou ultérieure.
  • Logiciel de serveur Web tel que NGINX, Apache, Caddy, H2O…
  • Un dépôt Git vide (optionnel).
  • Minimum de 512 Mo de RAM. 1 Go de RAM recommandé.
  • Environ 300 Mo d’espace disque.
  • Nom de domaine avec des enregistrements DNS A/AAAA configurés.

Prérequis

  • Un système d’exploitation Debian 9.
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifiez votre version du système Debian :

lsb_release -ds  
# Debian GNU/Linux 9.8 (stretch)

Configurez le fuseau horaire :

dpkg-reconfigure tzdata

Mettez à jour les paquets de votre système d’exploitation (logiciel). C’est une première é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 :

apt update && apt upgrade -y

Installez quelques paquets essentiels qui sont nécessaires pour l’administration de base du système d’exploitation Debian :

apt install -y curl wget vim git unzip socat sudo bash-completion apt-transport-https build-essential dirmngr

Étape 1 - Installer Node.js et npm

Wiki.js est construit sur Node.js. Nous allons installer la dernière version recommandée pour Wiki.js qui est la version 10 au moment de la rédaction de ce document. Sur Linux, vous avez quelques options d’installation de Node.js : Binaries Linux (x86/x64), Code source ou via des gestionnaires de paquets. Nous allons utiliser une option de gestion de paquets qui facilite l’installation et la mise à jour de Node.js.

Téléchargez et installez la dernière version recommandée de Node.js depuis le dépôt NodeSource :

`curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -  
sudo apt install -y nodejs `

REMARQUE : npm est distribué avec Node.js - ce qui signifie que lorsque vous téléchargez Node.js, vous obtenez automatiquement npm installé sur votre système.

Vérifiez la version de Node.js et npm :

`node -v && npm -v  
# v10.15.1  
# 6.4.1  
`

Npm est un projet distinct de Node.js et a tendance à se mettre à jour plus fréquemment. En conséquence, même si vous venez de télécharger Node.js (et donc npm), vous devrez probablement mettre à jour votre npm. Heureusement, npm sait comment se mettre à jour ! Pour mettre à jour votre npm, tapez ceci dans votre terminal :

sudo npm install -g npm@latest

Cette commande mettra à jour npm vers la dernière version stable.

Vérifiez à nouveau la version de npm avec :

npm -v  
# 6.8.0  

Et cela devrait renvoyer le numéro de la dernière version.

Étape 2 - Installer la base de données MongoDB

Wiki.js a besoin d’une base de données pour stocker ses données, et la version stable actuelle de Wiki.js ne prend en charge que le moteur de base de données MongoDB. En conséquence, nous devrons installer la base de données MongoDB.

Téléchargez et installez la base de données MongoDB :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4  
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list  
sudo apt-get update  
sudo apt-get install -y mongodb-org  

Vérifiez la version de MongoDB :

mongo --version | head -n 1 && mongod --version | head -n 1  

Démarrez et activez ( configurez-le pour démarrer au redémarrage) le service MongoDB s’il n’est pas déjà démarré et activé :

sudo systemctl start mongod.service  
sudo systemctl enable mongod.service  

Étape 3 - Installer le client acme.sh et obtenir un certificat Let’s Encrypt ( optionnel)

Sécuriser votre site Web avec HTTPS n’est pas nécessaire, mais c’est une bonne pratique pour sécuriser le trafic de votre site. Afin d’obtenir un certificat SSL de Let’s Encrypt, nous allons utiliser le client acme.sh. Acme.sh est un logiciel shell UNIX pur pour obtenir des certificats SSL de Let’s Encrypt sans dépendances.

Téléchargez et installez acme.sh :

sudo su - root  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh  
./acme.sh --install --accountemail [email protected]  
source ~/.bashrc  
cd ~

Vérifiez la version de acme.sh :

acme.sh --version  
# v2.8.1

Obtenez des certificats RSA et ECC/ECDSA pour votre domaine/nom d’hôte :

# RSA 2048  
acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
acme.sh --issue --standalone -d example.com --keylength ec-256

Si vous souhaitez des certificats fictifs pour les tests, vous pouvez ajouter le drapeau --staging aux commandes ci-dessus.

Pour lister vos certificats émis, vous pouvez exécuter :

acme.sh --list

Créez des dossiers pour stocker vos certificats. Nous utiliserons /etc/letsencrypt, mais cela peut être n’importe quoi que vous préférez pour stocker les certificats SSL.

mkdir -p /etc/letsencrypt/example.com  
mkdir -p /etc/letsencrypt/example.com_ecc

Installez/copiez les certificats dans le répertoire /etc/letsencrypt.

# RSA  
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  
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"

Après avoir exécuté les commandes ci-dessus, vos certificats et clés seront dans :

  • Pour RSA : le répertoire /etc/letsencrypt /example.com.
  • Pour ECC/ECDSA : le répertoire /etc/letsencrypt /example.com_ecc.

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 normal :

exit

Étape 4 - Installer et configurer NGINX

Wiki.js (ou toute application HTTP Node.js) peut fonctionner sans serveur Web réel (tel que NGINX ou Apache). Cependant, il est fortement recommandé de mettre un serveur Web standard devant Wiki.js. Cela garantit que vous pouvez utiliser des fonctionnalités telles que SSL, plusieurs sites Web, mise en cache, etc. Nous allons utiliser NGINX dans ce tutoriel, mais tout autre serveur fera l’affaire, il vous suffit de le configurer correctement.

Téléchargez et installez NGINX depuis le dépôt officiel de NGINX en exécutant les commandes suivantes :

wget https://nginx.org/keys/nginx_signing.key  
sudo apt-key add nginx_signing.key  
rm nginx_signing.key  
sudo -s  
printf "deb https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx
deb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx
" >> /etc/apt/sources.list.d/nginx_mainline.list  
exit  
sudo apt update  
sudo apt install -y nginx

Vérifiez la version de NGINX :

sudo nginx -v  
# nginx version: nginx/1.15.8

Activez et démarrez le service NGINX :

sudo systemctl enable nginx.service  
sudo systemctl start nginx.service

Exécutez sudo vim /etc/nginx/conf.d/wiki.js.conf et configurez NGINX en tant que proxy inverse HTTPS.

server {
      
    listen [::]:443 ssl http2;  
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;

    charset utf-8;
    client_max_body_size 50M;  
    
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
    
}

La seule chose que vous devez changer dans la configuration ci-dessus est la directive server_name, et potentiellement la directive proxy_pass si vous décidez de configurer un port autre que 3000. Wiki.js utilise le port 3000 par défaut.

Vérifiez la configuration de NGINX :

sudo nginx -t  

Enfin, pour que les changements prennent effet, nous devons recharger NGINX :

sudo systemctl reload nginx.service

Étape 5 - Installer et configurer Wiki.js

Créez un répertoire racine de document où Wiki.js devrait résider :

sudo mkdir -p /var/www/wiki.js

Naviguez vers le répertoire racine du document :

cd /var/www/wiki.js

Changez la propriété du répertoire /var/www/wiki.js à votre_utilisateur :

sudo chown -R [your_user]:[your_user] /var/www/wiki.js

REMARQUE : Remplacez your_user dans la commande ci-dessus par votre utilisateur non-root que vous devriez avoir créé comme prérequis pour ce tutoriel .

Depuis le répertoire /var/www/wiki.js, exécutez la commande suivante pour récupérer et installer la dernière application Wiki.js :

curl -sSo- https://wiki.js.org/install.sh | bash

Une fois l’installation terminée, vous pouvez exécuter la commande suivante afin de voir la version actuellement installée de Wiki.js :

node wiki --version  
# 1.0.117

Une fois l’installation terminée, vous serez invité à lancer l’assistant de configuration.

Alors, démarrez l’assistant de configuration en exécutant :

node wiki configure

À l’aide de votre navigateur Web, accédez à http://example.com et suivez les instructions à l’écran. Tous les paramètres saisis lors de l’assistant de configuration sont enregistrés dans le fichier config.yml. L’assistant de configuration démarrera automatiquement Wiki.js pour vous.

Tout d’abord, vous verrez un message de bienvenue. Cliquez sur le bouton “ Démarrer “:

Installateur Wiki.js

Ensuite, la page “Vérification du système” apparaîtra. Si toutes les exigences sont remplies, cliquez sur le bouton “ Continuer “.

Vérification du système

Entrez des informations générales sur votre wiki et cliquez sur le bouton “ Continuer “:

Informations générales

Lisez l’avis “Considération importante” et cliquez sur “ Continuer “ pour l’étape suivante :

Important à considérer

Ensuite, connectez-vous à la base de données et continuez :

Connexion à la base de données

Vous devriez voir un message indiquant que Wiki.js a été connecté avec succès à la base de données. Cliquez sur le bouton “ Continuer “:

Connexion à la base de données réussie

Définissez les chemins et continuez :

Définir le chemin

Configurez le dépôt Git distant si vous le souhaitez ou passez cette étape. Cette étape est optionnelle mais fortement recommandée :

Configurer le dépôt GIT distant

Ensuite, cliquez sur le bouton “Continuer” :

Continuer avec l'installation

Créez un compte administrateur et cliquez sur le bouton “ Continuer “:

Créer un compte administrateur

Et enfin, démarrez Wiki.js :

Démarrer Wiki.js

Attendez environ 30 secondes et vous devriez être redirigé vers la page d’accueil de Wiki.js :

Page d'accueil de Wiki.js

L’installation est terminée. Vous devriez voir la page de bienvenue du wiki :

Bienvenue sur Wiki.js

Étape 6 - Configurer le gestionnaire de processus PM2

Par défaut, Wiki.js ne démarrera pas automatiquement après un redémarrage du système. Afin de le faire démarrer au démarrage, nous devons configurer le gestionnaire de processus PM2. PM2 est inclus avec Wiki.js en tant que module npm local, donc nous n’avons pas besoin d’installer PM2 globalement.

Dites à PM2 de se configurer en tant que service de démarrage en exécutant :

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Enfin, enregistrez la configuration actuelle de PM2 en exécutant la commande :

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Votre Wiki.js fonctionne maintenant en tant que processus en arrière-plan, utilisant PM2 comme gestionnaire de processus.

Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.