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
- Installer le dépôt EPEL
- Installer Nginx
- Installer et configurer PHP-FPM
- Installer et configurer MySQL/MariaDB
- Installer PHP Composer
- Installer BookStack
- Configurer l’hôte virtuel Nginx pour BookStack
- 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 nginxAprè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 nginxVérifiez maintenant en utilisant la commande netstat.
netstat -plntuAssurez-vous d’obtenir le port 80 dans la liste, et qu’il est utilisé par le service 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.rpmMaintenant, 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 curlAprè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.iniDécommentez la ligne ‘cgi.fix_pathinfo’ et changez la valeur en ‘0’.
cgi.fix_pathinfo=0Enregistrez et quittez.
Ensuite, éditez le fichier de configuration du pool ‘www.conf’.
vim /etc/php-fpm.d/www.confChangez l’utilisateur par défaut pour exécuter le service PHP-FPM en ‘nginx’ utilisateur et groupe.
user = nginx
group = nginxSur 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.sockMaintenant 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 = 0660Enfin, 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] = /tmpEnregistrez 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-fpmVérifiez maintenant en utilisant la commande netstat.
netstat -pl | grep phpEt 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-serverAprès l’installation, démarrez le service et activez-le pour qu’il se lance à chaque démarrage.
systemctl start mariadb
systemctl enable mariadbMaintenant, 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
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] YLe 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 -pExé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;
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 | phpEt 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 -vEt vous obtiendrez la version du composer qui est installée sur votre système.

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 gitMaintenant, créez un nouveau répertoire ‘/var/www’.
mkdir -p /var/wwwAllez 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-branchAllez 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 installAssurez-vous de ne rencontrer aucune erreur et lorsque c’est terminé. Vous verrez le résultat comme ci-dessous.

Maintenant, copiez le fichier de configuration de l’environnement ‘.env.example’ et éditez-le en utilisant vim.
cp .env.example .env
vim .envSur 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/BookStackEnsuite, 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 migrateVous serez invité à confirmer, tapez ‘yes’ et appuyez sur Entrée.

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.confCollez 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 nginxL’hôte virtuel Nginx pour l’application BookStack a été créé et activé.

É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.

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.

Cliquez sur le menu ‘Paramètres’ et vous obtiendrez la page des 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.

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
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.