roundcube / roundcubemail

The Roundcube Webmail suite
https://roundcube.net
GNU General Public License v3.0
5.88k stars 1.64k forks source link

Failed to generate a key pair 1.2.0 #5271

Closed hostile123 closed 8 years ago

hostile123 commented 8 years ago

Hi, installed fresh 1.2.0, then enabled enigma in config,

When i try to generate pgp keys i get : Failed to generate a key pair

Any idea? do i need to install something else ?

wikrie commented 8 years ago

same issue here clean RC 1.2.0 install => Plugin activated Option settings ok but if you click on key management I get the follwing error

Application Error (600): Enigma plugin: GPG binary not found. If you are sure the GPG binary is installed, please specify the location of the GPG binary using the 'binary' driver option.

The Logs say:

[24-May-2016 11:51:56 Europe/Berlin] PHP Warning: is_executable(): open_basedir restriction in effect. File(/usr/bin/gpg) is not within the allowed path(s): (/var/www/vhosts/e.de/:/tmp/) in /var/www/vhosts/tld.de/mail.tld.de/vendor/pear-pear.php.net/Crypt_GPG/Crypt/GPG/Engine.php on line 1925

[24-May-2016 11:51:56 Europe/Berlin] PHP Warning: is_executable(): open_basedir restriction in effect. File(/usr/local/bin/gpg) is not within the allowed path(s): (/var/www/vhosts/tld.de/:/tmp/) in /var/www/vhosts/tld.de/mail.tld.de/vendor/pear-pear.php.net/Crypt_GPG/Crypt/GPG/Engine.php on line 1925

[24-May-2016 11:51:56 +0200]: <4ath13rf> PHP Error: Enigma plugin: GPG binary not found. If you are sure the GPG binary is installed, please specify the location of the GPG binary using the 'binary' driver option. in /var/www/vhosts/tld.de/mail.tld.de/plugins/enigma/lib/enigma_engine.php on line 92 (POST /?_task=settings&_action=plugin.enigmakeys)

CRtEurope commented 8 years ago

Have you installed pear Crypt_GPG?

alecpl commented 8 years ago

Looks like you have open_basedir restriction enabled in PHP config. Errors here are clear.

CRtEurope commented 8 years ago

Are they using Plesk or something? Then they should read this article: http://kb.plesk.com/en/432

wikrie commented 8 years ago

Yes that's it I will also add a comment on the issue!

Am 2016-05-24 18:08, schrieb CRtEurope:

Are they using Plesk or something? Then they should this article: http://kb.plesk.com/en/432

You are receiving this because you commented. Reply to this email directly or view it on GitHub [1]

Links:

[1] https://github.com/roundcube/roundcubemail/issues/5271#issuecomment-221321296

wikrie commented 8 years ago

that was too easy I simply add the /usr/bin/ for the subdomain of mail system and then it works. And yes it seams to be an issue in combination of Plesk, I use Pleask 12.5 and there you can add the open_base_dir directly. Many thanks now I can encrypt my Mails. Only the key import is not working as I expect but I think it is a question of the file, I think I saved it in a wrong way. Will check this as next.

I also prefere to add /usr/local/bin/ instead of /usr/bin/ so that not all binary's are executable fro the PHP. So I have a better controle of the binarys ...

many thanks WiKrIe

wikrie commented 8 years ago

I would say issue can be closed, the owner still not answer in anyway and I can say it works.

alecpl commented 8 years ago

Not Roundcube issue.

vinaebizs commented 8 years ago

Hello, I setup Roundcube v1.2.2 on Ubuntu 16 x64 with ISPConfig 3. I enabled enigma plugin for PGP but when I add key with "CREATE A NEW KEY PAIR", it generated error "Failed to generate a key pair".

Nothing happent on my website log: /var/www/mail.semail.vn/web/logs/errors or /var/www/mail.semail.vn/log/error.log

This is my config.inc.php in /var/www/mail.semail.vn/web/plugins/enigma/

