Instalação · 8 min read · Dec 08, 2025

Como Instalar a Documentação do Wiki BookStack no CentOS 7

BookStack é uma plataforma de código aberto para criar conteúdo de documentação/wiki para seu projeto. Foi escrita na linguagem de programação PHP e usa o framework web Laravel. Basicamente, a documentação/wiki do seu projeto será armazenada no BookStack como um ‘Livro’, seguido por ‘Capítulo’ e ‘Páginas’. Isso facilita a criação e leitura da documentação como um Livro, com base em Capítulos e Páginas.

Neste tutorial, vou mostrar passo a passo como instalar e configurar o BookStack no CentOS 7 sob a pilha LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Este tutorial abordará tópicos incluindo a instalação do PHP Composer e a criação do banco de dados MySQL usando a linha de comando.

Pré-requisitos

  • CentOS 7
  • Privilégios de root

O que faremos

  1. Instalar o Repositório EPEL
  2. Instalar o Nginx
  3. Instalar e Configurar o PHP-FPM
  4. Instalar e Configurar o MySQL/MariaDB
  5. Instalar o PHP Composer
  6. Instalar o BookStack
  7. Configurar o Host Virtual Nginx do BookStack
  8. Testando

Passo 1 - Instalar o Repositório EPEL

Adicione o novo repositório de terceiros ao sistema. Precisamos adicionar o repositório EPEL (Pacotes Extras para Linux Empresarial) ao nosso sistema CentOS 7, para que possamos instalar o Nginx e outros pacotes.

Instale o repositório EPEL usando o comando yum abaixo.

sudo yum -y install epel-release

Passo 2 - Instalar o Nginx no CentOS 7

Neste tutorial, executaremos a plataforma ‘BookStack’ sob a pilha LEMP, e instalaremos o servidor web Nginx do repositório EPEL.

Instale o servidor web Nginx usando o comando yum abaixo.

sudo yum -y install nginx

Após a instalação ser concluída, inicie o serviço e habilite-o para iniciar toda vez que o sistema for inicializado.

systemctl start nginx  
systemctl enable nginx

Agora verifique usando o comando netstat.

netstat -plntu

Certifique-se de que a porta 80 esteja na lista e que esteja sendo usada pelo serviço Nginx.

Instalar Nginx

O servidor web Nginx agora está instalado no sistema CentOS 7.

Adicional: Se você estiver executando o firewalld em seu sistema, adicione um novo serviço HTTP à configuração executando os comandos abaixo.

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

Passo 3 - Instalar PHP e PHP-FPM

Neste passo, instalaremos e configuraremos o PHP-FPM 7.0. Instalaremos o PHP e o PHP-FPM do repositório ‘webtatic’ - instale o PHP com algumas extensões que são necessárias pela plataforma ‘BookStack’, incluindo PDO, Tokenizer, GD, Tidy, MBString e OpenSSL.

Antes de instalar o PHP e o PHP-FPM, adicione o novo repositório ‘webtatic’ ao sistema CentOS 7 usando o comando rpm abaixo.

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

Agora instale o PHP e o PHP-FPM com todas as extensões necessárias usando o comando yum da seguinte maneira.

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

Após a instalação ser concluída, precisamos editar o arquivo de configuração ‘php.ini’ e editar a configuração do pool php-fpm ‘www.conf’.

Edite o arquivo de configuração ‘php.ini’ usando o editor vim.

vim /etc/php.ini

Descomente a linha ‘cgi.fix_pathinfo’ e altere o valor para ‘0’.

cgi.fix_pathinfo=0

Salve e saia.

Em seguida, edite o arquivo de configuração do pool ‘www.conf’.

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

Altere o usuário padrão para executar o serviço PHP-FPM para o usuário e grupo ‘nginx’.

user = nginx  
group = nginx

Na linha ‘listen’, altere o valor para o arquivo sock como abaixo. Estaremos executando o PHP-fpm sob o arquivo sock.

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

Agora para a configuração de permissão e proprietário do socket. Descomente essas linhas e altere o valor como abaixo.

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

Finalmente, descomente o ambiente PHP-FPM.

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

Salve e saia.

Se a configuração estiver completa, inicie o serviço PHP-FPM e habilite-o para iniciar toda vez que o sistema for inicializado.

systemctl start php-fpm  
systemctl enable php-fpm

Agora verifique usando o comando netstat.

netstat -pl | grep php

E certifique-se de que você obtenha o arquivo sock do PHP-FPM.

PHP e PHP-FPM 7.0 com todas as extensões necessárias para a plataforma ‘BookStack’ foram instalados no sistema CentOS 7.

Passo 4 - Instalar e Configurar MySQL/MariaDB

O BookStack suporta apenas o banco de dados MySQL, e ele funcionará apenas sob a versão MySQL >= 5.6. Para este tutorial, usaremos o MariaDB (última versão) que pode ser instalado a partir do repositório do Ubuntu.

Execute o comando yum abaixo para instalar o banco de dados MariaDB.

yum install -y mariadb mariadb-server

Após a instalação ser concluída, inicie o serviço e habilite-o para iniciar toda vez que o sistema for inicializado.

systemctl start mariadb  
systemctl enable mariadb

Agora precisamos configurar a senha ‘root’ para o banco de dados.

Execute o comando abaixo para configurar a senha do banco de dados ‘root’.

mysql_secure_installation

Configurar MariaDB

