BookStack est une plate-forme de gestion des connaissances gratuite et open source qui peut être utilisée pour créer de la documentation et du contenu wikis pour vos utilisateurs. BookStack est écrit en langage PHP et utilise le framework web Laravel. BookStack vous permet de configurer BookStack selon vos besoins, comme changer le nom, le logo et les options d'enregistrement. BookStack fournit de nombreuses fonctionnalités telles que la prise en charge multilingue, l'éditeur Markdown, personnalisable, consultable, l'interface WYSIWYG, la gestion des rôles et des autorisations, l'authentification intégrée et bien d'autres.
Dans ce tutoriel, nous allons apprendre à installer Bookstack avec Apache sur le serveur Ubuntu 18.04.
Exigences
- Un serveur exécutant Ubuntu 18.04.
- Un utilisateur non root avec des privilèges sudo.
Mise en route
Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
sudo apt-get update -y
sudo apt-get upgrade -y
Une fois votre système mis à jour, redémarrez le système pour appliquer les modifications.
Installer le serveur LAMP
Tout d'abord, vous devrez installer le serveur Web Apache, le serveur MariaDB, PHP et d'autres modules PHP sur votre système. Vous pouvez 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 tous les packages installés, ouvrez le fichier php.ini et apportez quelques modifications :
sudo nano /etc/php/7.2/apache2/php.ini
Effectuez les modifications suivantes :
memory_limit = 256M upload_max_filesize = 150M max_execution_time = 360 date.timezone = Asia/Kolakata
Enregistrez et fermez le fichier.
Configurer MariaDB
Par défaut, MariaDB n'est pas sécurisée. Vous devrez donc d'abord le sécuriser. Vous pouvez le sécuriser en exécutant la commande suivante :
sudo mysql_secure_installation
Répondez à toutes les questions 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 MariaDB sécurisée, connectez-vous au shell MariaDB :
mysql -u root -p
Indiquez votre mot de passe racine. Ensuite, créez une base de données et un utilisateur pour Bookstack :
MariaDB [(none)]> CREATE DATABASE bookstackdb;
MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';
Remplacez le mot "mot de passe" dans la commande ci-dessus par un mot de passe sécurisé et non par un mot de passe pour une utilisation ultérieure. Ensuite, accordez tous les privilèges à la Bookstack avec la commande suivante :
MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Remplacez à nouveau le mot "mot de passe" ici par le même mot de passe que vous avez utilisé ci-dessus. Ensuite, videz les privilèges et quittez le shell MariaDB :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Installer Bookstack
Tout d'abord, vous devrez installer Composer sur votre système. Composer est un gestionnaire de dépendances pour PHP. Vous pouvez installer Composer avec la commande suivante :
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Ensuite, changez le répertoire en /var/www/html et téléchargez la dernière version de Bookstack à partir du référentiel Git avec la commande suivante :
cd /var/www/html/
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
Ensuite, changez le répertoire en Bookstack et installez toutes les dépendances requises par PHP avec la commande suivante :
cd Bookstack
sudo composer install
Une fois toutes les dépendances installées, copiez l'exemple de fichier de configuration de l'environnement avec la commande suivante :
sudo cp .env.example .env
Ensuite, mettez à jour les paramètres de la base de données dans le fichier .env :
sudo nano .env
Effectuez les modifications suivantes :
# Database details DB_HOST=localhost DB_DATABASE=bookstackdb DB_USERNAME=bookstack DB_PASSWORD=password
Enregistrez et fermez le fichier. Ensuite, créez la clé d'application et migrez 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, vous devrez migrer la base de données. Vous pouvez migrer la base de données avec la commande suivante :
sudo php artisan migrate
Vous devriez 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, donnez 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/
Configurer Apache pour Bookstack
Ensuite, vous devrez créer un fichier d'hôte virtuel Apache pour Bookstack. Vous pouvez le créer avec la commande suivante :
sudo nano /etc/apache2/sites-available/bookstack.conf
Ajoutez 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>
Remplacez 'example.com' et 'www.example.com' dans le fichier ci-dessus par votre propre nom de domaine. Ensuite, enregistrez et fermez le fichier et activez le fichier d'hôte virtuel Apache et réécrivez le module avec les commandes suivantes :
sudo a2ensite bookstack.conf
sudo a2enmod rewrite
Enfin, redémarrez le service Web Apache pour appliquer toutes les modifications :
sudo systemctl restart apache2
Accéder à Bookstack
Ouvrez votre navigateur web et tapez l'URL, dans mon cas c'est http://example.com, vous serez redirigé vers la page suivante :
Maintenant, indiquez le nom d'utilisateur par défaut en tant que [email protected] et mot de passe comme mot de passe, puis cliquez sur CONNEXION bouton. Vous serez redirigé vers le tableau de bord Bookstack sur la page suivante :
La prochaine étape devrait consister à modifier le mot de passe par défaut pour sécuriser la connexion à BookStack.
Conclusion
Toutes nos félicitations! vous avez installé avec succès Bookstack sur le serveur Ubuntu 18.04 LTS. Vous pouvez désormais créer facilement votre propre site wiki à l'aide de Bookstack. N'hésitez pas à me demander si vous avez des questions.