<?php

$config['enigma_pgp_driver'] = 'gnupg';

$config['enigma_smime_driver'] = 'phpssl';

$config['enigma_debug'] = false;

$config['enigma_pgp_homedir'] = '/var/www/mail.semail.vn/web/plugins/enigma/home';

$config['enigma_pgp_binary'] = '/usr/bin/gpg';

$config['enigma_pgp_agent'] = '/usr/bin/gpg-agent';

$config['enigma_signatures'] = true;

$config['enigma_decryption'] = true;

$config['enigma_encryption'] = true;

$config['enigma_sign_all'] = false;

$config['enigma_encrypt_all'] = false;

$config['enigma_attach_pubkey'] = false;

$config['enigma_password_time'] = 5;

$config['enigma_keygen_server'] = false;

$config['enigma_options_lock'] = array();

This is my apache2 vhost config

<Directory .../mail.semail.vn>
                AllowOverride None
                                Require all denied
                </Directory>

<VirtualHost *:80>

                                                                        DocumentRoot .../web

                ServerName mail.semail.vn
                ServerAdmin webmaster@mail.semail.vn

                ErrorLog .../error.log

                Alias /error/ ".../web/error/"
                ErrorDocument 400 /error/400.html
                ErrorDocument 401 /error/401.html
                ErrorDocument 403 /error/403.html
                ErrorDocument 404 /error/404.html
                ErrorDocument 405 /error/405.html
                ErrorDocument 500 /error/500.html
                ErrorDocument 502 /error/502.html
                ErrorDocument 503 /error/503.html

                <IfModule mod_ssl.c>
                </IfModule>

                <Directory .../web>
                                # Clear PHP settings of this website
                                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                SetHandler None
                                </FilesMatch>
                                Options +FollowSymLinks
                                AllowOverride All
                                                                Require all granted
                                                </Directory>
                <Directory .../web>
                                # Clear PHP settings of this website
                                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                SetHandler None
                                </FilesMatch>
                                Options +FollowSymLinks
                                AllowOverride All
                                                                Require all granted
                                                </Directory>
                <Directory .../web>
                                # Clear PHP settings of this website
                                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                SetHandler None
                                </FilesMatch>
                                Options +FollowSymLinks
                                AllowOverride All
                                                                Require all granted
                                                </Directory>

                # mod_php enabled
                AddType application/x-httpd-php .php .php3 .php4 .php5
                SetEnv TMP /var/www/clients/client5/web9/tmp
                SetEnv TMPDIR /var/www/clients/client5/web9/tmp
                SetEnv TEMP /var/www/clients/client5/web9/tmp
                php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@mail.semail.vn"
                php_admin_value upload_tmp_dir /var/www/clients/client5/web9/tmp
                php_admin_value session.save_path /var/www/clients/client5/web9/tmp
        # PHPIniDir /var/www/conf/web9
                php_admin_value open_basedir /usr/bin:/usr/bin/gpg:/usr/bin/gpg-agent:.../web:.../private:.../web9/$

                # add support for apache mpm_itk
                <IfModule mpm_itk_module>
                        AssignUserId web9 client5
                </IfModule>
              <IfModule mod_dav_fs.c>
                # Do not execute PHP files in webdav directory
                        <Directory .../web9/webdav>
                                <ifModule mod_security2.c>
                                        SecRuleRemoveById 960015
                                        SecRuleRemoveById 960032
                                </ifModule>
                                <FilesMatch "\.ph(p3?|tml)$">
                                        SetHandler None
                                </FilesMatch>
                        </Directory>
                        DavLockDB .../web9/tmp/DavLock
                        # DO NOT REMOVE THE COMMENTS!
                        # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
                        # WEBDAV END
                </IfModule>

</VirtualHost>

Please help me. Thanks in advanced.

Jolly-Pirate commented 7 years ago

You need to have gnupg installed. Either compile it, or install it from a package. On CentOS for example, it's easy: yum install gnupg