Comment installer BookStack sur Ubuntu 18.04 LTS

BookStack est une plateforme de gestion des connaissances gratuite et open source qui peut être utilisée pour créer du contenu de documentation et de wikis pour tes utilisateurs. BookStack est écrit en langage PHP et utilise le framework web Laravel. BookStack te permet de configurer BookStack selon tes besoins, par exemple en changeant le nom, le logo et les options d’inscription. BookStack offre de nombreuses fonctionnalités telles que la prise en charge de plusieurs langues, l’éditeur Markdown, une interface WYSIWYG personnalisable, interrogeable, la gestion des rôles et des autorisations, l’authentification intégrée et bien d’autres encore.

Dans ce tutoriel, nous allons apprendre à installer Bookstack avec Apache dans le serveur Ubuntu 18.04.

Exigences

  • Un serveur fonctionnant sous Ubuntu 18.04.
  • Un utilisateur non-root avec des privilèges sudo.

Pour commencer

Avant de commencer, tu dois mettre à jour ton système avec la dernière version. Tu peux le faire en exécutant la commande suivante :

sudo apt-get update -y
sudo apt-get upgrade -y

Une fois que ton système est mis à jour, redémarre le système pour appliquer les modifications.

Installer le serveur LAMP

Tout d’abord, tu devras installer le serveur Web Apache, le serveur MariaDB, PHP et d’autres modules PHP sur ton système. Tu peux tous les installer en exécutant la commande suivante :

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-tidy php7.2-zip unzip wget git -y

Une fois que tous les paquets sont installés, ouvre le fichier php.ini et apporte quelques modifications :

sudo nano /etc/php/7.2/apache2/php.ini

Apporte les modifications suivantes :

memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/Kolakata

Sauvegarde et ferme le fichier.

Configurer MariaDB

Par défaut, MariaDB n’est pas sécurisée. Tu devras donc d’abord la sécuriser. Tu peux la sécuriser en exécutant la commande suivante :

sudo mysql_secure_installation

Réponds à toutes les questions comme ci-dessous :

    Enter current password for root (enter for none): ENTER
    Set root password? [Y/n]: N
    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

Une fois que MariaDB est sécurisée, connecte-toi au shell MariaDB :

mysql -u root -p

Indique ton mot de passe root. Ensuite, crée une base de données et un utilisateur pour Bookstack :

MariaDB [(none)]> CREATE DATABASE bookstackdb;
MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';

Remplace le mot « password » dans la commande ci-dessus par un mot de passe sécurisé et note-le pour une utilisation ultérieure. Ensuite, accorde tous les privilèges au Bookstack avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Remplace à nouveau le mot ‘password’ ici par le même mot de passe que tu as utilisé ci-dessus. Ensuite, vide les privilèges et quitte le shell MariaDB :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Installer Bookstack

Tout d’abord, tu dois installer Composer sur ton système. Composer est un gestionnaire de dépendances pour PHP. Tu peux installer Composer avec la commande suivante :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Ensuite, change le répertoire en /var/www/html et télécharge la dernière version de Bookstack depuis le dépôt Git avec la commande suivante :

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

Ensuite, change le répertoire en Bookstack et installe toutes les dépendances requises par PHP avec la commande suivante :

cd Bookstack
sudo composer install

Une fois que toutes les dépendances sont installées, copie le fichier de configuration de l’environnement de l’exemple avec la commande suivante :

sudo cp .env.example .env

Ensuite, mets à jour les paramètres de la base de données dans le fichier .env :

sudo nano .env

Apporte les modifications suivantes :

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
DB_PASSWORD=password

Sauvegarde et ferme le fichier. Ensuite, crée la clé d’application et migre la base de données avec la commande suivante :

sudo php artisan key:generate

Sortie :

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:KTcNpGD5CacIz20eiKpusk02YaHm14OQTZTERizEDBw=] set successfully.

Ensuite, tu devras migrer la base de données. Tu peux migrer la base de données avec la commande suivante :

sudo php artisan migrate

Tu devrais voir le résultat suivant :

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

Ensuite, donne les autorisations appropriées au répertoire Bookstack avec la commande suivante :

sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/

Configure Apache pour Bookstack

Ensuite, tu devras créer un fichier d’hôte virtuel Apache pour Bookstack. Tu peux le créer avec la commande suivante :

sudo nano /etc/apache2/sites-available/bookstack.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/Bookstack
     ServerName example.com
     ServerAlias www.example.com

    <Directory /var/www/html/Bookstack/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Remplace ‘exemple.com’ et ‘www.example.com’ dans le fichier ci-dessus par ton propre nom de domaine. Enregistre et ferme ensuite le fichier et active le fichier d’hôte virtuel et le module de réécriture d’Apache avec les commandes suivantes :

sudo a2ensite bookstack.conf
sudo a2enmod rewrite

Enfin, redémarre le service Web Apache pour appliquer toutes les modifications :

sudo systemctl restart apache2

Accéder à Bookstack

Ouvre ton navigateur Web et tape l’URL, dans mon cas c’est http://example.com, tu seras redirigé vers la page suivante :

Page de connexion de Bookstack

Maintenant, indique le nom d’utilisateur par défaut comme [email protected] et le mot de passe comme password, puis clique sur le bouton LOG IN. Tu seras redirigé vers le tableau de bord de Bookstack à la page suivante :

Connecte-toi avec le nom d'utilisateur et le mot de passe par défaut

La prochaine étape devrait être de changer le mot de passe par défaut pour sécuriser la connexion BookStack.

Conclusion

Félicitations ! Tu as installé Bookstack avec succès sur le serveur Ubuntu 18.04 LTS. Tu peux maintenant créer facilement ton propre site wiki à l’aide de Bookstack. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...