All articles

Simplifying Passbolt Installation with Ansible

4 min. read

Antony Bartolomucci

Antony Bartolomucci

4 November, 2024

Why Ansible?

The Challenges of Manual Setup

  • Following one of our dedicated documentation;
  • Installing the necessary dependencies;
  • Setting up MySQL or MariaDB databases and users;
  • Performing the installation on the web after the server installation;
  • Adjusting user permissions and ensuring proper security measures.

Introducing the Ansible Playbook for Passbolt

How Does the Playbook Work?

  • Prerequisites Installation: Ensures that the server is up-to-date and installs the necessary dependencies for Passbolt.
  • Database Configuration: Sets up MySQL/MariaDB with the correct permissions and security settings, including root and user passwords.
  • Passbolt Installation: Automates the installation of the Passbolt CE or Pro edition.
  • SSL Configuration: Automatically generates and configures a self-signed SSL certificate for secure communication.
  • Web Server (NGINX) Configuration: Installs and configures NGINX to serve the Passbolt API, ensuring that everything is properly linked and ready to handle secure connections.
  • First Admin Setup: Once everything is set up, the first account creation link is thrown, to start using passbolt right away.

What’s Inside the Playbook?

  • group_vars: Contains your environment-specific variables like database credentials and PHP version.
  • Tasks folder: Houses all the tasks for installing Passbolt, configuring NGINX, PHP, and setting up the database.
  • Templates folder: Contains the NGINX and PHP configuration templates that are dynamically filled based on your environment variables.

Steps to Run the Playbook

Clone the Repository

git clone [email protected]:passbolt/lab-passbolt-ansible-install-playbook.git
cd lab-passbolt-ansible-install-playbook

Update Environment Variables

cp group_vars/all.example.yaml group_vars/all.yaml

Create an Inventory File

vim inventory
[passbolt_server]
YOUR_SERVER_IP ansible_user=YOUR_USER ansible_ssh_private_key_file=PATH_TO_YOUR_KEY

Run the Playbook

ansible-playbook -i inventory playbook.yaml
Ansible Installation on Debian 12

Post-Installation Steps

sudo su -s /bin/bash -c "/usr/share/php/passbolt/bin/cake passbolt healthcheck" www-data #or nginx instead of www-data if RPM machine

Why Use This Playbook?

  • Consistency: Ensures that every installation is identical, reducing errors caused by manual steps.
  • Time Efficiency: Drastically reduces the time spent on manual configuration.
  • Scalability: Allows you to easily replicate the installation on multiple servers with minimal effort.
  • Flexibility: The playbook is easily customizable, allowing you to modify settings for your particular use case.

Enhancing Security

Conclusion

Continue reading

Automating Passbolt Maintenance

4 min. read

Automating Passbolt Maintenance

Automate Passbolt server maintenance with a custom bash script. Manage disk space effectively, improve performance, and schedule tasks for reliable upkeep.

Antony Bartolomucci

Antony Bartolomucci

3 December, 2024

New Developer Documentation is Now Available

4 min. read

New Developer Documentation is Now Available

Good news everyone! The developer documentation for the Passbolt API was updated, and it’s now better, faster, stronger.

Vivien Muller

Vivien Muller

18 October, 2024

Flag of European UnionMade in Europe. Privacy by default.