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
- Installare il Repository EPEL
- Installare Nginx
- Installare e Configurare PHP-FPM
- Installare e Configurare MySQL/MariaDB
- Installare PHP Composer
- Installare BookStack
- Configurare l’Host Virtuale Nginx per BookStack
- 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-releasePasso 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 nginxDopo che l’installazione è completata, avvia il servizio e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start nginx
systemctl enable nginxOra controllalo utilizzando il comando netstat.
netstat -plntuAssicurati di ottenere la porta 80 nell’elenco, e che sia utilizzata dal servizio 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 --reloadPasso 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.rpmOra 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 curlDopo 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.iniDecommenta la riga ‘cgi.fix_pathinfo’ e cambia il valore in ‘0’.
cgi.fix_pathinfo=0Salva ed esci.
Successivamente, modifica il file di configurazione del pool ‘www.conf’.
vim /etc/php-fpm.d/www.confCambia l’utente predefinito per eseguire il servizio PHP-FPM in ‘nginx’ utente e gruppo.
user = nginx
group = nginxNella riga ‘listen’, cambia il valore nel file sock come sotto. Eseguiremo PHP-fpm sotto il file sock.
listen = /var/run/php-fpm/php-fpm.sockOra 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 = 0660Infine, decommenta l’ambiente PHP-FPM.
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmpSalva 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-fpmOra controllalo utilizzando il comando netstat.
netstat -pl | grep phpE 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-serverDopo che l’installazione è completata, avvia il servizio e abilitalo per avviarsi ogni volta all’avvio.
systemctl start mariadb
systemctl enable mariadbOra dobbiamo configurare la password ‘root’ per il database.
Esegui il comando qui sotto per impostare la password del database ‘root’.
mysql_secure_installation
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] YLa 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 -pEsegui 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;
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 | phpE 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 -vE otterrai la versione del composer installata sul tuo sistema.

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 gitOra crea una nuova directory ‘/var/www’.
mkdir -p /var/wwwVai 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-branchVai nella directory ‘BookStack/‘ e installa tutte le dipendenze PHP necessarie utilizzando il comando composer come mostrato qui sotto.
cd BookStack/
composer installAssicurati di non ottenere errori e quando è completo. Vedrai il risultato come sotto.

Ora copia il file di configurazione dell’ambiente ‘.env.example’ e modificalo utilizzando vim.
cp .env.example .env
vim .envNella 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/BookStackSuccessivamente, 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 migrateTi verrà chiesta conferma, digita ‘yes’ e premi Invio.

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.confIncolla 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 nginxL’host virtuale Nginx per l’applicazione BookStack è stato creato e attivato.

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.

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

Clicca sul menu ‘Impostazioni’ e otterrai la pagina delle 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.

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
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.