Alojar BookStack num VPS gerido: a sua documentação no seu servidor

Alojar BookStack num VPS gerido é guardar a sua documentação numa máquina sua, que as nossas equipas mantêm atualizada e supervisionam dia e noite. O BookStack é um software livre sob licença MIT, simples de fazer correr: PHP, MySQL ou MariaDB e um servidor web, sem Docker. Este guia segue a sua documentação oficial: a instalação, o HTTPS, os dados, os e-mails, a segurança, as cópias de segurança e as atualizações.

Simon Vasconcelos Lee Por Publicado a 13 de novembro de 2026Leitura: 11 minutos

Todos os guias

O essencial

  1. A licença MIT do BookStack permite qualquer utilização numa empresa, e o projeto mantém uma única versão, livre, sem edição empresarial.
  2. O BookStack dispensa o Docker: exige PHP 8.2 ou superior, MySQL 8.0 ou MariaDB 10.6 ou superior, e um servidor web que sirva a sua pasta public.
  3. Instale-o com o script do projeto num Ubuntu novo em folha, ou à mão com o Git e o Composer numa máquina já em serviço.
  4. Sirva-o em HTTPS com o Certbot e escreva depois o endereço exato em APP_URL: as ligações e os cookies seguros dependem disso.
  5. Faça uma cópia da base de dados, do .env, de public/uploads, de storage/uploads e de themes, e guarde com cuidado a APP_KEY.

O que faz o BookStack

O BookStack é uma plataforma de documentação pensada para se manter simples: o seu README visa uma adoção imediata, com simples noções de processamento de texto. As suas equipas escrevem aí os seus procedimentos, a sua documentação e a sua base de conhecimento, num navegador, em português, se assim o desejarem.

O projeto assume as suas escolhas: o seu README esclarece que o BookStack não foi concebido como uma plataforma extensível para outras utilizações, e continua fiel à documentação. O seu processamento de PDF passa pelo dompdf, sem instalação adicional, com capacidades limitadas; o projeto documenta outros motores com EXPORT_PDF_COMMAND.

O que permite a licença MIT

O BookStack é publicado sob a licença MIT por Dan Brown e pelos contribuidores do projeto. Autoriza qualquer utilização, qualquer modificação e qualquer distribuição, com uma condição: manter a menção de direitos de autor e o texto da licença em qualquer cópia do software. As FAQ do projeto esclarecem que esta atribuição diz respeito ao código que partilha: nada o obriga a mostrar o nome ou o logótipo do BookStack na sua instância.

O projeto mantém uma única versão, livre e gratuita: não propõe edição empresarial, e não tem alojamento oficial, nem projeto de abrir um. Vende, em contrapartida, planos de suporte, que contribuem para o seu financiamento com os donativos e os patrocínios. O BookStack instala-se, portanto, no seu servidor, sem licença para comprar.

Os pré-requisitos do BookStack

ElementoVersão exigidaEsclarecimento
PHP8.2 ou superiorExtensões curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml e zip
Base de dadosMySQL 8.0 ou superior, MariaDB 10.6 ou superiorUma única base de dados, cujo esquema o próprio BookStack gere
Composer2.2 ou superiorPara as dependências PHP
GitSem versão especificadaPara obter o código e aplicar as atualizações
Servidor webCompatível com PHPApache ou Nginx, raiz web na pasta public

O Docker continua a ser facultativo. O projeto não publica imagem oficial: as instalações em contentor vêm de projetos comunitários, LinuxServer.io e solidnerd. Este guia segue o caminho oficial, PHP e MySQL diretamente no servidor, que não exige nada mais.

A documentação afasta o alojamento PHP partilhado: o BookStack exige um servidor que administre. Não quantifica nem a memória nem o processador necessários. Num VPS gerido, descreva-nos a sua utilização, o número de pessoas e o volume de imagens e de anexos, e recomendamos-lhe o tamanho adequado.

