Installazione · 8 min read · Dec 08, 2025

Come Installare la Documentazione Wiki di BookStack su CentOS 7

BookStack è una piattaforma open source per creare contenuti di documentazione/wiki per il tuo progetto. È stata scritta nel linguaggio di programmazione PHP e utilizza il framework web Laravel. Fondamentalmente, la documentazione/wiki del tuo progetto sarà memorizzata su BookStack come un ‘Libro’, seguito da ‘Capitolo’ e ‘Pagine’. Questo rende più facile per te creare e leggere la documentazione come un Libro, basato su Capitolo e Pagine.

In questo tutorial, ti mostrerò passo dopo passo come installare e configurare BookStack su CentOS 7 sotto lo stack LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Questo tutorial coprirà argomenti tra cui l’installazione di PHP Composer e la creazione del database MySQL utilizzando la riga di comando.

Requisiti

  • CentOS 7
  • Privilegi di root

Cosa faremo

  1. Installare il Repository EPEL
  2. Installare Nginx
  3. Installare e Configurare PHP-FPM
  4. Installare e Configurare MySQL/MariaDB
  5. Installare PHP Composer
  6. Installare BookStack
  7. Configurare l’Host Virtuale Nginx per BookStack
  8. Testare

Passo 1 - Installare il Repository EPEL

Aggiungi il nuovo repository di terze parti al sistema. Dobbiamo aggiungere il repository EPEL (Extra Packages for Enterprise Linux) al nostro sistema CentOS 7, così possiamo installare Nginx e altri pacchetti.

Installa il repository EPEL utilizzando il comando yum qui sotto.

sudo yum -y install epel-release

Passo 2 - Installare Nginx su CentOS 7

In questo tutorial, eseguiremo la piattaforma ‘BookStack’ sotto lo stack LEMP, e installeremo il server web Nginx dal repository EPEL.

Installa il server web Nginx utilizzando il comando yum qui sotto.

sudo yum -y install nginx

Dopo che l’installazione è completata, avvia il servizio e abilitalo per avviarsi ogni volta all’avvio del sistema.

systemctl start nginx  
systemctl enable nginx

Ora controllalo utilizzando il comando netstat.

netstat -plntu

Assicurati di ottenere la porta 80 nell’elenco, e che sia utilizzata dal servizio Nginx.

Installa Nginx

Il server web Nginx è ora installato sul sistema CentOS 7.

Aggiuntivo: Se stai eseguendo firewalld sul tuo sistema, aggiungi un nuovo servizio HTTP alla configurazione eseguendo i comandi qui sotto.

firewall-cmd --add-service=http --permanent  
firewall-cmd --reload

Passo 3 - Installare PHP e PHP-FPM

In questo passo, installeremo e configureremo PHP-FPM 7.0. Installeremo PHP e PHP-FPM dal repository ‘webtatic’ - installeremo PHP con alcune estensioni necessarie per la piattaforma ‘BookStack’, tra cui PDO, Tokenizer, GD, Tidy, MBString e OpenSSL.

Prima di installare PHP e PHP-FPM, aggiungi un nuovo repository ‘webtatic’ al sistema CentOS 7 utilizzando il comando rpm qui sotto.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Ora installa PHP e PHP-FPM con tutte le estensioni necessarie utilizzando il comando yum nel seguente modo.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

Dopo che l’installazione è completata, dobbiamo modificare il file di configurazione ‘php.ini’ e modificare la configurazione del pool php-fpm ‘www.conf’.

Modifica il file di configurazione ‘php.ini’ utilizzando l’editor vim.

vim /etc/php.ini

Decommenta la riga ‘cgi.fix_pathinfo’ e cambia il valore in ‘0’.

cgi.fix_pathinfo=0

Salva ed esci.

Successivamente, modifica il file di configurazione del pool ‘www.conf’.

vim /etc/php-fpm.d/www.conf

Cambia l’utente predefinito per eseguire il servizio PHP-FPM in ‘nginx’ utente e gruppo.

user = nginx  
group = nginx

Nella riga ‘listen’, cambia il valore nel file sock come sotto. Eseguiremo PHP-fpm sotto il file sock.

