Installation · 8 min read · Dec 08, 2025

Comment installer la documentation Wiki BookStack sur CentOS 7

BookStack est une plateforme open source pour créer du contenu de documentation/wiki pour votre projet. Elle a été écrite en PHP et utilise le framework web Laravel. En gros, la documentation/wiki de votre projet sera stockée sur BookStack sous la forme d’un ‘Livre’, suivi de ‘Chapitres’ et de ‘Pages’. Cela facilite la création et la lecture de la documentation sous forme de Livre, basé sur des Chapitres et des Pages.

Dans ce tutoriel, je vais vous montrer étape par étape comment installer et configurer BookStack sur CentOS 7 sous la pile LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Ce tutoriel couvrira des sujets tels que l’installation de PHP Composer et la création de la base de données MySQL en utilisant la ligne de commande.

Prérequis

  • CentOS 7
  • Privilèges root

Ce que nous allons faire

  1. Installer le dépôt EPEL
  2. Installer Nginx
  3. Installer et configurer PHP-FPM
  4. Installer et configurer MySQL/MariaDB
  5. Installer PHP Composer
  6. Installer BookStack
  7. Configurer l’hôte virtuel Nginx pour BookStack
  8. Tester

Étape 1 - Installer le dépôt EPEL

Ajoutez le nouveau dépôt tiers au système. Nous devons ajouter le dépôt EPEL (Extra Packages for Enterprise Linux) à notre système CentOS 7, afin de pouvoir installer Nginx et d’autres paquets.

Installez le dépôt EPEL en utilisant la commande yum ci-dessous.

sudo yum -y install epel-release

Étape 2 - Installer Nginx sur CentOS 7

Dans ce tutoriel, nous allons exécuter la plateforme ‘BookStack’ sous la pile LEMP, et nous allons installer le serveur web Nginx à partir du dépôt EPEL.

Installez le serveur web Nginx en utilisant la commande yum ci-dessous.

sudo yum -y install nginx

Après l’installation, démarrez le service et activez-le pour qu’il se lance à chaque démarrage du système.

systemctl start nginx  
systemctl enable nginx

Vérifiez maintenant en utilisant la commande netstat.

netstat -plntu

Assurez-vous d’obtenir le port 80 dans la liste, et qu’il est utilisé par le service Nginx.

Installer Nginx

Le serveur web Nginx est maintenant installé sur le système CentOS 7.

Supplémentaire : Si vous exécutez firewalld sur votre système, ajoutez un nouveau service HTTP à la configuration en exécutant les commandes ci-dessous.

firewall-cmd --add-service=http --permanent  
firewall-cmd --reload

Étape 3 - Installer PHP et PHP-FPM

Dans cette étape, nous allons installer et configurer PHP-FPM 7.0. Nous allons installer PHP et PHP-FPM à partir du dépôt ‘webtatic’ - installer PHP avec certaines extensions nécessaires à la plateforme ‘BookStack’, y compris PDO, Tokenizer, GD, Tidy, MBString et OpenSSL.

Avant d’installer PHP et PHP-FPM, ajoutez le nouveau dépôt ‘webtatic’ au système CentOS 7 en utilisant la commande rpm ci-dessous.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Maintenant, installez PHP et PHP-FPM avec toutes les extensions nécessaires en utilisant la commande yum de la manière suivante.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

Après l’installation, nous devons éditer le fichier de configuration ‘php.ini’ et éditer la configuration du pool php-fpm ‘www.conf’.

Éditez le fichier de configuration ‘php.ini’ en utilisant l’éditeur vim.

vim /etc/php.ini

Décommentez la ligne ‘cgi.fix_pathinfo’ et changez la valeur en ‘0’.

cgi.fix_pathinfo=0

Enregistrez et quittez.

Ensuite, éditez le fichier de configuration du pool ‘www.conf’.

vim /etc/php-fpm.d/www.conf

Changez l’utilisateur par défaut pour exécuter le service PHP-FPM en ‘nginx’ utilisateur et groupe.

user = nginx  
group = nginx

Sur la ligne ‘listen’, changez la valeur en fichier sock comme ci-dessous. Nous allons exécuter PHP-fpm sous le fichier sock.

listen = /var/run/php-fpm/php-fpm.sock

Maintenant pour la configuration des permissions et du propriétaire du socket. Décommentez ces lignes et changez la valeur comme ci-dessous.

listen.owner = nginx  
 listen.group = nginx  
 listen.mode = 0660

Enfin, décommentez l’environnement PHP-FPM.