A instalação do BookStack

O projeto propõe dois caminhos: um script para Ubuntu, o mais curto num servidor novo, e uma instalação manual para todos os outros casos.

Com o script do projeto, num Ubuntu novo em folha

SistemaO que o script instala
Ubuntu 26.04Apache, MySQL 8.4 e PHP 8.5
Ubuntu 24.04Apache, MySQL 8.0 e PHP 8.3
Ubuntu 22.04Apache, MySQL 8.0 e PHP 8.4
Terminal, para o Ubuntu 24.04
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.sh

Estes scripts estão reservados a um sistema acabado de instalar: podem sobrescrever uma configuração web existente. Deixam também de lado dois assuntos, as definições de e-mail e a segurança do sistema, a prever à parte.

O script instala o BookStack em /var/www/bookstack. O do Ubuntu 26.04 pede o domínio e o endereço da conta de administrador e mostra no fim uma palavra-passe aleatória, ausente do seu registo: anote-a. Com outro script, anote os acessos mostrados no fim e mude qualquer acesso predefinido logo no primeiro início de sessão.

À mão, em qualquer outra máquina

Comece pela base de dados: uma base de dados e um utilizador limitado a essa base. O script do projeto procede assim, com a palavra-passe da sua escolha no lugar de change-me:

Terminal
sudo mysql -u root --execute="CREATE DATABASE bookstack;"
sudo mysql -u root --execute="CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'change-me';"
sudo mysql -u root --execute="GRANT ALL ON bookstack.* TO 'bookstack'@'localhost';FLUSH PRIVILEGES;"

Obtenha depois a ramificação release, defina os direitos que a documentação dá para /var/www/bookstack e instale as dependências:

Terminal
cd /var/www
sudo git clone https://source.bookstackapp.com/bookstack.git --branch release --single-branch bookstack
sudo chown -R $USER:www-data /var/www/bookstack
sudo chmod -R 755 /var/www/bookstack
sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache /var/www/bookstack/public/uploads
cd bookstack
composer install --no-dev
cp .env.example .env
sudo chmod 640 .env

Preencha a base de dados e o endereço no .env:

.env
APP_URL=https://docs.example.com
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=change-me
Terminal, em /var/www/bookstack
php artisan key:generate
php artisan migrate

Aponte por fim a raiz web para a pasta public: DocumentRoot no Apache, root no Nginx. Sem Apache, ou quando os ficheiros .htaccess estão desativados, acrescente as regras de reescrita de endereços: o projeto publica exemplos para o Apache e para o Nginx.

Uma instalação manual abre-se com a conta admin@admin.com e a palavra-passe password. Mude o endereço e a palavra-passe logo no primeiro início de sessão.

HTTPS e APP_URL

Os visitantes chegam pelas portas 80 e 443, sob o nome de domínio do servidor. Crie para esse nome registos A e AAAA e peça depois o certificado: o script do Ubuntu 26.04 configura o Apache apenas na porta 80, e a página de instalação deixa o HTTPS ao seu cuidado. O Certbot instala o certificado Let’s Encrypt, adapta o Apache e renova o certificado por si próprio. No Nginx, substitua --apache por --nginx.

Terminal
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com

Passe depois o endereço para HTTPS no .env. APP_URL deve corresponder exatamente ao endereço de visita, prefixo incluído: um desvio nota-se por estilos ausentes, ícones desmedidos e menus quebrados. Um endereço em https ativa por si próprio os cookies seguros.

.env
APP_URL=https://docs.example.com

Se já existirem páginas, as suas ligações guardam o endereço antigo na base de dados. Faça a cópia de segurança da base de dados e execute depois o comando do projeto:

Terminal, em /var/www/bookstack
php artisan bookstack:update-url http://docs.example.com https://docs.example.com

