Passbolt is a free, open-source and self-hosted password manager that allows you to store your website and other passwords securely. It is an extensible and OpenPGP based password manager and is available in both a subscription-based and community edition. It also allows you to share your login credentials with your friends.

Features

  • Free and Open-source.
  • Supports OpenPGP cryptographic standard.
  • Simple and user-friendly interface.
  • Import and export passwords.
  • Add login credentials manually.
  • Share login credentials with your team.
  • Extensions are available for Firefox and Google Chrome.

In this tutorial, I will show you how to install the Passbolt password manager on Debian 11.

Prerequisites

  • A server running Debian 11.
  • A root password is configured on the server.

Getting Started

Before starting, it is recommended to update your system’s package cache with the updated version of the package. You can update it with the following command:

apt-get update -y

Once you are done, you will also need to install some required dependencies to your system. You can install all of them with the following command:

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

Next, install the Certbot Let’s Encrypt client with the following command:

apt-get install certbot python3-certbot-nginx -y

Once all the necessary packages are installed, you can proceed to the next step.

Add Passbolt Repository

By default, Passbolt is not available in the Debian 11 default repository. So you will need to add the Passbolt repository to your system.

First, add the GPG key with the following command:

apt-key adv --keyserver hkps://keys.mailvelope.com --recv-keys 0xDE8B853FC155581D

You should get the following output:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.CHkhJsg8yu/gpg.1.sh --keyserver hkps://keys.mailvelope.com --recv-keys 0xDE8B853FC155581D
gpg: key DE8B853FC155581D: public key "Passbolt SA package signing key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Next, verify your GPG key with the following command:

apt-key fingerprint 0xDE8B853FC155581D

If everything is fine you should see the following output:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
pub   rsa2048 2020-05-18 [SC] [expires: 2022-05-18]
      3D1A 0346 C8E1 802F 774A  EF21 DE8B 853F C155 581D
uid           [ unknown] Passbolt SA package signing key <[email protected]>
sub   rsa2048 2020-05-18 [E] [expires: 2022-05-18]

Next, add the Passbolt repository to APT with the following command:

echo "deb https://download.passbolt.com/ce/debian buster stable" | tee /etc/apt/sources.list.d/passbolt.list

Next, update the repository using the following command:

apt-get update -y

Once you are done, you can proceed to the next step.

Install Passbolt

Now, you can install the Passbolt by running the following command:

apt-get install passbolt-ce-server -y

During the installation, you will be asked to create a database for Passbolt:

<img alt="Configure Passbolt" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p1.png615b230a8da83.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="280" loading="lazy" src="data:image/svg xml,” width=”568″>

Select Yes and hit Enter. You will be asked to set a MySQL administrator user:

<img alt="MySQL password" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p2.png615b230ab6731.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="271" loading="lazy" src="data:image/svg xml,” width=”538″>

Provide root user and click on the Ok button. You will be asked to set MySQL root password:

<img alt="Repeat password" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p3.png615b230ad96fd.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="246" loading="lazy" src="data:image/svg xml,” width=”580″>

Provide your root password and click on the Ok button. You will be asked to create a Passbolt database user:

<img alt="Database user" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p4.png615b230af2a7e.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="262" loading="lazy" src="data:image/svg xml,” width=”690″>

Provide your database user and click on the Ok button. You will be asked to set a database password:

<img alt="passbolt database password" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p6.png615b230b23da0.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="238" loading="lazy" src="data:image/svg xml,” width=”585″>

Provide your database password and click on the Ok button. You will be asked to define your Passbolt database:

<img alt="Database name" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p8.png615b230b7f855.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="242" loading="lazy" src="data:image/svg xml,” width=”631″>

Provide your database name and click on the Ok button. You will be asked to set up an Nginx or Apache webserver:

<img alt="Configure nginx" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p9.png615b230baf202.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="322" loading="lazy" src="data:image/svg xml,” width=”630″>

Select Yes and hit Enter. You will be asked to select installation type:

<img alt="auto nginx setup" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p10.png615b230bd476b.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="335" loading="lazy" src="data:image/svg xml,” width=”750″>

Select auto and click on the Ok button. You will be asked to provide your domain name:

<img alt="Domain name" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p11.png615b230c135be.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="215" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your domain name and click on the Ok button. You will be asked to provide your email address for Let’s Encrypt:

<img alt="Let's encrypt email" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/p12.png615b230c3cbc1.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="312" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your email address and click on the Ok button. On the installation has been completed, you should get the following output:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://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 certificate will expire on 2021-12-31. 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

 ===================================================================== 

   Well done! Visit https://passbolt.linuxbuz.com to finish installation 

 ===================================================================== 
Processing triggers for nginx-core (1.18.0-6.1) ...
Triggering nginx reload ...

Access Passbolt Web UI

Now, open your web browser and access the Passbolt using the URL https://passbolt.linuxbuz.com. You will be redirected to the following page:

<img alt="UI configuration" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a1.png615b230c79320.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="311" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Get Started. You should see the Passbolt welcome page:

<img alt="System check" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a2.png615b230cab699.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="297" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Start Configuration. You should see the database configuration page:

<img alt="Database connection" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a3.png615b230ce54ca.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="323" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your database credentials and click on the Next button. You should see the following page:

<img alt="OpenPGP Key" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a4.png615b230d26a8e.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="329" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your server name, email and click on the Next button. You should see the SMTP configuration page:

<img alt="SMTP server settings" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a5.png615b230d5d395.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="379" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your mail server details and click on the Next button. You should see the following page:

<img alt="Options" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a6.png615b230d8c737.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="443" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your server base URL, choose other preferences and click on the Next button. You should see the Admin user creation page:

<img alt="Create an account" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a8.png615b230dbe079.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="375" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your admin username and click on the Next button. You should see the following page:

<img alt="Passbolt Browser extension" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a9.png615b230dec9c2.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="403" loading="lazy" src="data:image/svg xml,” width=”750″>

Now, you will need to install the Passbolt Chrome extensions to your system. Click on the Download extension button to install the Extensions then click on the refresh to detect extension. You should see the following page:

<img alt="Select Passbolt passphrase" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a10.png615b230e25fb0.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="486" loading="lazy" src="data:image/svg xml,” width=”750″>

Define your passphrase and click on the Next button. You should see the following page:

<img alt="Choose color" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a12.png615b230e61a26.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="518" loading="lazy" src="data:image/svg xml,” width=”750″>

Pick any colour, enter three characters and click on the Next button. You should see the Passbolt dashboard on the following page:

<img alt="Passbolt password manager" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/10/echo/a14.png615b230e93442.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="365" loading="lazy" src="data:image/svg xml,” width=”750″>

Conclusion

Congratulations! you have successfully installed Passbolt password manager with Let’s Encrypt SSL on Debian 11. You can now store and share your website credentials easily from the web browser.