GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le wiki de documentation de BookStack sur CentOS 7

BookStack est une plate-forme open source pour créer du contenu de documentation/wiki pour votre projet. Il a été écrit dans le langage de programmation PHP et utilise le framework Web Laravel. Fondamentalement, la documentation/le wiki de votre projet sera stocké sur BookStack en tant que "Livre", suivi de "Chapitre" et de "Pages". Cela vous permet de créer et de lire plus facilement la documentation sous forme de livre, basé sur le chapitre et les 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 didacticiel couvrira des sujets tels que l'installation de PHP Composer et la création de la base de données MySQL à l'aide de la ligne de commande.

Prérequis

  • CentOS 7
  • Privilèges root

Ce que nous allons faire

  1. Installer le référentiel 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 le BookStack de l'hôte virtuel Nginx
  8. Test

Étape 1 - Installer le référentiel EPEL

Ajoutez le nouveau référentiel tiers au système. Nous devons ajouter le référentiel EPEL (Extra Packages for Enterprise Linux) à notre système CentOS 7, afin de pouvoir installer Nginx et d'autres packages.

Installez le référentiel EPEL à l'aide de la commande yum ci-dessous.

sudo yum -y install epel-release

Étape 2 - Installer Nginx sur CentOS 7

Dans ce didacticiel, nous exécuterons la plate-forme "BookStack" sous la pile LEMP et nous installerons le serveur Web Nginx à partir du référentiel EPEL.

Installez le serveur Web Nginx à l'aide de la commande yum ci-dessous.

sudo yum -y install nginx

Une fois l'installation terminée, démarrez le service et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl démarrer nginx
systemctl activer nginx

Vérifiez-le maintenant à l'aide de la commande netstat.

netstat -plntu

Assurez-vous d'avoir 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.

Complément : Si vous utilisez 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 référentiel "webtatic" - installez PHP avec certaines extensions nécessaires à la plate-forme "BookStack", notamment PDO, Tokenizer, GD, Tidy, MBString et OpenSSL.

Avant d'installer PHP et PHP-FPM, ajoutez un nouveau référentiel "webtatic" au système CentOS 7 à l'aide de la commande rpm ci-dessous.

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

Installez maintenant PHP et PHP-FPM avec toutes les extensions nécessaires à l'aide de 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-boucle de savon

Une fois l'installation terminée, nous devons modifier le fichier de configuration 'php.ini' et modifier la configuration du pool php-fpm 'www.conf'.

Modifiez le fichier de configuration "php.ini" à l'aide de l'éditeur vim.

vim /etc/php.ini

Décommentez la ligne 'cgi.fix_pathinfo' et remplacez la valeur par '0'.

cgi.fix_pathinfo=0

Enregistrez et quittez.

Ensuite, modifiez 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 utilisateur et groupe 'nginx'.

utilisateur =nginx
groupe =nginx

Sur la ligne 'listen', modifiez la valeur du fichier chaussette comme ci-dessous. Nous allons exécuter PHP-fpm sous le fichier chaussette.

écouter =/var/run/php-fpm/php-fpm.sock

Passons maintenant à l'autorisation de socket et à la configuration du propriétaire. Décommentez ces lignes et modifiez 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 terminée, démarrez le service PHP-FPM et activez-le pour qu'il se lance à chaque fois au démarrage.

systemctl start php-fpm
systemctl enable php-fpm

Vérifiez-le maintenant à l'aide de la commande netstat.

netstat -pl | grep php

Et assurez-vous d'obtenir le fichier chaussette PHP-FPM.

PHP et PHP-FPM 7.0 avec toutes les extensions nécessaires pour la plate-forme '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 ne fonctionnera que sous la version MySQL>=5.6. Pour ce tutoriel, nous utiliserons MariaDB (dernière version) qui peut être installée à partir du référentiel Ubuntu.

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

yum install -y mariadb mariadb-server

Une fois l'installation terminée, démarrez le service et activez-le pour qu'il se lance à chaque fois au démarrage.