O BookStack serve-se na raiz de um domínio ou de um subdomínio, e a documentação descreve também uma instalação sob uma subpasta, como example.com/bookstack. Se um proxy inverso se juntar à frente do Apache, declare o seu endereço em APP_PROXIES: sem ele, o registo de auditoria e a limitação de débito veem o endereço do proxy em vez do dos visitantes. A documentação reserva APP_PROXIES="*" ao diagnóstico.

Onde vivem os seus dados

LocalizaçãoO que contém
A base de dados MySQL ou MariaDBTodos os dados da aplicação, entre os quais o conteúdo das suas páginas
.envA configuração, com a APP_KEY e os acessos à base de dados e ao servidor de e-mail
public/uploadsAs imagens, com o armazenamento predefinido
storage/uploadsOs anexos, protegidos pelas permissões do BookStack
themesAs suas personalizações de tema, se for o caso

Mantenha a mesma APP_KEY ao longo do tempo e guarde uma cópia. O BookStack serve-se dela para cifrar nomeadamente os segredos da autenticação de dois fatores: mudá-la pode quebrar estas funcionalidades, e desde a versão 26.09 a aplicação devolve um erro se ela faltar.

As imagens são públicas por predefinição

Com o armazenamento predefinido, o servidor web serve diretamente as imagens, o que é rápido, e qualquer pessoa que conheça o seu endereço pode abri-las. Para uma documentação interna, a escolha faz-se em STORAGE_TYPE:

<code>STORAGE_TYPE</code>ImagensAcesso
localpublic/uploads/imagesServidas diretamente pelo servidor web
local_securestorage/uploads/imagesReservadas às pessoas com sessão iniciada, salvo acesso público ativado
local_secure_restrictedstorage/uploads/imagesSegundo as permissões da página, a opção mais exigente
s3Um bucket compatível com S3Imagens tornadas públicas no envio

Para os ficheiros pesados, três definições têm de estar de acordo: FILE_UPLOAD_SIZE_LIMIT no .env, post_max_size e upload_max_filesize no php.ini, e client_max_body_size no Nginx, que vale 1 MB por predefinição.

Duas definições contam também para uma documentação viva: cada página guarda 100 revisões por predefinição (REVISION_LIMIT), e a reciclagem conserva os elementos eliminados durante 30 dias (RECYCLE_BIN_LIFETIME).

Os e-mails: SMTP e fila de espera

O BookStack envia e-mails para a confirmação dos endereços, o esquecimento da palavra-passe, os convites e as notificações. A partir de um VPS Simafri, o envio passa por uma retransmissão SMTP autenticada, na porta 587: o endereço de uma conta de correio que já tenha, ou o Simafri Suite.

.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=bookstack@example.com
MAIL_PASSWORD=change-me
MAIL_FROM=bookstack@example.com
MAIL_FROM_NAME=BookStack

Verifique o resultado em «Settings», «Maintenance», com a ação «Send a Test Email», que mostra os erros encontrados. Uma falha durante um convite aparece no ecrã, ao passo que uma falha de notificação fica no registo da aplicação.

Enviar em segundo plano

Por predefinição, o BookStack envia e-mails e webhooks durante o pedido, o que pode abrandar as páginas. Para passar para segundo plano, escreva QUEUE_CONNECTION=database no .env e faça correr um serviço, com o exemplo que a documentação dá para uma instalação Ubuntu por script:

/etc/systemd/system/bookstack-queue.service
[Unit]
Description=BookStack Queue Worker