env[HOSTNAME] = $HOSTNAME  
env[PATH] = /usr/local/bin:/usr/bin:/bin  
env[TMP] = /tmp  
env[TMPDIR] = /tmp  
env[TEMP] = /tmp

Enregistrez et quittez.

Si la configuration est complète, démarrez le service PHP-FPM et activez-le pour qu’il se lance à chaque démarrage.

systemctl start php-fpm  
systemctl enable php-fpm

Vérifiez maintenant en utilisant la commande netstat.

netstat -pl | grep php

Et assurez-vous d’obtenir le fichier sock PHP-FPM.

PHP et PHP-FPM 7.0 avec toutes les extensions nécessaires pour la plateforme ‘BookStack’ ont été installés sur le système CentOS 7.

Étape 4 - Installer et configurer MySQL/MariaDB

BookStack ne prend en charge que la base de données MySQL, et elle ne fonctionnera que sous MySQL version >= 5.6. Pour ce tutoriel, nous allons utiliser MariaDB (dernière version) qui peut être installée à partir du dépôt Ubuntu.

Exécutez la commande yum ci-dessous pour installer la base de données MariaDB.

yum install -y mariadb mariadb-server

Après l’installation, démarrez le service et activez-le pour qu’il se lance à chaque démarrage.

systemctl start mariadb  
systemctl enable mariadb

Maintenant, nous devons configurer le mot de passe ‘root’ pour la base de données.

Exécutez la commande ci-dessous pour configurer le mot de passe de la base de données ‘root’.

mysql_secure_installation

Configurer MariaDB

Et vous serez invité à entrer le nouveau mot de passe root MySQL - tapez votre mot de passe pour l’utilisateur root et appuyez sur Entrée. Pour les autres, tapez simplement ‘Y’ pour oui et appuyez à nouveau sur Entrée.

Set root password? [Y/n] Y  
 Remove anonymous users? [Y/n] Y  
 Disallow root login remotely? [Y/n] Y  
 Remove test database and access to it? [Y/n] Y  
 Reload privilege tables now? [Y/n] Y

Le mot de passe root MySQL a maintenant été configuré.

Ensuite, nous devons créer une nouvelle base de données MySQL pour l’installation de BookStack. Nous allons créer une nouvelle base de données nommée ‘bookstackdb’ avec l’utilisateur ‘bookstack’ et le mot de passe ‘bookstack@’.

Connectez-vous à la console MySQL avec l’utilisateur root.

mysql -u root -p

Exécutez toutes les requêtes MySQL ci-dessous dans la console.

create database bookstackdb;  
create user bookstack@localhost identified by 'bookstack@';  
grant all privileges on bookstackdb.* to bookstack@localhost identified by 'bookstack@';  
flush privileges;  
exit;

Créer une base de données dans MariaDB pour BookStack

MySQL/MariaDB a été installé sur le système CentOS 7, et la base de données pour l’installation de ‘BookStack’ a été créée.

Étape 5 - Installer PHP Composer sur CentOS 7

Le composer est un gestionnaire de dépendances pour PHP. Il vous permet de gérer les dépendances PHP dont vous avez besoin pour votre projet. Dans cette étape, nous allons installer le Composer en utilisant le script d’installation. Le Composer sera utilisé pour télécharger toutes les bibliothèques PHP nécessaires à ‘BookStack’.

Allez dans le répertoire personnel et téléchargez l’installateur en utilisant curl.

cd ~/  
curl -sS https://getcomposer.org/installer | php

Et vous obtiendrez le fichier ‘composer.phar’ dans votre répertoire personnel. Déplacez le fichier dans le répertoire ‘/usr/bin’ et essayez la commande ‘composer’ comme indiqué ci-dessous.

mv composer.phar /usr/bin/composer  
composer -v

Et vous obtiendrez la version du composer qui est installée sur votre système.

Installer PHP Composer

Le PHP Composer est maintenant installé sur le système CentOS 7.

Étape 6 - Installer BookStack sur CentOS 7

Dans cette étape, nous allons installer BookStack sous le répertoire ‘/var/www’ - ce répertoire sera le répertoire racine de l’application.

Avant d’installer ‘BookStack’, installez git sur votre système.

yum -y install git

Maintenant, créez un nouveau répertoire ‘/var/www’.

mkdir -p /var/www

Allez dans ce répertoire et clonez le code source de BookStack en utilisant la commande git.

cd /var/www  
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

