Skip to main content

Installer BookStack

Cahier des charges :

Dans cette documentation nous allons installer les composants suivants : 

  • MySQL
  • Git 
  • Composer
  • PHP version 7.0.0 or greater
  • PHP Extensions:
    • OpenSSL
    • PDO
    • MBstring
    • Tokenizer
    • GD
    • MySQLND
    • Tidy
    • SimpleXML
    • DOM

Installation de LAMP :

apt-get install wget git -y
wget https://scripts.nehemiebarkia.fr/BASH/Installations/LAMP.sh
bash LAMP.sh
apt-get install libmcrypt4 php7.4-ldap php7.4-mcrypt unzip curl git -y

En créant un fichier index.php et en y insérant le texte ci-dessous, vous aller pouvoir vérifier que les extensions PHP sont bien activées : 

<?php phpinfo() ?>

image-1615840029289.png

image-1615840048960.png

image-1615840072883.png

image-1615840093163.png

image-1615840112099.png

image-1615840131164.png

image-1615840150597.png

image-1615840170152.png

image-1615840195149.png

Supprimer le fichier index.php après son utilisation !

Installation de composer : 

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');" 
mv composer.phar /usr/local/bin/composer

MariaDB : 

mysql -u root -p
# Enter password:
CREATE DATABASE bookstack;
GRANT ALL ON bookstack.* TO 'bookstack-user' IDENTIFIED BY 'MONSUPERMDP';
FLUSH PRIVILEGES;
exit

Installation de Bookstack : 

mkdir -p /var/www/html/bookstack
chown -R www-data:www-data /var/www/html/bookstack
cd /var/www/html/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .

composer install
cp .env.example .env

Modification de la configuration de Bookstack : 

nano .env

 

# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack-user
DB_PASSWORD=MONSUPERMDP

et 

image-1616859029158.png

Mise en production : 

php artisan key:generate
php artisan migrate

Configuration d'Apache2 :

nano /etc/apache2/sites-available/bookstack.conf
<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/bookstack/public/

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined
        
        # BookStack Configuration

        <Directory "/var/www/html/bookstack/public">
          Options FollowSymlinks
          AllowOverride None
          Require all granted

          RewriteEngine On
          # Redirect Trailing Slashes If Not A Folder...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)/$ /$1 [L,R=301]

          # Handle Front Controller...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
        </Directory>


        <Directory "/var/www/html/bookstack">
          AllowOverride None
          Require all denied
        </Directory>
        # End BookStack Configuration

</VirtualHost>

Attribution des droits & activation de la configuration  :

chown -R www-data:www-data /var/www/html/bookstack
a2enmod rewrite
a2dissite 000-default
a2ensite bookstack
systemctl reload apache2

 

Vous pouvez maintenant accéder au site et vous connecter avec le compte : admin@admin.com et le mot de passe : password