Gerenciador de Senhas · 13 min read · Jan 12, 2026

Instalar e Configurar o Gerenciador de Senhas Passbolt Team no Ubuntu 20.04

Passbolt é um gerenciador de senhas gratuito, de código aberto, auto-hospedado e extensível que ajuda você a compartilhar e armazenar credenciais de login de forma segura, como a senha do roteador, site, Wi-Fi e muito mais. Ele é diferente de outros gerenciadores de senhas, pois é focado no uso em equipe em vez de indivíduos. Está disponível tanto na edição comunitária quanto na paga. Oferece muitos recursos, alguns deles listados abaixo:

  • Fornece extensões para Firefox e Google Chrome.
  • Usa OpenPGP para criptografar a senha.
  • Interface web simples e amigável.
  • Permite importar e exportar senhas.
  • Permite adicionar credenciais de login manualmente.

Neste tutorial, explicaremos como instalar o gerenciador de senhas Passbolt com Apache e Let’s Encrypt no Ubuntu 20.04.

Pré-requisitos

  • Um servidor rodando Ubuntu 20.04.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no servidor.

Instalar Servidor LAMP

Primeiro, você precisará instalar o Apache e o servidor MariaDB em seu sistema. Você pode instalá-los com o seguinte comando:

apt-get install apache2 mariadb-server -y

Após instalar os pacotes acima, você também precisará instalar o PHP e outros pacotes necessários em seu sistema.

Por padrão, o Ubuntu 20.04 vem com PHP7.4 em seu repositório padrão. No entanto, o Passbolt não suporta PHP7.4. Portanto, você precisará adicionar o repositório PHP em seu sistema.

Primeiro, instale os pacotes necessários com o seguinte comando:

apt-get install software-properties-common gnupg -y

Em seguida, adicione o repositório PHP com o seguinte comando:

add-apt-repository ppa:ondrej/php --yes

Em seguida, instale a versão PHP 7.3 com o Composer e outras extensões necessárias com o seguinte comando:

apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

Uma vez que todos os pacotes estejam instalados, você pode prosseguir para o próximo passo.

Configurar Banco de Dados MariaDB

Primeiro, você precisará garantir a instalação do MariaDB e definir a senha do root do MariaDB. Você pode fazer isso com o seguinte comando:

mysql_secure_installation

Este script irá definir a senha do root do MariaDB, remover usuários anônimos, desabilitar o login remoto do root e remover o banco de dados de teste e o acesso a ele, como mostrado abaixo:

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
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

Uma vez que o MariaDB esteja seguro, faça login no shell do MariaDB com o seguinte comando:

mysql -u root -p

Forneça sua senha de root quando solicitado e, em seguida, crie um banco de dados e um usuário para o Passbolt com o seguinte comando:

MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
MariaDB [(none)]> GRANT ALL on passboltdb.* to passbolt@localhost identified by 'password';

Em seguida, limpe os privilégios e saia do MariaDB com o seguinte comando:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Baixar e Configurar Passbolt

Nesta seção, aprenderemos como baixar e configurar o Passbolt:

Baixar Passbolt

Primeiro, baixe a versão mais recente do Passbolt para o diretório raiz da web do Apache com o seguinte comando:

mkdir /var/www/passbolt  
git clone https://github.com/passbolt/passbolt_api.git /var/www/passbolt

Uma vez baixado, mude a propriedade do Passbolt para www-data com o seguinte comando:

chown -R www-data:www-data /var/www/

Em seguida, mude o diretório para passbolt e instale as dependências necessárias com o seguinte comando:

cd /var/www/passbolt  
sudo -u www-data composer install --no-dev

Você deve obter a seguinte saída:

> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
9 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
thadafinser/package-info:  Generating class...
thadafinser/package-info: ...generating class
> App\Console\Installer::postInstall
Created `config/app.php` file
Created `/var/www/passbolt/logs` directory
Created `/var/www/passbolt/tmp/cache/models` directory
Created `/var/www/passbolt/tmp/cache/persistent` directory
Created `/var/www/passbolt/tmp/cache/views` directory
Created `/var/www/passbolt/tmp/sessions` directory
Created `/var/www/passbolt/tmp/tests` directory
Set Folder Permissions ? (Default to Y) [Y,n]? Y

Digite Y e pressione Enter para definir as permissões da pasta.

Gerar Chave OpenPGP

Em seguida, você precisará gerar uma chave OpenPGP para autenticar e assinar solicitações JSON de saída. Você pode gerá-la com o seguinte comando:

cd /var/www/passbolt  
gpg --full-generate-key

Durante o processo, você será solicitado a fornecer a frase secreta, basta pressionar a tecla Tab, selecionar OK e confirmar que você não deseja defini-la, pois o módulo php-gnupg não suporta o uso de frase secreta no momento.

gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Hitesh
Email address: [email protected]
Comment: Hi
You selected this USER-ID:
    "Hitesh (Hi) <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
public and secret key created and signed.

pub   rsa4096 2020-07-25 [SC]
      D2394A45B7CBBAB7F00CC79B23D4750486780854
uid                      Hitesh (Hi) <[email protected]>
sub   rsa4096 2020-07-25 [E]

Por favor, lembre-se da impressão digital da chave pública acima, pois será necessária mais tarde na configuração.