Allez dans le répertoire ‘BookStack/‘ et installez toutes les dépendances PHP nécessaires en utilisant la commande composer comme indiqué ci-dessous.

cd BookStack/  
composer install

Assurez-vous de ne rencontrer aucune erreur et lorsque c’est terminé. Vous verrez le résultat comme ci-dessous.

Installer BookStack avec Composer

Maintenant, copiez le fichier de configuration de l’environnement ‘.env.example’ et éditez-le en utilisant vim.

cp .env.example .env  
vim .env

Sur la ligne des détails de la base de données, changez tout avec vos informations de base de données comme indiqué ci-dessous.

# Détails de la base de données  
 DB_HOST=localhost  
 DB_DATABASE=bookstackdb  
 DB_USERNAME=bookstack  
 DB_PASSWORD=bookstack@

Enregistrez et quittez.

Et changez les permissions de propriété du répertoire ‘BookStack’ à l’utilisateur et au groupe ‘nginx’.

chown -R nginx:nginx /var/www/BookStack

Ensuite, nous devons générer la clé d’application unique pour BookStack et mettre à jour le schéma de la base de données en utilisant les commandes PHP artisan.

Dans le répertoire racine de l’application ‘/var/www/BookStack’, exécutez les commandes suivantes.

php artisan key:generate  
php artisan migrate

Vous serez invité à confirmer, tapez ‘yes’ et appuyez sur Entrée.

PHP artisan

Attendez que la migration des tables soit réussie.

L’application BookStack a été installée, avec la clé d’application unique secrète générée et le schéma de la base de données pour BookStack mis à jour.

Étape 7 - Configurer l’hôte virtuel Nginx pour BookStack

Dans cette étape, nous allons configurer l’hôte virtuel nginx pour BookStack. Nous allons utiliser ‘book.hakase-labs.co’ comme nom de domaine pour notre URL BookStack.

Allez dans le répertoire ‘/etc/nginx’ et créez un nouveau fichier d’hôte virtuel ‘bookstack.conf’ sous le répertoire ‘conf.d/‘ en utilisant l’éditeur vim.

cd /etc/nginx  
vim conf.d/bookstack.conf

Collez la configuration ci-dessous.

server {  
   listen 80;  
   server_name book.hakase-labs.co;  
   root /var/www/BookStack/public;  
   
   access_log  /var/log/nginx/bookstack_access.log;  
   error_log  /var/log/nginx/bookstack_error.log;  
   
   client_max_body_size 1G;  
   fastcgi_buffers 64 4K;  
   
   index  index.php;  
   
   location / {  
     try_files $uri $uri/ /index.php?$query_string;  
   }  
   
   location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {  
     deny all;  
   }  
   
   location ~ \.php(?:$|/) {  
     fastcgi_split_path_info ^(.+\.php)(/.+)$;  
     include fastcgi_params;  
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
     fastcgi_param PATH_INFO $fastcgi_path_info;  
     fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;  
   }  
   
   location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {  
     expires 30d;  
     access_log off;  
   }  
 }

Enregistrez et quittez.

Maintenant, testez la configuration nginx et assurez-vous qu’il n’y a pas d’erreur, puis redémarrez le service nginx.

nginx -t  
systemctl restart nginx

L’hôte virtuel Nginx pour l’application BookStack a été créé et activé.

Configurer l'hôte virtuel Nginx

Étape 8 - Tester

Ouvrez votre navigateur web et tapez l’URL de BookStack dans la barre d’adresse, la mienne est : http://book.hakase-labs.co/

Et vous serez redirigé vers la page ‘login/‘ comme ci-dessous.

Connexion BookStack

Tapez l’utilisateur admin par défaut ‘ [email protected] ‘ avec le mot de passe ‘password’, puis appuyez sur le bouton ‘Connexion’.

Vous devriez obtenir le tableau de bord utilisateur de BookStack.

Tableau de bord

Cliquez sur le menu ‘Paramètres’ et vous obtiendrez la page des paramètres.

Paramètres

Maintenant, cliquez sur ‘Utilisateurs’ puis cliquez sur l’utilisateur ‘Admin’. Changez l’email par défaut avec votre adresse email et le mot de passe avec votre propre mot de passe secret.

Utilisateurs BookStack

Puis cliquez sur le bouton ‘Enregistrer’.

L’installation de BookStack avec la pile LEMP (Linux, Nginx, MariaDB et PHP-FPM) sur CentOS 7 a été complétée avec succès.

Référence

Share: X/Twitter LinkedIn

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

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