Wiki.js est un logiciel open source de wiki moderne et puissant qui permet aux utilisateurs de créer et gérer des sites web de documentation, des bases de connaissances ou des wikis personnels. Développé avec Node.js et alimenté par la base de données PostgreSQL, il est conçu pour offrir des performances élevées et une grande flexibilité. Cet article vous présentera les principales caractéristiques de Wiki.js et vous guidera à travers les étapes de son installation et de son utilisation.
Retrouver toute la documentation de Wiki-js sur leur site officiel : https://docs.requarks.io/
Dans cet article, nous allons vous expliquer comment installer Wiki.js, une plateforme wiki open-source, sur AlmaLinux 9 sans utiliser Docker. Nous installerons Wiki.js sur un sous-domaine préexistant : wiki.domaine.com. Suivez les étapes ci-dessous pour réussir cette installation.
Prérequis:
Un serveur tournant sous AlmaLinux 9
Un utilisateur non root avec les privilèges sudo
Un sous-domaine préexistant (dans notre exemple : wiki.domaine.com)
Node.js version 12.x ou supérieure
Commencez par mettre à jour votre système :
sudo dnf update -y
Installez Node.js en suivant ces commandes :
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo dnf install -y nodejs
Vérifiez la version de Node.js avec cette commande :
node -v
Installez PostgreSQL en utilisant les commandes suivantes :
sudo dnf install -y postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
Créez un utilisateur et une base de données pour Wiki.js :
sudo -u postgres createuser wikijs_user
sudo -u postgres createdb wikijs_db
sudo -u postgres psql
À l'intérieur de l'interface psql, configurez le mot de passe pour l'utilisateur wikijs_user :
ALTER USER wikijs_user WITH ENCRYPTED PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE wikijs_db TO wikijs_user;
\q
Téléchargez et installez Wiki.js en suivant ces commandes :
wget https://github.com/Requarks/wiki/releases/download/2.x.x/wiki-js.tar.gz
tar -xzf wiki-js.tar.gz
cd wiki
cp config.sample.yml config.yml
Modifiez le fichier config.yml avec votre éditeur de texte préféré (par exemple, nano) :
sudo nano config.yml
Mettez à jour les informations de la base de données, le domaine et le port :
db:
type: postgres
host: localhost
port: 5432
user: wikijs_user
password: your_password
db: wikijs_db
ssl: false
bindIP: '0.0.0.0'
port: 3000
host: 'wiki.domaine.com'
Enregistrez et fermez le fichier.
Installez PM2, un gestionnaire de processus pour Node.js, avec cette commande :
sudo npm install -g pm2
Lancez Wiki.js avec PM2 :
pm2 start server
Configurez PM2 pour démarrer au démarrage du système :
pm2 startup
pm2 save
Si vous utilisez déjà un serveur Web comme Apache ou Nginx, vous pouvez configurer un proxy inverse pour rediriger les requêtes vers Wiki.js. Voici comment configurer un proxy inverse avec Nginx et Apache :
Installez Nginx en utilisant la commande suivante :
sudo dnf install -y nginx
Créez un fichier de configuration pour votre sous-domaine :
sudo nano /etc/nginx/conf.d/wiki.domaine.com.conf
Ajoutez la configuration suivante dans le fichier :
server {
listen 80;
server_name wiki.domaine.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Enregistrez et fermez le fichier. Testez la configuration de Nginx et redémarrez le service :
sudo nginx -t
sudo systemctl restart nginx
Installez Apache et les modules nécessaires en utilisant la commande suivante :
sudo dnf install -y httpd mod_ssl mod_proxy mod_proxy_http
Créez un fichier de configuration pour votre sous-domaine :
sudo nano /etc/httpd/conf.d/wiki.domaine.com.conf
Ajoutez la configuration suivante dans le fichier :
<VirtualHost *:80>
ServerName wiki.domaine.com
ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Enregistrez et fermez le fichier. Activez et démarrez le service Apache :
sudo systemctl enable httpd
sudo systemctl start httpd
Ouvrez le port 80 (HTTP) et/ou 443 (HTTPS) pour autoriser le trafic vers votre serveur web :
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
C'est tout ! Vous avez maintenant installé et configuré Wiki.js sur votre serveur AlmaLinux 9 sans utiliser Docker. Vous pouvez accéder à votre site Wiki.js en visitant http://wiki.domaine.com.
Voici comment configurer HTTPS pour sécuriser votre site Wiki.js avec un certificat SSL gratuit de Let's Encrypt. Nous utiliserons Certbot pour obtenir et gérer les certificats SSL.
Nginx :
Étape 1 : Installez Certbot et le plugin Nginx
sudo dnf install -y epel-release
sudo dnf install -y certbot python3-certbot-nginx
Étape 2 : Obtenez un certificat SSL pour votre sous-domaine
sudo certbot --nginx -d wiki.domaine.com
Suivez les instructions à l'écran pour obtenir et installer le certificat SSL. Certbot modifiera automatiquement la configuration de Nginx pour activer HTTPS.
Étape 3 : Renouvelez automatiquement le certificat SSL
Certbot ajoutera une tâche cron pour renouveler automatiquement le certificat avant son expiration. Vérifiez la tâche cron avec cette commande :
sudo systemctl list-timers | grep certbot
Apache :
Étape 1 : Installez Certbot et le plugin Apache
sudo dnf install -y epel-release
sudo dnf install -y certbot python3-certbot-apache
Étape 2 : Obtenez un certificat SSL pour votre sous-domaine
sudo certbot --apache -d wiki.domaine.com
Suivez les instructions à l'écran pour obtenir et installer le certificat SSL. Certbot modifiera automatiquement la configuration d'Apache pour activer HTTPS.
Étape 3 : Renouvelez automatiquement le certificat SSL
Certbot ajoutera une tâche cron pour renouveler automatiquement le certificat avant son expiration. Vérifiez la tâche cron avec cette commande :
sudo systemctl list-timers | grep certbot
Maintenant, votre site Wiki.js est sécurisé avec HTTPS. Vous pouvez accéder à votre site en visitant https://wiki.domaine.com.
Une fois Wiki.js installé et configuré, vous pouvez commencer à créer et gérer votre propre wiki. Voici quelques-unes des tâches courantes que vous pourriez effectuer :
En résumé, Wiki.js est un logiciel de wiki puissant et flexible qui offre de nombreuses fonctionnalités pour aider les utilisateurs à créer et gérer des sites de documentation, des bases de connaissances ou des wikis personnels. Grâce à son interface utilisateur moderne, à son système de contrôle de version et à ses options de personnalisation, Wiki.js est un excellent choix pour ceux qui recherchent un logiciel de wiki open source et performant.