Help Search

Upgrade Passbolt from v1 to Pro on the same server

This tutorial covers the case where you want to upgrade your current instance of passbolt CE v1.x into Passbolt Pro on the same server.

If you want to use a new server, follow this link.

Important: Please take a full backup of your Passbolt CE before proceeding with the upgrade. Backup should include passbolt files as well as the database.

System requirements

Passbolt is reported to work on a large variety of operating system configurations. Therefore this help page is a generic guide that should work for most environments.

If you run into any issues with your particular configuration, please check the forum. Maybe someone else has had your issue. If not, make a post and the community will try to help you.

  • Any Unix-like major distribution (Debian, Centos, Ubuntu, *BSD)
  • A webserver (Apache or Nginx)
  • A TLS server certificate for HTTPS
  • PHP >= 7.0.0
  • Mysql >= 5.5.59
  • Composer
  • GnuPG
  • Git

The following PHP extensions (that may or may not come by default):

  • PHP-GNUPG: for key verification and authentication.
  • Cakephp default requirements: Intl, mbstring, simplexml
  • Image manipulation: gd or imagick
  • Database: Mysqlnd, pdo, pdo_mysql
  • Some general default: xsl, phar, posix, xml, zlib, ctype, curl, json.
  • & more depending on your configuration (for example if you want to use memcache for sessions).

Upgrade to Passbolt Pro

In the following examples we assume you are running passbolt CE v1 using apache in the /var/www/passbolt directory. You will need to replace these values with your local environment settings.

1. Make sure you have the latest v1.x version

If you do not have the latest version, please follow the regular v1 udpate process. We’ll also assume you have a web server that match the system requirements.

/var/www/passbolt$ cat app/Config/version.php  | grep number
'number' => '1.6.10'

2. Take your site offline

There are multiple ways of doing that, the simplest is sending a notice by email to your users and stopping your webserver. The better approach would be to create a temporary html file and redirect your passbolt user there, for example:

/var/www$ mkdir wip
/var/www$ touch wip/index.html
/var/www$ echo '<html><head><title>Maintenance in progress</title></head><body><h1>Maintenance in progress</h1></body></html>' >> wip/index.html
/var/www$ nano /etc/apache2/sites-enabled/001-default.conf

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName www.passbolt.test
                DocumentRoot /var/www/wip

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile /etc/apache2/ssl/passbolt.crt
                SSLCertificateKeyFile /etc/apache2/ssl/passbolt.key

        <Directory /var/www/wip>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        </VirtualHost>
</IfModule>
/var/www$ service apache2 restart

3. Download Passbolt Pro

Open a shell with the same user as your web server user. (usually, www-data for apache, nginx for nginx)

/var/www$ su -s /bin/bash www-data

Replace the previous passbolt by the new version.

/var/www$ mv ./passbolt ./passbolt_old
/var/www$ git clone https://bitbucket.org/passbolt_pro/passbolt_pro_api.git ./passbolt

4. Install the dependencies

/var/www$ cd ./passbolt
/var/www/passbolt$ composer install

5. Copy the avatar folder

/var/www/passbolt$ cp -R ../passbolt_old/app/webroot/img/public/* ./webroot/img/public/.
/var/www/passbolt$ mv ./webroot/img/public/images/ProfileAvatar ./webroot/img/public/images/Avatar

6. Configure Passbolt Pro

To configure Passbolt Pro, the easiest way is to use the in-built configuration wizard. Just point your browser to your passbolt url.

You will be greeted by a welcome screen. Click on the Configure with wizard option and follow the instructions.

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

Note: Enter the same configuration details as the the ones that were used for your Passbolt CE. This includes your database, smtp details, as well as your server GPG key that you’ll need to import (Do not generate a new one).

Wizard - import key screen fig. Wizard - import key screen

7. Your server is now ready to run passbolt

Once you have followed all the steps of the wizard, Passbolt Pro is ready to run. You will be redirected automatically to the login page where you can log in.

8. Final step: modify the cron job to send emails

Modify the cronjob entry you had added for passbolt CE v1 :

* * * * * /var/www/passbolt/app/Console/cake EmailQueue.sender > /var/log/passbolt.log

into this one:

* * * * * /var/www/passbolt/bin/cake EmailQueue.sender > /var/log/passbolt.log

That’s it!

At this stage, Passbolt Pro should be working perfectly.

Any issue? Do contact us on the Passbolt Pro support with the email provided during your purchase.

Last updated

This article was last updated on April 9th, 2018.

Are you experiencing issues with Passbolt Pro?

Contact Pro support

or ask the community