GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare il Wiki della documentazione di BookStack su CentOS 7

BookStack è una piattaforma open source per creare documentazione/contenuto wiki per il tuo progetto. È stato scritto nel linguaggio di programmazione PHP e utilizza il framework web Laravel. Fondamentalmente, la documentazione/wiki del tuo progetto sarà archiviata su BookStack come "Libro", seguito da "Capitolo" e "Pagine". Semplifica la creazione e la lettura della 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 tratterà argomenti tra cui l'installazione di PHP Composer e la creazione del database MySQL utilizzando la riga di comando.

Prerequisiti

  • CentOS 7
  • Privilegi di root

Cosa faremo

  1. Installa il repository EPEL
  2. Installa Nginx
  3. Installa e configura PHP-FPM
  4. Installa e configura MySQL/MariaDB
  5. Installa PHP Composer
  6. Installa BookStack
  7. Configura BookStack host virtuale Nginx
  8. Test

Passaggio 1:installazione del 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, in modo da poter installare Nginx e altri pacchetti.

Installa il repository EPEL usando il comando yum di seguito.

sudo yum -y install epel-release

Passaggio 2:installa 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 usando il comando yum di seguito.

sudo yum -y install nginx

Al termine dell'installazione, avvia il servizio e abilitalo all'avvio ogni volta all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Ora controllalo usando il comando netstat.

netstat -plntu

Assicurati di avere 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 seguenti.

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

Fase 3 - Installa PHP e PHP-FPM

In questo passaggio, installeremo e configureremo PHP-FPM 7.0. Installeremo PHP e PHP-FPM dal repository "webtatic":installeremo PHP con alcune estensioni necessarie alla piattaforma "BookStack", tra cui PDO, Tokenizer, GD, Tidy, MBString e OpenSSL.

Prima di installare PHP e PHP-FPM, aggiungi il nuovo repository "webtatic" al sistema CentOS 7 utilizzando il comando rpm di seguito.

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

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

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

Al termine dell'installazione, è necessario 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.

Quindi, modifica il file di configurazione del pool 'www.conf'.

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

Cambia l'utente predefinito per l'esecuzione del servizio PHP-FPM in utente e gruppo 'nginx'.

user = nginx
group = nginx

Sulla riga "ascolta", cambia il valore nel file sock come di seguito. Eseguiremo PHP-fpm nel file sock.

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

Ora per l'autorizzazione del socket e la configurazione del proprietario. Decommenta queste righe e modifica il valore come di seguito.

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 all'avvio ogni volta all'avvio.

systemctl start php-fpm
systemctl enable php-fpm

Ora controllalo usando il comando netstat.

netstat -pl | grep php

E assicurati di ottenere il file sock PHP-FPM.

PHP e PHP-FPM 7.0 con tutte le estensioni necessarie per la piattaforma "BookStack" sono state installate sul sistema CentOS 7.

Fase 4 - Installa e configura MySQL/MariaDB

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

Esegui il comando yum di seguito per installare il database MariaDB.

yum install -y mariadb mariadb-server

Al termine dell'installazione, avvia il servizio e abilitalo all'avvio ogni volta all'avvio.

systemctl start mariadb
systemctl enable mariadb

Ora dobbiamo configurare la password 'root' per il database.

Esegui il comando seguente per impostare la password del database "root".

mysql_secure_installation

E ti verrà richiesta la nuova password di root MySQL:digita la password per l'utente root e premi Invio. Per gli altri, digita "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 di root MySQL ora è stata impostata.

Successivamente, dobbiamo creare un nuovo database MySQL per l'installazione di BookStack. Creeremo un nuovo database denominato "bookstackdb" con utente "bookstak" e password "[email protected]".

Accedi alla shell MySQL con l'utente root.

mysql -u root -p

Esegui tutte le query MySQL di seguito sulla shell.

create database bookstackdb;
create user [email protected] identified by '[email protected]';
grant all privileges on bookstackdb.* to [email protected] identified by '[email protected]';
flush privileges;
exit;

MySQL/MariaDB è stato installato sul sistema CentOS 7 ed è stato creato il database per l'installazione di 'BookStack'.

Passaggio 5 - Installa PHP Composer su CentOS 7

Il compositore è un gestore delle dipendenze per PHP. Ti consente di gestire le dipendenze PHP di cui hai bisogno per il tuo progetto. In questo passaggio, installeremo il Composer utilizzando lo script di installazione. Il Composer verrà utilizzato per scaricare tutte le librerie PHP necessarie a 'BookStack'.

Vai alla home directory e scarica il programma di installazione usando curl.

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

E otterrai il file "composer.phar" nella tua home directory. Sposta il file nella directory '/usr/bin' e prova il comando 'compositore' come mostrato di seguito.

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

E otterrai la versione del compositore installata sul tuo sistema.

PHP Composer è ora installato sul sistema CentOS 7.

Passaggio 6:installa BookStack su CentOS 7

In questo passaggio, installeremo BookStack nella 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 in quella directory e clona il codice sorgente di BookStack usando il comando git.

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

Vai alla directory 'BookStack/' e installa tutte le dipendenze PHP necessarie usando il comando composer come mostrato di seguito.

cd BookStack/
composer install

Assicurati di non ricevere errori e quando è completo. Vedrai il risultato come di seguito.

Ora copia il file di configurazione dell'ambiente '.env.example' e modificalo usando vim.

cp .env.example .env
vim .env

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

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
[email protected]

Salva ed esci.

E cambia i permessi di proprietà della directory 'BookStack' con l'utente e il gruppo 'nginx'.

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

Successivamente, dobbiamo generare la chiave dell'applicazione univoca per BookStack e aggiornare lo schema del database utilizzando i comandi PHP craft.

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

php artisan key:generate
php artisan migrate

Ti verrà chiesta conferma, digita 'sì' e premi Invio.

Attendi che la migrazione della tabella abbia esito positivo.

L'applicazione BookStack è stata installata, con l'applicazione della chiave univoca segreta generata e lo schema del database per BookStack aggiornato.

Passaggio 7:configurazione dell'host virtuale Nginx per BookStack

In questo passaggio, configureremo l'host virtuale nginx per BookStack. Useremo 'book.hakase-labs.co' come nome di dominio per il nostro URL BookStack.

Vai alla directory '/etc/nginx' e crea un nuovo file host virtuale 'bookstack.conf' nella directory 'conf.d/' usando vim editor.

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

Incolla la configurazione di seguito.

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 prova 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.

Fase 8 - Test

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

E verrai reindirizzato alla pagina 'login/' come di seguito.

Digita l'utente amministratore predefinito "[email protected]" con la password "password", quindi premi il pulsante "Accedi".

Dovresti ottenere la dashboard utente di BookStack.

Fai clic sul menu "Impostazioni" e otterrai la pagina delle impostazioni.

Ora fai clic su "Utenti" e quindi fai clic sull'utente "Amministratore". Modifica l'e-mail predefinita con il tuo indirizzo e-mail e la password con la tua password segreta.

Quindi fai clic sul pulsante "Salva".

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


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare Nginx su CentOS 7

  3. Come installare phpMyAdmin con Nginx su CentOS 7

  4. Come installare Nginx su CentOS 8

  5. Come installare Linux Dash su CentOS 6

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare LEMP su CentOS 6

Come installare Nginx su CentOS 6

Come installare Wiki.js su CentOS 8

Come installare Nginx su CentOS 7?