# BookStack in debian server (Trixie)

# installare BookStack step by step

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Requisiti Base:**</span>

1. <p class="callout info"><span class="T286Pc" data-processed="true" data-sfc-cp="">**Debian Trixie (13)**</span></p>
2. <p class="callout info"><span class="T286Pc" data-processed="true" data-sfc-cp="">**Apache2**</span></p>
3. <p class="callout info"><span class="T286Pc" data-processed="true" data-sfc-cp="">**PHP**</span></p>
4. <p class="callout info"><span class="T286Pc" data-processed="true" data-sfc-cp="">**MariaDb**</span></p>

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Aggiornare il server e installare le dipendenze:**</span>

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install php-fpm php-mysql php-curl php-mbstring php-gd php-xml php-zip php-tidy php-intl php-bcmath git unzip -y
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Configurare il Database (MariaDB):**</span>

```mysql
sudo mysql -u root -p
CREATE DATABASE bookstack;
CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password_sicura';
GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Scaricare BookStack:**</span>

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

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Installa le dipendenze PHP (Composer):**</span>

```
sudo apt install composer -y
sudo -u www-data composer install --no-dev --prefer-dist
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Prepara l'Ambiente:**</span>

```
sudo cp .env.example .env
sudo vi .env # Modificare i dettagli DB e l'URL
sudo php artisan key:generate # rispondi YES selezionandolo con tasto tab della tastiera
sudo php artisan migrate # rispondi YES selezionandolo con tasto tab della tastiera
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Imposta i permessi:**</span>

```bash
sudo chown -R www-data:www-data /var/www/html/bookstack
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**Imposta Apache2:**</span>

```
cd /etc/apache2/sites-available
sudo vi nome_che_scegli.conf  # usa il tuo editor preferito, io uso vi
```

##### <span class="T286Pc" data-processed="true" data-sfc-cp="">**in nomechescegli.conf scrivi:**</span>

```
<VirtualHost *:80>

	# This is a simple example of an Apache VirtualHost configuration
	# file that could be used with BookStack.
	# This assumes mod_php AND mod_rewrite have been installed and enabled.
	#
	# Change the "docs.example.com" usage in the "ServerName" directive
	# to be your web domain for BookStack.
	#
	# Change the "/var/www/bookstack/public/", used twice below, to the
	# location of the "public" folder within your BookStack installation.
	#
	# This configuration is only for HTTP, Not HTTPS.
	# For HTTPS we recommend using https://certbot.eff.org/

	ServerName docs.example.com  # SOSTITUIRE CON TUO DOMINO #
	DocumentRoot /var/www/html/bookstack/public/

	<Directory /var/www/html/bookstack/public/>
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
		<IfModule mod_rewrite.c>
			<IfModule mod_negotiation.c>
				Options -MultiViews -Indexes
			</IfModule>

			RewriteEngine On

			# Handle Authorization Header
			RewriteCond %{HTTP:Authorization} .
			RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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

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

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

</VirtualHost>
```

##### **UNA VOLTA SALVATO, DAI QUESTI COMANDI:**

```
sudo a2ensite nome_che_hai_scelto.conf
sudo sudo systemctl reload apache2
```

##### *a questo punto, vai con il browser su: [http://tuonomesito](http://tuonomesito) (quello che hai indicato nel virtualhost)*

<p class="callout warning">al primo login inserire come user: <span style="color: rgb(236, 202, 250);">[*`admin@admin.com`*](mailto:admin@admin.com) </span>e come password: <span style="color: rgb(236, 202, 250);">*`password`* </span></p>

<p class="callout warning"><span style="text-decoration: underline;"><span style="color: rgb(255, 255, 255); text-decoration: underline;">**RICORDATI DI CAMBIARLE SUBITO.** </span></span></p>

<p class="callout info">una volta inserito i cambiamenti e le tue personalizzazioni, fai il logout e vedrai il tuo Wiki pronto!</p>

# cosa fare dopo aver installato i certificati https:// in apache2

##### Dopo aver installato i certificati ed attivato regolarmente l'https in apache BookStack vi appare come se non ci fosse un css? Tutto scompaginato?

#### la soluzione è semplicissima:

```bash
cd /var/www/html/bookstack
sudo vi .env # se non vi piace vi usate il vostro editor preferito
```

a questo punto cercate la riga:

<p class="callout warning">APP\_URL=http://mionomesito</p>

e modificatela in

<p class="callout info">APP\_URL=https://mionomesito</p>

una volta fatto e salvato fate:

```bash
sudo systemctl reload apache2
sudo systemctl restart apache2
```

##### a questo punto vedrete come prima il vostro ambiente BookStack