Passbolt is an open-source password manager designed for teams that is available as a web application. With Passbolt, you can securely store, share, and manage your login credentials in a centralized location.
In this tutorial, we will guide you through the installation of Passbolt on Arch Linux. By the end of this tutorial, you will have a fully functional installation of Passbolt on your Arch Linux system.
Before proceeding any further, make sure you have the following prerequisites:
Passbolt is a PHP-based application and requires specific dependencies to run correctly. To start, we will install PHP, Nginx, and other required packages, namely MariaDB, Git, and Composer.
sudo pacman -S nginx php php-fpm php-intl php-pdo php-gd php-curl php-mysql git mariadb composer
Next, we will create an Nginx server block file for Passbolt. This step is crucial since it enables server configuration for the Passbolt application.
Create a new configuration file in /etc/nginx/sites-available
using the following command.
sudo nano /etc/nginx/sites-available/passbolt
Then, paste the following configuration in the file.
server {
listen 80;
server_name example.com; # Replace with your own domain name
root /var/www/passbolt/webroot;
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location /.well-known {
allow all;
}
client_max_body_size 100M;
}
Make sure to update the server_name
parameter with your domain name.
Enable the Passbolt configuration by creating a symbolic link inside the sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/passbolt /etc/nginx/sites-enabled/
In this step, we will install Passbolt from the official Passbolt repository on Github using Git.
Clone the Passbolt repository to the /var/www
directory with the following command:
sudo git clone https://github.com/passbolt/passbolt_ce.git /var/www/passbolt
Next, we will create a new .env
configuration file by copying the .env file sample from the installation directory of Passbolt.
cd /var/www/passbolt
sudo cp .env.sample .env
We will now update the following values in the .env
configuration file:
# MySQL/MariaDB Server Details
DATABASE_URL="mysql://username:password@localhost/passbolt"
# The domain name of your Passbolt instance
FULL_BASE_URL="http://example.com"
# GPG Server Parameters
OPENGPG_SERVER_URL="http://pool.sks-keyservers.net:80"
OPENGPG_SERVER_HKP="http://pool.sks-keyservers.net:80"
Replace username
, password
, and example.com
with your own values. Save and exit the file.
Run the following commands in the project root directory to install and download the Passbolt PHP dependencies via Composer.
sudo composer install --no-dev
sudo composer dumpautoload
Now set the proper permissions for the webroot
and config
directories to the Nginx user http
.
sudo chown -R http:http /var/www/passbolt/webroot /var/www/passbolt/config
Create a new database and user for Passbolt using the MySQL/MariaDB command-line client.
mysql -u root -p
CREATE DATABASE passbolt;
CREATE USER 'passbolt'@'localhost' IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON passbolt.* TO 'passbolt'@'localhost';
FLUSH PRIVILEGES;
exit
Next, we will populate the Passbolt database schema by running the following command in the command-line.
sudo -u http /usr/bin/php /var/www/passbolt/bin/cake.php schema create
With everything set up, now start the required services for the Passbolt application to function correctly. Start the Nginx web server and PHP FastCGI Process manager with the following commands.
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
You should be able to access the Passbolt application via your web browser by navigating to http://example.com
. Here, replace example.com
with your own domain name.
Congratulations! You have successfully installed Passbolt on your Arch Linux system. You now have a fully functional password manager that you can use for your team.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!