listen = /var/run/php-fpm/php-fpm.sock

Ora per la configurazione dei permessi e del proprietario del socket. Decommenta queste righe e cambia il valore come sotto.

listen.owner = nginx  
 listen.group = nginx  
 listen.mode = 0660

Infine, decommenta l’ambiente PHP-FPM.

env[HOSTNAME] = $HOSTNAME  
env[PATH] = /usr/local/bin:/usr/bin:/bin  
env[TMP] = /tmp  
env[TMPDIR] = /tmp  
env[TEMP] = /tmp

Salva ed esci.

Se la configurazione è completa, avvia il servizio PHP-FPM e abilitalo per avviarsi ogni volta all’avvio.

systemctl start php-fpm  
systemctl enable php-fpm

Ora controllalo utilizzando il comando netstat.

netstat -pl | grep php

E assicurati di ottenere il file sock di PHP-FPM.

PHP e PHP-FPM 7.0 con tutte le estensioni necessarie per la piattaforma ‘BookStack’ sono stati installati sul sistema CentOS 7.

Passo 4 - Installare e Configurare MySQL/MariaDB

BookStack supporta solo il database MySQL, e funzionerà solo sotto la versione MySQL >= 5.6. Per questo tutorial, utilizzeremo MariaDB (ultima versione) che può essere installato dal repository di Ubuntu.

Esegui il comando yum qui sotto per installare il database MariaDB.

yum install -y mariadb mariadb-server

Dopo che l’installazione è completata, avvia il servizio e abilitalo per avviarsi ogni volta all’avvio.

systemctl start mariadb  
systemctl enable mariadb

Ora dobbiamo configurare la password ‘root’ per il database.

Esegui il comando qui sotto per impostare la password del database ‘root’.

mysql_secure_installation

Configura MariaDB

E ti verrà chiesta la nuova password root di MySQL - digita la tua password per l’utente root e premi Invio. Per gli altri, digita semplicemente ‘Y’ per sì e premi di nuovo Invio.

Set root password? [Y/n] Y  
 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

La password root di MySQL è stata ora impostata.

Successivamente, dobbiamo creare un nuovo database MySQL per l’installazione di BookStack. Creeremo un nuovo database chiamato ‘bookstackdb’ con utente ‘bookstak’ e password ‘bookstack@’.

Accedi alla shell di MySQL con l’utente root.

mysql -u root -p

Esegui tutte le query MySQL qui sotto nella shell.

create database bookstackdb;  
create user bookstack@localhost identified by 'bookstack@';  
grant all privileges on bookstackdb.* to bookstack@localhost identified by 'bookstack@';  
flush privileges;  
exit;

Crea database in MariaDB per BookStack

MySQL/MariaDB è stato installato sul sistema CentOS 7, e il database per l’installazione di ‘BookStack’ è stato creato.

Passo 5 - Installare PHP Composer su CentOS 7

Il composer è un gestore di dipendenze per PHP. Ti consente di gestire le dipendenze PHP di cui hai bisogno per il tuo progetto. In questo passo, installeremo il Composer utilizzando lo script di installazione. Il Composer sarà utilizzato per scaricare tutte le librerie PHP necessarie per ‘BookStack’.

Vai alla directory home e scarica l’installer utilizzando curl.

cd ~/  
curl -sS https://getcomposer.org/installer | php

E otterrai il file ‘composer.phar’ nella tua directory home. Sposta il file nella directory ‘/usr/bin’ e prova il comando ‘composer’ come mostrato qui sotto.

mv composer.phar /usr/bin/composer  
composer -v

E otterrai la versione del composer installata sul tuo sistema.

Installa PHP Composer

Il PHP Composer è ora installato sul sistema CentOS 7.

Passo 6 - Installare BookStack su CentOS 7

In questo passo, installeremo BookStack sotto la directory ‘/var/www’ - quella directory sarà la directory principale dell’applicazione.

Prima di installare ‘BookStack’, installa git sul tuo sistema.

yum -y install git

Ora crea una nuova directory ‘/var/www’.

mkdir -p /var/www

Vai a quella directory e clona il codice sorgente di BookStack utilizzando il comando git.

cd /var/www  
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

