Important: This page has been depreciated, CentOS is not supported anymore.

Prerequisites

For this tutorial, you will need:

The recommended server requirements are:

FAQ pages:

Please note: It is important that you use a vanilla server with no other services or tools already installed on it. The install scripts could potentially damage any existing data on your server.

Pro tip: If you are going to manually provision SSL certificates you may want to do that before beginning!

Package repository setup

For easier installation and update tasks Passbolt provides a package repository that you need to setup before you download Passbolt and install it.

Step 1. Download our dependencies installation script:

wget "https://download.passbolt.com//installer/passbolt-repo-setup..sh"

Step 2. Download our SHA512SUM for the installation script:

wget https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt--SHA512SUM.txt

Step 3. Ensure that the script is valid and execute it:

sha512sum -c passbolt--SHA512SUM.txt && sudo bash ./passbolt-repo-setup..sh  || echo \"Bad checksum. Aborting\" && rm -f passbolt-repo-setup..sh

Install passbolt official linux package

sudo  install passbolt--server

2. Configure passbolt

Before you can use the application, you need to configure it. Point your browser to the hostname / ip where passbolt can be reached. You will reach a getting started page.

passbolt welcome page before configuration fig. passbolt welcome page before configuration

2.1. Healthcheck

The first page of the wizard will tell you if your environment is ready for passbolt. Solve issues if any and click on “Start configuration” when ready.

wizard - healthcheck fig. wizard - healthcheck

2.2. Database

This step is about telling passbolt which database to use. Enter the host name, port number, database name, username and password.

wizard - database fig. wizard - database

2.3. GPG key

In this section you can either generate or import a GPG key pair. This key pair will be used by passbolt API to authenticate itself during the login handshake process.

Generate a key if you don’t have one.

wizard - generate a key pair fig. wizard - generate a key pair

Optional: Import a key if you already have one and you want your server to use it.

Do not set a passphrase or an expiration date The php-gnupg module does not support using passphrase at the moment. Make sure you do not set one. Similarly do not set an expiration date. Otherwise all your users will need to perform an account recovery when you will eventually need to update the key.

To create a new GnuPG key without passphrase:

gpg --batch --no-tty --gen-key <<EOF
  Key-Type: default
  Key-Length: 2048
  Subkey-Type: default
  Subkey-Length: 2048
  Name-Real: John Doe
  Name-Email: email@domain.tld
  Expire-Date: 0
  %no-protection
  %commit
EOF

Feel free to replace Name-Real and Name-Email with your own.

To display your new key:

gpg --armor --export-secret-keys email@domain.tld
wizard - import a key pair fig. wizard - import a key pair

2.4. Mail server (SMTP)

At this stage, the wizard will ask you to enter the details of your SMTP server.

wizard - smtp mail server details fig. wizard - smtp mail server details

You can also test that your configuration is correct by using the test email feature at the right of your screen. Enter the email address at which you want the wizard to send you a test email and click on “Send test email”.

wizard - test smtp settings fig. wizard - test smtp settings

2.5. Preferences

The wizard will then ask you what preferences you prefer for your instance of passbolt. The recommended defaults are already pre-populated but you can also change them if you know what you are doing.

wizard - preferences fig. wizard - preferences

2.6. First user creation

You need to create the first admin user account. This first admin user is probably you, so enter your details and click on next.

wizard - first user fig. wizard - first user

2.7. Installation

That’s it. The wizard has now enough information to proceed with the configuration of passbolt. Sit back and relax for a few seconds while the configuration process is going on.

wizard - installation fig. wizard - installation

Your user account is now created. You will see a redirection page for a few second and then will be redirected to the user setup process so that you can configure your user account.

wizard - completion and redirection fig. wizard - completion and redirection

3. Configure your administrator account

3.1. Download the plugin

Before continuing passbolt will require you to download its plugin. If you already have it installed you can go to the next step.

download the browser extension fig. download the browser extension

3.2. Create a new key

Passbolt will ask you to create or import a key that will be later use to identify you and encrypt your passwords. Your key needs to be protected by a password. Choose it wisely, it will be the gatekeeper to all your other passwords.

generate a key fig. generate a key

3.3. Download your recovery kit

This step is essential. Your key is the only way to access your account and passwords.

WARNING: If you lose this key (by breaking or losing your computer and not having a backup for example), your encrypted data will be lost even if you remember your passphrase.

download the recovery kit fig. download the recovery kit

3.4. Define your security token

Choosing a color and a three characters token is a secondary security mechanism that helps you to mitigate phishing attacks. Each time you are performing a sensitive operation on passbolt, you should see this token.

define your security token fig. define your security token

3.5. That’s it!

Your administrator account is configured. You will be redirected to the login page of passbolt. Enjoy!

Important: This is no longer a recommended installation method. You may want to consider migrating to the package.

Pre-requisites

For this tutorial, you will need:

Updating passbolt

1. Take down your site

It is generally a good idea to stop running the site prior to the upgrade. This is to avoid having side effects such as active users corrupting the data in the middle of an upgrade. For example if you are using nginx as a webserver:

$ sudo systemctl stop nginx

If you feel a bit more fancy, you can change your web server configuration to point to an “under maintenance” page. It is a good practice to announce such maintenance window to your users in advance, so that they can also plan for the update, for example by downloading some key passwords they may need.

2. Backup your instance

First things first, as this is a sensitive operation a backup of the instance must be performed to prevent any data loss. You can follow our backup process.

3. Get the latest code version

Pull the latest version directly from master:

$ cd /var/www/passbolt
$ sudo -H -u nginx bash -c "git pull origin master"

4. Update the dependencies

Some libraries are not packaged with the software but need to be updated using composer, based on what is recommended in the composer.lock. This file is provided by passbolt.

Passbolt requires composer v2, check the version you have already installed:

$ sudo -H -u nginx bash -c "composer.phar --version"
> Composer version 2.0.9 2021-01-27 16:09:27

To get the latest version of composer, you can check the composer installation instructions.

Update the dependencies:

$ sudo -H -u nginx bash -c "php -d allow_url_fopen=on composer.phar install --no-dev -n -o"

5. Migrate your data

A new version can come with a data structure change. You can run the migration scripts as follow:

$ sudo -H -u nginx bash -c "./bin/cake passbolt migrate"

6. Clear the cache

Finally make sure you clear the application cache, to make sure any changes in the database structure are reflected in model cache files:

$ sudo -H -u nginx bash -c "./bin/cake cache clear_all"

7. Bring your site back online

Almost done:

$ sudo systemctl start nginx

Troubleshooting

Verifying the status of the application

Optionally, you can login as an administrator and check the status on the healthcheck page:

Example of healthcheck screen fig. Example of healthcheck screen

You can also run the following command:

$ sudo -H -u  bash -c "/usr/share/php/passbolt/bin/cake passbolt healthcheck"

If you run into some issues

If you run into some issues:

Where to get help:

The more information you provide about what you did, what you tried, how your environment look like, the easiest it will be for people to help you.

Last updated

This article was last updated on October 19th, 2021.

Have you installed passbolt from source instead?

Update passbolt on from source installation

Are you experiencing issues when updating passbolt?

Ask the community!