systemctl start mariadb
systemctl enable mariadb

Nous devons maintenant 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 on vous demandera 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.

Définir le mot de passe root ? [O/n] O
Supprimer les utilisateurs anonymes ? [O/n] O
Interdire la connexion root à distance ? [O/n] O
Supprimer la base de données de test et y accéder ? [O/n] O
Recharger les tables de privilèges maintenant ? [O/n] O

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 "bookstak" et le mot de passe "[email protected]".

Connectez-vous au shell MySQL avec l'utilisateur root.

mysql -u root -p

Exécutez toutes les requêtes MySQL ci-dessous sur le shell.

créer la base de données bookstackdb ;
créer un utilisateur [email protected] identifié par '[email protected]' ;
accorder tous les privilèges sur bookstackdb.* à [email protected] identifié par '[email protected]';
vider les privilèges ;
quitter ;

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 compositeur 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 Composer à l'aide du script d'installation. Le Composer sera utilisé pour télécharger toutes les bibliothèques PHP nécessaires au 'BookStack'.

Accédez au répertoire personnel et téléchargez le programme d'installation à l'aide de 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 de composer installée sur votre système.

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

Étape 6 - Installer BookStack sur CentOS 7

Dans cette étape, nous installerons 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

Créez maintenant un nouveau répertoire '/var/www'.

mkdir -p /var/www

Accédez à ce répertoire et clonez le code source de BookStack à l'aide de la commande git.

cd /var/www
clone git 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 à l'aide de la commande composer comme indiqué ci-dessous.

cd BookStack/
installation du compositeur

Assurez-vous qu'il n'y a pas d'erreur et qu'il est terminé. Vous verrez le résultat ci-dessous.

Copiez maintenant le fichier de configuration de l'environnement '.env.example' et modifiez-le à l'aide de vim.

cp .env.example .env
vim .env

Sur la ligne des détails de la base de données, modifiez tout avec les informations de votre 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
[email protected]

Enregistrez et quittez.

Et modifiez les autorisations de propriété du répertoire 'BookStack' pour l'utilisateur et le 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 à l'aide des commandes PHP artisanales.

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

clé artisan php :générer
migration artisan php

On vous demandera de confirmer, tapez "oui" et appuyez sur Entrée.

Attendez que la migration de la table soit réussie.

L'application BookStack a été installée, avec l'application de clé secrète unique générée et le schéma de 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 utiliserons "book.hakase-labs.co" comme nom de domaine pour notre URL BookStack.

Accédez au répertoire '/etc/nginx' et créez un nouveau fichier d'hôte virtuel 'bookstack.conf' sous le répertoire 'conf.d/' à l'aide de l'éditeur vim.

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

Collez la configuration ci-dessous.

server {
  listen 80;
  nom_serveur 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;

  emplacement / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  emplacement ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
    refuser tout ;
  }

  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)$ {
    expire 30j ;
    access_log off ;
  }
}

Enregistrez et quittez.

Testez maintenant la configuration de nginx et assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service nginx.

nginx -t
systemctl redémarre nginx

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

Étape 8 - Tester

Ouvrez votre navigateur Web et saisissez 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 administrateur 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 BookStack.

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

Cliquez maintenant sur "Utilisateurs", puis sur l'utilisateur "Admin". Changez l'e-mail par défaut avec votre adresse e-mail et le mot de passe avec votre propre mot de passe secret.

Cliquez ensuite sur le bouton "Enregistrer".

L'installation de BookStack avec la pile LEMP (Linux, Nginx, MariaDB et PHP-FPM) sur CentOS 7 s'est terminée avec succès.


Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer Nginx sur CentOS 7

  3. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  4. Comment installer Nginx sur CentOS 8

  5. Comment installer Linux Dash sur CentOS 6

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer LEMP sur CentOS 6

Comment installer Nginx sur CentOS 6

Comment installer Wiki.js sur CentOS 8

Comment installer Nginx sur CentOS 7 ?