Vai nella directory ‘BookStack/‘ e installa tutte le dipendenze PHP necessarie utilizzando il comando composer come mostrato qui sotto.

cd BookStack/  
composer install

Assicurati di non ottenere errori e quando è completo. Vedrai il risultato come sotto.

Installa BookStack con Composer

Ora copia il file di configurazione dell’ambiente ‘.env.example’ e modificalo utilizzando vim.

cp .env.example .env  
vim .env

Nella riga dei dettagli del database, cambia tutto con le informazioni del tuo database come mostrato qui sotto.

# Dettagli del database  
 DB_HOST=localhost  
 DB_DATABASE=bookstackdb  
 DB_USERNAME=bookstack  
 DB_PASSWORD=bookstack@

Salva ed esci.

E cambia i permessi di proprietà della directory ‘BookStack’ all’utente e gruppo ‘nginx’.

chown -R nginx:nginx /var/www/BookStack

Successivamente, dobbiamo generare la chiave unica dell’applicazione per BookStack e aggiornare lo schema del database utilizzando i comandi PHP artisan.

Nella directory principale dell’applicazione ‘/var/www/BookStack’, esegui i seguenti comandi.

php artisan key:generate  
php artisan migrate

Ti verrà chiesta conferma, digita ‘yes’ e premi Invio.

PHP artisan

Aspetta fino a quando la migrazione della tabella non è completata con successo.

L’applicazione BookStack è stata installata, con la chiave unica segreta dell’applicazione generata e lo schema del database per BookStack aggiornato.

Passo 7 - Configurare l’Host Virtuale Nginx per BookStack

In questo passo, configureremo l’host virtuale nginx per BookStack. Utilizzeremo ‘book.hakase-labs.co’ come nome di dominio per il nostro URL di BookStack.

Vai nella directory ‘/etc/nginx’ e crea un nuovo file di host virtuale ‘bookstack.conf’ sotto la directory ‘conf.d/‘ utilizzando l’editor vim.

cd /etc/nginx  
vim conf.d/bookstack.conf

Incolla la configurazione qui sotto.

server {  
   listen 80;  
   server_name book.hakase-labs.co;  
   root /var/www/BookStack/public;  
   
   access_log  /var/log/nginx/bookstack_access.log;  
   error_log  /var/log/nginx/bookstack_error.log;  
   
   client_max_body_size 1G;  
   fastcgi_buffers 64 4K;  
   
   index  index.php;  
   
   location / {  
     try_files $uri $uri/ /index.php?$query_string;  
   }  
   
   location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {  
     deny all;  
   }  
   
   location ~ \.php(?:$|/) {  
     fastcgi_split_path_info ^(.+\.php)(/.+)$;  
     include fastcgi_params;  
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
     fastcgi_param PATH_INFO $fastcgi_path_info;  
     fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;  
   }  
   
   location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {  
     expires 30d;  
     access_log off;  
   }  
 }

Salva ed esci.

Ora testa la configurazione di nginx e assicurati che non ci siano errori, quindi riavvia il servizio nginx.

nginx -t  
systemctl restart nginx

L’host virtuale Nginx per l’applicazione BookStack è stato creato e attivato.

Configura Nginx Virtual Host

Passo 8 - Testare

Apri il tuo browser web e digita l’URL di BookStack nella barra degli indirizzi, il mio è: http://book.hakase-labs.co/

E verrai reindirizzato alla pagina ‘login/‘ come sotto.

Login BookStack

Digita l’utente admin predefinito ‘ [email protected] ‘ con la password ‘password’, e poi premi il pulsante ‘Login’.

Dovresti ottenere il Dashboard utente di BookStack.

Dashboard

Clicca sul menu ‘Impostazioni’ e otterrai la pagina delle impostazioni.

Impostazioni

Ora clicca su ‘Utenti’ e poi clicca sull’utente ‘Admin’. Cambia l’email predefinita con il tuo indirizzo email e la password con la tua password segreta.

Utenti BookStack

Poi clicca sul pulsante ‘Salva’.

L’installazione di BookStack con lo stack LEMP (Linux, Nginx, MariaDB e PHP-FPM) su CentOS 7 è stata completata con successo.

Riferimenti

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.