Skip to main content

2_Installation

Mise à jour du système

sudo apt update && sudo apt upgrade -y
sudo reboot

Installation des dépendances (LAMP + outils)

Installation d’Apache, MariaDB (même si tu utilises un SQL distant, certains paquets restent utiles), PHP 8.2+, Git et Composer :

sudo apt install -y apache2 mariadb-server \
    php php-cli php-fpm php-mbstring php-xml php-gd php-curl php-zip php-mysql \
    git composer unzip

Activation d’Apache et MariaDB au démarrage :

sudo systemctl enable apache2 mariadb
sudo systemctl start apache2 mariadb

Configuration MariaDB (cas d’un serveur SQL distant)

Si tu utilises un serveur SQL distant, tu n’as pas besoin de créer la base en local.
Tu dois simplement t’assurer que :

  • le serveur SQL distant accepte les connexions depuis ton serveur BookStack
  • l’utilisateur SQL dispose des droits sur la base
  • le port 3306 est ouvert si nécessaire
  • l’adresse du serveur SQL est correcte dans le .env

Tu peux tout de même lancer la sécurisation locale (optionnel) :

sudo mysql_secure_installation

Installation de BookStack

Place-toi dans /var/www et clone le dépôt :

cd /var/www
sudo git clone https://github.com/BookStackApp/BookStack.git bookstack
cd bookstack

Optionnel : basculer sur la dernière version stable :

sudo git checkout release

Installation des dépendances PHP (Composer)

sudo composer install --no-dev --prefer-dist

Configuration de l’environnement BookStack

Copie du fichier d’exemple :

sudo cp .env.example .env

Édition du fichier .env :

sudo nano .env

Adapte les lignes suivantes selon ton environnement :

APP_URL=https://docs.mondomaine.tld

DB_HOST=ip_ou_hostname_du_serveur_sql
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=motdepasse_tres_fort

Génération de la clé d’application et initialisation de la base :

sudo php artisan key:generate --force
sudo php artisan migrate --force

Droits et permissions

sudo chown -R www-data:www-data /var/www/bookstack
sudo find /var/www/bookstack -type f -exec chmod 644 {} \;
sudo find /var/www/bookstack -type d -exec chmod 755 {} \;

Configuration du VirtualHost Apache

Création du fichier de configuration :

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

Contenu recommandé :

<VirtualHost *:80>
    ServerName docs.mondomaine.tld

    DocumentRoot /var/www/bookstack/public

    <Directory /var/www/bookstack/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/bookstack_error.log
    CustomLog ${APACHE_LOG_DIR}/bookstack_access.log combined
</VirtualHost>

Activation du site et du module rewrite :

sudo a2ensite bookstack.conf
sudo a2enmod rewrite
sudo systemctl reload apache2