Guia de Instalação do Passbolt em Hospedagem Compartilhada
Pré-requisitos
Para a execução deste processo, o usuário deve:
- Possuir acesso root ao servidor com AlmaLinux 9 ou Semelhantes.
- Ter instalado Git no servidor.
- Contar com PHP (versão compatível, ex.: PHP 7.4 ou superior) e as extensões necessárias (php-cli, php-fpm, php-gd, php-mbstring, php-json, php-curl, php-xml, php-intl).
- Ter um servidor de banco de dados (MariaDB/MySQL) disponível e criado para o usuário.
- Configurar um servidor web (Nginx ou Apache) para servir a aplicação.
- Possuir um domínio ou subdomínio apontando para o servidor.
- Possuir ssl configurado para o domínio ou subdomínio.
- Possuir a conta de hospedagem preparada para receber a instalação, passos acima.
Instrução de Trabalho
A seguir, são apresentados os passos necessários para a instalação do Passbolt CE a partir do código fonte:
Passo 1: Atualização do Sistema e Instalação de Dependências
Atualize o sistema e instale os pacotes essenciais:
dnf update -y
dnf install -y git composer php php-cli php-fpm php-gd php-mbstring php-json php-curl php-xml php-intl
Verifique se o as dependências que estão sendo baixadas correspondem a versão por exemplo php81-gd-devel
Grande parte das extensões já estão baixadas nativamente junto ao painel de controle instalado.
Passo 2: Clonagem do Repositório do Passbolt
Clone o repositório oficial do Passbolt a partir do GitHub para o diretório desejado (por exemplo, /home/passbolt/public_html):
git clone https://github.com/passbolt/passbolt_api.git /path/para/a/public/do/dominio
Mova os arquivos de dentro da pasta do clone para a public
Passo 3: Instalação das Dependências via Composer
A API Passbolt usa uma chave OpenPGP para o servidor para autenticar e assinar as solicitações JSON de saída. Para melhor compatibilidade use a mesma versão do GnuPG para geração das chaves e para o módulo php.
gpg --batch --no-tty --gen-key <<EOF
Key-Type: default
Key-Length: 3072
Subkey-Type: default
Subkey-Length: 3072
Name-Real: John Doe
Name-Email: email@domain.tld
Expire-Date: 0
%no-protection
%commit
EOF
Substitua Name-Real e Name-Email pelo o proprietário da instalação.
Para exibir a nova chave:
gpg --armor --export-secret-keys email@domain.tld
Depois de criar a chave, anote a impressão digital, ela será solicitada posteriormente no processo de instalação. Você pode obter a impressão digital da chave do servidor da seguinte maneira.
gpg --list-keys --fingerprint | grep -i -B 2 'email@domain.tld'
Copie as chaves públicas e privadas para o local de configuração do passbolt:
gpg --armor --export-secret-keys email@domain.tld > /path/para/a/public/do/dominio/config/gpg/serverkey_private.asc
gpg --armor --export email@domain.tld > /path/para/a/public/do/dominio/config/gpg/serverkey.asc
Passo 4: Instalação das Dependências via Composer
cd /path/para/a/public/do/dominio
curl -sS https://getcomposer.org/installer | php
composer.phar install --no-dev
A instalação do composer também será necessária!
Passo 4: Crie um arquivo de configuração passbolt
Baseado no arquivo de configuração /config/passbolt-default.php, configure o ambiente conforme o necessário.
cp config/passbolt.default.php config/passbolt.php
vim config/passbolt.php
Em seguida, edite o arquivo para definir os parâmetros essenciais.
- URL base completo do aplicativo
- Configuração do banco de dados
- Configurações de e-mail
- Fingerprint da chave OpenGPG do servidor.
Passo 6: Execução das Migrações e Instalação do Passbolt
Com o ambiente configurado, execute as migrações do banco de dados e instale o Passbolt utilizando os comandos do CakePHP:
cd /path/para/a/public/do/dominio/
bin/cake migrations migrate
bin/cake passbolt install
O comando bin/cake passbolt install iniciará o assistente de instalação, que guiará a criação de chaves e a configuração inicial do aplicativo.
Passo 7: Configuração do Servidor Web
Configure o seu servidor web para apontar para a pasta webroot do Passbolt. A seguir, um exemplo de configuração para o Nginx:
# Exemplo de configuração Nginx para Passbolt
server {
listen 80;
server_name seu-dominio.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name seu-dominio.com;
root /var/www/passbolt/webroot;
index index.php;
ssl_certificate /caminho/do/certificado.crt;
ssl_certificate_key /caminho/da/chave.key;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Passo 8: Finalização via Interface Web
Após configurar o servidor web, acesse o Passbolt através do navegador utilizando o domínio configurado (https://seu-dominio.com). Na interface, realize o healthcheck, e finalize as pendencias apontadas por ele.
Conclusão
Com a execução dos passos descritos, o Passbolt CE estará instalado a partir do código fonte em seu ambiente de hospedagem compartilhada. O procedimento envolve a clonagem do repositório, configuração do ambiente via Composer, definição dos parâmetros no arquivo de configuração, configuração do banco de dados, execução das migrações e ajustes no servidor web.
Finalize a instalação pela interface web e proceda com a criação dos usuários conforme as necessidades da sua equipe. Para dúvidas ou suporte adicional, consulte a documentação oficial do Passbolt e os fóruns da comunidade.
Informações de controle de versão
Assunto
Instalação do Passbolt CE via código fonte em ambiente de hospedagem compartilhada com AlmaLinux 9
Introdução
Este documento descreve o procedimento para instalar o Passbolt Community Edition (CE) a partir do código fonte. Baseia-se nas instruções oficiais disponíveis em Passbolt – Install from source e assume que o usuário possui acesso root total ao servidor.
Palavras-Chave
<Passbolt | Código Fonte | AlmaLinux 9 | Hospedagem Compartilhada | Instalação>
Segurança da Informação
Este documento é destinado ao uso interno e deve ser manuseado conforme as políticas de segurança da informação da organização.
Dados da Revisão
| Data: 02/09/2024 | Rev.: 1.0 | Criado por: Gabriel Prado | Aprovado por: | Visibilidade: Interno |