E você será solicitado a inserir a nova senha root do MySQL - digite sua senha para o usuário root e pressione Enter. Para os outros, basta digitar ‘Y’ para sim e pressionar Enter novamente.

Definir senha root? [Y/n] Y  
 Remover usuários anônimos? [Y/n] Y  
 Proibir login remoto do root? [Y/n] Y  
 Remover banco de dados de teste e acesso a ele? [Y/n] Y  
 Recarregar tabelas de privilégios agora? [Y/n] Y

A senha root do MySQL agora foi configurada.

Em seguida, precisamos criar um novo banco de dados MySQL para a instalação do BookStack. Criaremos um novo banco de dados chamado ‘bookstackdb’ com o usuário ‘bookstack’ e a senha ‘bookstack@’.

Faça login no shell do MySQL com o usuário root.

mysql -u root -p

Execute todas as consultas MySQL abaixo no 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;

Criar banco de dados no MariaDB para BookStack

O MySQL/MariaDB foi instalado no sistema CentOS 7, e o banco de dados para a instalação do ‘BookStack’ foi criado.

Passo 5 - Instalar o PHP Composer no CentOS 7

O composer é um gerenciador de dependências para PHP. Ele permite que você gerencie as dependências PHP que você precisa para seu projeto. Neste passo, instalaremos o Composer usando o script de instalador. O Composer será usado para baixar todas as bibliotecas PHP necessárias para o ‘BookStack’.

Vá para o diretório home e baixe o instalador usando curl.

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

E você obterá o arquivo ‘composer.phar’ no seu diretório home. Mova o arquivo para o diretório ‘/usr/bin’ e tente o comando ‘composer’ como mostrado abaixo.

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

E você obterá a versão do composer que está instalada no seu sistema.

Instalar PHP Composer

O PHP Composer agora está instalado no sistema CentOS 7.

Passo 6 - Instalar o BookStack no CentOS 7

Neste passo, instalaremos o BookStack no diretório ‘/var/www’ - esse diretório será o diretório raiz da aplicação.

Antes de instalar o ‘BookStack’, instale o git no seu sistema.

yum -y install git

Agora crie um novo diretório ‘/var/www’.

mkdir -p /var/www

Vá para esse diretório e clone o código-fonte do BookStack usando o comando git.

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

Vá para o diretório ‘BookStack/‘ e instale todas as dependências PHP necessárias usando o comando composer como mostrado abaixo.

cd BookStack/  
composer install

Certifique-se de que não haja erro e quando estiver completo. Você verá o resultado como abaixo.

Instalar BookStack com Composer

Agora copie o arquivo de configuração do ambiente ‘.env.example’ e edite-o usando vim.

cp .env.example .env  
vim .env

Na linha dos detalhes do banco de dados, altere tudo com as informações do seu banco de dados como mostrado abaixo.

# Detalhes do banco de dados  
 DB_HOST=localhost  
 DB_DATABASE=bookstackdb  
 DB_USERNAME=bookstack  
 DB_PASSWORD=bookstack@

Salve e saia.

E altere as permissões de propriedade do diretório ‘BookStack’ para o usuário e grupo ‘nginx’.

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

Em seguida, precisamos gerar a chave única da aplicação para o BookStack e atualizar o esquema do banco de dados usando os comandos PHP artisan.

No diretório raiz da aplicação ‘/var/www/BookStack’, execute os seguintes comandos.

php artisan key:generate  
php artisan migrate

Você será solicitado a confirmar, digite ‘yes’ e pressione Enter.

PHP artisan

Aguarde até que a migração da tabela seja bem-sucedida.

A aplicação BookStack foi instalada, com a chave única secreta da aplicação gerada e o esquema do banco de dados para o BookStack atualizado.

Passo 7 - Configurar o Host Virtual Nginx para o BookStack

Neste passo, configuraremos o host virtual nginx para o BookStack. Usaremos ‘book.hakase-labs.co’ como um nome de domínio para nossa URL do BookStack.

Vá para o diretório ‘/etc/nginx’ e crie um novo arquivo de host virtual ‘bookstack.conf’ no diretório ‘conf.d/‘ usando o editor vim.

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

Cole a configuração abaixo.

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;  
   }  
 }

Salve e saia.

Agora teste a configuração do nginx e certifique-se de que não haja erro, em seguida reinicie o serviço nginx.

nginx -t  
systemctl restart nginx

O host virtual Nginx para a aplicação BookStack foi criado e ativado.

Configurar Host Virtual Nginx

Passo 8 - Testando

Abra seu navegador web e digite a URL do BookStack na barra de endereços, a minha é: http://book.hakase-labs.co/

E você será redirecionado para a página ‘login/‘ como abaixo.

Login do BookStack

Digite o usuário admin padrão ‘ [email protected] ‘ com a senha ‘password’, e então pressione o botão ‘Login’.

Você deve obter o Painel do Usuário do BookStack.

Painel

Clique no menu ‘Configurações’ e você verá a página de configurações.

Configurações

Agora clique em ‘Usuários’ e depois clique no usuário ‘Admin’. Altere o e-mail padrão pelo seu endereço de e-mail e a senha pela sua própria senha secreta.

Usuários do BookStack

Em seguida, clique no botão ‘Salvar’.

A instalação do BookStack com a pilha LEMP (Linux, Nginx, MariaDB e PHP-FPM) no CentOS 7 foi concluída com sucesso.

Referência

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.