Trying to install Passbolt on Virtualmin

Hi, I have been trying for hours to install Passbolt on a Virtualmin server but it will not let me do anything and Apache log says:
[Thu Sep 03 15:20:22.534609 2020] [fcgid:warn] [pid 11207] [client] mod_fcgid: stderr: PHP Fatal error: You must enable the gnupg extension to use Passbolt. in /home/test/public_html/config/requirements.php on line 31

I have checked and double checked that the gnupg extension is installed. I added extension=gnupg in the php.ini file but it just keeps giving me that error everytime I try to connect to the site. Can anyone help me resolve this issue please?

Hi @smcs, Welcome to the forum!

Is it possible you have multiple PHP versions installed which might result in changing settings that don’t have effect?

Or, maybe try and then restart Apache.

In Virtuamin you can change the php versions if desired, but I have added extension=gnupg and to the root php.ini and to the virtual hosts php.ini file, but it still tells me that it is not found. I even tried uninstalling gnupg and reinstalling but that made no difference either. I am at a loss right now.

I figured out the extension issue but now ran into another issue. See below:

PHP Warning: require(/home/mytest/public_html/vendor/autoload.php): failed to open stream: No such file or directory in /home/mytest/public_html/webroot/index.php on line 29

When I go to the directory there is no vendor folder so I ma sure that is the issue, but there is no vendor folder in my download either. Am I missing something or is there another installer package out there?

Ok, well after many hours I finally got that working but have this issue and I cannot figure out what im supposed to do to resolve it. When I run the Wizard all is Green except this:

The environment variable GNUPGHOME is set to /home/mytest/.gnupg, but the directory does not exist.

Can any one please tell me how to resolve this issue?

@smcs you need to specify the gnupg keyring location in order for passbolt to work. It should be a directory that is readable/writable by www-data (or whatever your apache user is called). By default it is created if doesn’t exist.

$ sudo su -s /bin/bash -c "gpg --list-keys --home=/home/mytest/.gnupg" www-data
gpg: directory '/home/mytest/.gnupg' created
gpg: keybox '/home/mytest/.gnupg/pubring.kbx' created
gpg: /home/mytest/.gnupg/trustdb.gpg: trustdb created

For example something like this:

$ ls -la /home/mytest
drwxr-xr-x 3 www-data www-data 4096 Sep  9 08:10 .
drwxr-xr-x 5 root     root     4096 Sep  9 08:08 ..
drwx------ 2 www-data www-data 4096 Sep  9 08:10 .gnupg

The content of your .gnupg directory should look something like this:

drwx------ 2 www-data www-data 4096 Sep  9 08:10 .
drwxr-xr-x 3 www-data www-data 4096 Sep  9 08:10 ..
-rw------- 1 www-data www-data   32 Sep  9 08:10 pubring.kbx
-rw------- 1 www-data www-data 1200 Sep  9 08:10 trustdb.gpg

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.