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 192.168.0.76:59135] 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 extension=gnupg.so and then restart Apache.

In Virtuamin you can change the php versions if desired, but I have added extension=gnupg and extension=gnupg.so 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.