Install Passbolt PRO on CentOS 7
For this tutorial, you will need:
A minimal CentOS 7 server.
A domain / host name pointing to your server, or at least being able to reach your server through a static IP address.
The recommended server requirements are:
- 2 cores
- 2GB of RAM
1. Install the server components
1.1. Package repository setup
For easier installation and update tasks Passbolt provides a package repository that you need to setup before you download Passbolt PRO and install it.
These steps assume you have already installed sudo and added your user to the sudo group.
Step 1. Configure Extra Packages for Enterprise Linux (EPEL) repository
sudo yum install epel-release
While installing packages from this repository, you will be asked to accept GPG key of this repository. You nust verify if the displayed fingerprint is correct on this reference page.
Step 2. Configure Remi’s RPM repository
As CentOS 7 don’t provide the mandatory php-pecl-gnupg package for Passbolt, we rely on Remi’s RPM repository for the PHP packages.
Install Remi repository configuration package.
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
During the next package installations, if you are prompted for Remi GPG key import, you must check if the displayed fingerprint matches with the one on the bottom of this reference page.
sudo yum install yum-utils
Step 3. Enable the module stream for PHP 7.4:
sudo yum-config-manager --disable 'remi-php*' sudo yum-config-manager --enable remi-php74
Step 4. Let’s Encrypt
Install certbot if you plan to manage your SSL certificates with Let’s Encrypt:
sudo yum install certbot python3-certbot-nginx
Step 5. Setup MariaDB 10.3 repository
CentOS 7 comes with an outated MariaDB 5.x version and performance issues has been reported by using it. That’s why you should consider to upgrade MariaDB to version 10.3.
Add MariaDB 10.3 repository:
cat << EOF | sudo tee /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
Step 6. Add passbolt repository:
cat << EOF | sudo tee /etc/yum.repos.d/passbolt.repo [passbolt-server] name=Passbolt Server baseurl=https://download.passbolt.com/pro/rpm/el7/stable enabled=1 gpgcheck=1 gpgkey=https://download.passbolt.com/pub.key EOF
Install passbolt package
Install the main passbolt server component:
sudo yum install passbolt-pro-server
During the installation, you will be asked to accept the Passbolt repository GPG key. You must ensure the fingerprint is exactly the same as the one below:
Importing GPG key 0xC155581D: Userid : "Passbolt SA package signing key <[email protected]>" Fingerprint: 3D1A 0346 C8E1 802F 774A EF21 DE8B 853F C155 581D From : https://download.passbolt.com/pub.key
MariaDB / Nginx / SSL settings
Passbolt PRO RPM package on CentOS 7 come with a configuration helper tool to prepare MariaDB, Nginx and SSL settings.
You must prepare beforehand your SSL certificates before launching the tool. Be sure to write down the full path to your cert/key combo, as it will be needed in the nginx configuration process.
Please, notice that for security matters we highly recommend to setup SSL to serve passbolt.
passbolt-configure tool and answer to the questions:
================================================================ Do you want to configure a local mariadb server on this machine? ================================================================ 1) yes 2) no #?
Answer 1 for yes if you want to configure a local MariaDB database, otherwise 2 for no if you plan to use an existing one.
If you chose yes, answer the questions:
======================================================= Please enter a new password for the root database user: ======================================================= MariaDB Root Password: **** MariaDB Root Password (verify): **** ====================================================== Please enter a name for the passbolt database username ====================================================== Passbolt database user name:passboltuser ======================================================= Please enter a new password for the mysql passbolt user ======================================================= MariaDB passbolt user password: **** MariaDB passbolt user password (verify): **** ============================================== Please enter a name for the passbolt database: ============================================== Passbolt database name:passboltdb
On virtualized environments GnuPG happen to find not enough entropy to generate a key. Therefore, Passbolt will not run properly.
You should consider to install Haveged to speed up the entropy generation. Please check our FAQ page about this for more informations.
================== Install Haveged ? ================== 1) yes 2) no #?
Please enter the domain name under which passbolt will run.
Note this hostname will be used as server_name for nginx and as the domain name to register a SSL certificate with let’s encrypt if you don’t have your own SSL certificates.
If you don’t have a domain name and you do not plan to use let’s encrypt please enter the ip address to access this machine.
========= Hostname: passbolt.domain.tld =========
3 available choices for SSL configuration:
- manual: Prompts for the path of user uploaded ssl certificates and set up nginx
- auto: Will issue a free SSL certificate with https://www.letsencrypt.org and set up nginx
- none: Do not setup HTTPS at all
================== Setting up SSL... ================== 1) manual 2) auto 3) none #?
If you choose 1, you will be prompted for the full path of your certificates:
Enter the path to the SSL certificate: /path/to/certs/cert.pem Enter the path to the SSL privkey: /path/to/certs/key.pem
Nginx and MariaDB are now on the way to be configured. You will be notified at the end of the process to connect to the Passbolt web interface to finish the configuration.
=============================================================== Installation is almost complete. Please point your browser to https://passbolt.domain.tld to complete the process ===============================================================
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.
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.
2.2. Subscription key
At this step, the wizard will ask you for your subscription key. You should have received it by email soon after your online purchase. Enter it in the box.
This step is about telling passbolt which database to use. Enter the host name, port number, database name, username and password.
2.4. 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.
Optional: Import a key if you already have one and you want your server to use it.
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 protected] 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 protected]
2.5. Mail server (SMTP)
At this stage, the wizard will ask you to enter the details of your SMTP server.
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”.
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.
2.7. 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.
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.
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.
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.
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.
3.3. Download your recovery kit
This step is essential. Your key is the only way to access your account and passwords. 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.
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.
3.5. That’s it!
Your administrator account is configured. You will be redirected to the login page of passbolt. Enjoy!
This article was last updated on November 24th, 2021.