[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/bookstack/artisan queue:work --sleep=3 --tries=1 --max-time=3600

[Install]
WantedBy=multi-user.target
Terminal
sudo systemctl daemon-reload
sudo systemctl enable bookstack-queue.service
sudo systemctl start bookstack-queue.service

Proteger a sua instância BookStack

A documentação de segurança dá uma lista a retomar logo na instalação:

  1. Mude o endereço e a palavra-passe do primeiro administrador.
  2. Verifique que o servidor web serve apenas a pasta public, sobretudo se o BookStack viver em /var/www.
  3. Limite o utilizador da base de dados apenas à base de dados do BookStack.
  4. Preencha APP_URL, para que os endereços gerados pelo sistema não possam ser manipulados.
  5. Reveja as definições de inscrição e de acesso público e depois as funções.

A autenticação de dois fatores impõe-se em seguida por função. Inscreva-se também na lista de difusão de segurança do projeto, para receber os seus alertas. O endereço /status serve para uma supervisão: responde 200 quando tudo vai bem, e um código de erro igual ou superior a 400 caso contrário.

O PHP conta tanto como o BookStack. O projeto publicou a 21 de outubro de 2026 um alerta sobre uma atualização crítica do PHP, corrigida na 8.5.12, 8.4.27, 8.3.36 e 8.2.35. O Ubuntu publica estas correções sob os seus próprios números de pacotes, como 8.3.6-0ubuntu0.24.04.13 para o Ubuntu 24.04.

Para os seus conteúdos, mantenha a filtragem ativada por predefinição e reserve o seu abrandamento às instâncias em que só pessoas de confiança escrevem. Se uma conta de administrador se perder, php artisan bookstack:create-admin cria outra, e php artisan bookstack:reset-mfa retira a autenticação de dois fatores de um utilizador.

Cópias de segurança e atualizações

Uma cópia de segurança completa reúne a base de dados e as quatro localizações de ficheiros próprias da sua instância. As exportações de conteúdo servem para outra coisa: a documentação esclarece que não substituem uma cópia de segurança.

Terminal, em /var/www/bookstack
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes

A primeira linha visa uma instalação por script, em que o root do MySQL se liga por sudo; noutros casos, escreva mysqldump -u bookstack -p bookstack. Arrume estes dois ficheiros à parte, de preferência noutra máquina. O arquivo contém o .env, logo a APP_KEY e as suas palavras-passe: trate-o como um segredo.

Restaurar

Numa máquina nova, instale o BookStack sem executar php artisan migrate, um passo a pôr em comentário no script se o utilizar, e restaure depois a base de dados e os ficheiros, mantendo a APP_KEY de origem:

Terminal, em /var/www/bookstack
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz

Se a versão instalada for mais recente do que a cópia de segurança, execute depois php artisan migrate. Restabeleça os direitos de escrita do servidor web nas pastas restauradas. Se o endereço tiver mudado, corrija APP_URL e execute bookstack:update-url.

Atualizar

Faça a cópia de segurança da base de dados e dos ficheiros antes de cada atualização e depois, a partir da pasta do BookStack:

Terminal, em /var/www/bookstack
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear

O script para o Ubuntu 26.04 instala o BookStack sem o Composer. A página das atualizações propõe então, em beta, ./bookstack-system-cli download-vendor em vez de composer install --no-dev. Essa mesma ferramenta sabe copiar e restaurar, mas o projeto ainda não a considera pronta para a produção: teste-a antes de confiar nela.

A documentação mantém uma lista de indicações próprias de cada versão, a ler para a versão visada. Alguns exemplos:

As falhas corrigem-se em versões de manutenção, como a 26.09.3 de 11 de novembro de 2026: as imagens e os desenhos de uma página em rascunho ou na reciclagem continuavam acessíveis e modificáveis, e o rascunho pessoal de um editor podia ficar visível para outras pessoas.

Quem faz o quê num VPS gerido

O autoalojamento exige cuidar do servidor para além da aplicação. Num VPS gerido, as nossas equipas assumem o servidor e acompanham a sua instância de forma proativa; o BookStack continua a ser o seu software, com as suas definições e os seus dados.

AssuntoAs nossas equipasVocê
O servidorAtualizações do sistema e de segurança, intervenções no servidor incluídasO momento que convém à sua atividade
A supervisãoServidor acompanhado 24 horas por dia, 7 dias por semana, com intervenção sem esperar pela sua chamadaOs seus utilizadores, as suas funções e os seus conteúdos
BookStackAcompanhamento proativo: erros, lentidão e espaço em disco identificados, correção recomendadaA sua instalação, as suas atualizações e as suas definições, que aplica diretamente ou com o seu assistente de IA
As cópias de segurançaTodas as noites, cifradas e guardadas fora da máquina; restauro incluídoO pedido de restauro, quando precisar
A migraçãoO seu servidor atual migrado, oferecidoO momento da mudança

Se preferir que as nossas equipas intervenham na própria aplicação, este serviço é faturado à hora ou por pacote, com um orçamento comunicado antes da intervenção.

O BookStack, num servidor mantido por si

Com um VPS gerido da Simafri, as nossas equipas mantêm atualizado o servidor da sua instância BookStack, vigiam-no dia e noite e intervêm sem esperar pela sua chamada; acompanham também a sua instância de forma proativa e recomendam-lhe as correções úteis, que aplica diretamente ou com o seu assistente de IA. As cópias de segurança são cifradas todas as noites e guardadas fora da máquina, o seu restauro está incluído, e a migração do seu servidor atual é oferecida.

Descobrir os VPS geridos

Perguntas frequentes

O BookStack é gratuito para uma empresa?

Sim. O BookStack está sob licença MIT, que autoriza qualquer utilização, e o projeto mantém uma única versão, sem edição empresarial. Propõe também planos de suporte pagos, que continuam a ser facultativos. Resta o custo do servidor que o faz funcionar.

Como instalar o BookStack no Ubuntu?

Num Ubuntu 26.04, 24.04 ou 22.04 novo em folha, descarregue o script de instalação do projeto, torne-o executável e execute-o com sudo. Instala o Apache, o MySQL e o PHP. Numa máquina já em serviço, siga a instalação manual, porque o script pode sobrescrever uma configuração web existente.

Existe uma imagem Docker oficial do BookStack?

Não. As instalações em contentor vêm de projetos comunitários, LinuxServer.io e solidnerd. O caminho oficial instala o BookStack diretamente no servidor, com PHP, MySQL ou MariaDB e um servidor web, à mão ou pelo script para Ubuntu.

Que configuração é precisa para alojar o BookStack?

PHP 8.2 ou superior, MySQL 8.0 ou MariaDB 10.6 ou superior, Composer 2.2 ou superior, Git e um servidor web compatível com PHP. O projeto não quantifica nem a memória nem o processador, e afasta o alojamento PHP partilhado.

Qual é a palavra-passe predefinida do BookStack?

Uma instalação manual abre-se com admin@admin.com e a palavra-passe password, a mudar logo no primeiro início de sessão. O script para o Ubuntu 26.04 mostra no fim uma palavra-passe aleatória. Em caso de perda de acesso, php artisan bookstack:create-admin cria um novo administrador.

Como fazer a cópia de segurança do BookStack?

Exporte a base de dados com mysqldump e arquive .env, public/uploads, storage/uploads e themes. Mantenha a APP_KEY de origem numa restauração e arrume tudo fora da máquina. As exportações de conteúdo do BookStack não substituem esta cópia de segurança.

Como configurar os e-mails do BookStack?

Preencha MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM e MAIL_FROM_NAME no ficheiro .env e execute depois Send a Test Email em Settings, Maintenance. A partir de um VPS Simafri, o envio passa por uma retransmissão SMTP autenticada, na porta 587.

Um VPS gerido cobre o BookStack?

Um VPS gerido cobre o servidor: sistema, segurança, supervisão e cópias de segurança. As nossas equipas acompanham também a sua instância de forma proativa e recomendam-lhe as correções úteis, que aplica. Uma intervenção na aplicação é faturada à hora ou por pacote.

Fontes e documentação oficial

Contacte-nos