# 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
```

<p class="callout info">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 : </p>

```
<?php phpinfo() ?>
```

[![image-1615840029289.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840029289.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840029289.png)

[![image-1615840048960.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840048960.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840048960.png)

[![image-1615840072883.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840072883.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840072883.png)

[![image-1615840093163.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840093163.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840093163.png)

[![image-1615840112099.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840112099.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840112099.png)

[![image-1615840131164.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840131164.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840131164.png)

[![image-1615840150597.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840150597.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840150597.png)

[![image-1615840170152.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840170152.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840170152.png)

[![image-1615840195149.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840195149.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840195149.png)

<p class="callout danger">Supprimer le fichier index.php après son utilisation !</p>

### 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 : 

<div data-lang="" id="bkmrk--8"><div></div></div>```
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](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616859029158.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/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 &amp; activation de la configuration :

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

```

<p class="callout success">Vous pouvez maintenant accéder au site et vous connecter avec le compte : **admin**@**admin**.com et le mot de passe : password</p>

<div id="bkmrk--9"><div></div></div><div id="bkmrk--11"><div></div></div><div id="bkmrk--12"><div></div></div><div id="bkmrk--13"><div></div></div><div id="bkmrk--14"><div></div></div><div id="bkmrk--15"><div></div></div><div id="bkmrk--16"><div></div></div><div id="bkmrk--17"><div></div></div><div id="bkmrk--18"><div></div></div><div id="bkmrk--19"><div></div></div>