Em seguida, exporte a chave pública e privada para o diretório ‘/var/www/passbolt’ com os seguintes comandos:

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc  
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

Em seguida, você precisará inicializar o keyring da chave gpg para o usuário Apache. Você pode fazer isso com o seguinte comando:

sudo su -s /bin/bash -c "gpg --list-keys" www-data

Você deve obter a seguinte saída:

gpg: directory '/var/www/.gnupg' created
gpg: keybox '/var/www/.gnupg/pubring.kbx' created
gpg: /var/www/.gnupg/trustdb.gpg: trustdb created

Configurar Passbolt

Primeiro, copie o arquivo de configuração de exemplo do Passbolt com o seguinte comando:

cp /var/www/passbolt/config/passbolt{.default,}.php

Em seguida, edite o arquivo de configuração do Passbolt com o seguinte comando:

nano /var/www/passbolt/config/passbolt.php

Defina sua fullbaseurl, banco de dados e impressão digital da chave pública como mostrado abaixo:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Configuração do banco de dados.

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passboltdb',
            'serverKey' => [
            // Impressão digital da chave privada do servidor.
            'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Salve e feche o arquivo quando terminar.

Se você não se lembrar da impressão digital da sua chave pública, pode obtê-la com o seguinte comando:

gpg --list-keys --fingerprint | grep -i -B 2 [email protected]

Você deve obter a seguinte saída:

gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   rsa4096 2020-07-25 [SC]
      D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
uid           [ultimate] Hitesh (Hi) <[email protected]>

Configurar Apache para Passbolt

Em seguida, você precisará criar um arquivo de configuração de host virtual do Apache para o Passbolt. Você pode criá-lo com o seguinte comando:

nano /etc/apache2/sites-available/passbolt.conf

Adicione as seguintes linhas:



        ServerName passbolt.linuxbuz.com
        DocumentRoot /var/www/passbolt

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined


      
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        


Salve e feche o arquivo, em seguida, ative o arquivo de host virtual e reinicie o serviço Apache com o seguinte comando:

a2ensite passbolt  
systemctl restart apache2

Quando você terminar, pode prosseguir para o próximo passo.

Proteger Passbolt com Let’s Encrypt

Para proteger seu site com SSL Let’s Encrypt, você precisará instalar o utilitário cliente Certbot em seu sistema para gerenciar o certificado SSL.

Você pode instalá-lo com o seguinte comando:

apt-get install python3-certbot-apache -y

Uma vez instalado, execute o seguinte comando para proteger seu site com SSL Let’s Encrypt:

certbot --apache -d passbolt.linuxbuz.com

Você será solicitado a fornecer seu e-mail e aceitar os termos de serviço, como mostrado abaixo:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf

Em seguida, selecione se deseja ou não redirecionar o tráfego HTTP para HTTPS, como mostrado abaixo:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Digite 2 e pressione Enter para instalar o SSL Let’s Encrypt para seu site:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Neste ponto, seu site está protegido com SSL Let’s Encrypt.

Instalar Passbolt

Em seguida, você pode instalar o Passbolt executando o script de instalação do Passbolt.

Primeiro, mude o diretório para /var/www/passbolt:

cd /var/www/passbolt

Em seguida, execute o script de instalação do Passbolt com o seguinte comando:

sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

Uma vez que a instalação tenha sido concluída com sucesso, você deve obter a seguinte saída:

All Done. Took 1.6533s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

Em seguida, você precisará finalizar a configuração do Passbolt pelo navegador. Abra seu navegador da web e visite a URL https://passbolt.linuxbuz.com. Você deve ver a seguinte tela:

Passbolt Download

Aqui, você precisará baixar e instalar um plugin para seu navegador. Clique em Baixar o plugin para baixar e instalar o plugin do Passbolt. Uma vez instalado, você pode prosseguir para o próximo passo.

Acessar a Interface Web do Passbolt

Antes de começar, você precisará criar um usuário administrador e definir uma senha para o Passbolt. Você pode fazer isso com o seguinte comando:

cd /var/www/passbolt  
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [email protected] -f howtoforge -l Demo -r admin" www-data

Você deve obter a seguinte saída:

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377

Agora, copie o link da saída acima e use-o para finalizar a configuração do Passbolt no navegador. Você deve ver a seguinte tela:

Get Passbolt Plugin

Confirme que a URL e a impressão digital da chave GPG estão corretas e clique no botão Próximo. Você deve ver a seguinte tela:

Create new key

Forneça o nome do proprietário, e-mail e clique no botão Próximo. Você deve ver a seguinte tela:

Set Passphrase

Defina sua senha e clique no botão Próximo. Você deve ver a seguinte tela:

Create backup

Baixe sua chave secreta e clique no botão Próximo. Você deve ver a seguinte tela:

Set security token

Defina um token de segurança e clique no botão Próximo. Você deve ver a seguinte tela:

Passbolt login

Forneça seu nome de usuário, senha e clique no botão login. Você deve ver o painel do Passbolt na seguinte tela:

Passbolt team password manager

Conclusão

Parabéns! você instalou com sucesso o gerenciador de senhas Passbolt com SSL Let’s Encrypt no servidor Ubuntu 20.04. Agora você pode armazenar e compartilhar suas senhas com suas equipes e usuários individuais. Sinta-se à vontade para me perguntar se tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.