ispconfig3_roundcube plugin not working

Discussion in 'Installation/Configuration' started by Manoel Junior, Jan 11, 2022.

  1. Manoel Junior

    Manoel Junior New Member

    Hi,

    I have ISPConfig perfectly installed on my VPS during holidays, everything works. SSL, Mail, webserver, RoundCube, except the ispconfig3_roundcube plugin.

    I fallowed and reviewed every steps on WiKi (github/w2c/ispconfig3_roundcube/wiki/Installation), but every time breaks with Soap Error: Could not connect to host error.

    The credencials created on Remote User are correct, also permissions. My config.inf.php

    $config['identity_limit'] = false;
    $config['remote_soap_user'] = 'myremoteuser';
    $config['remote_soap_pass'] = 'mysuperpass';
    $config['soap_url'] = 'mydomain.com:8181/remote/';
    $config['soap_validate_cert'] = true;
    $config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist");

    My certificate is valid by Let's Encrypt. But also have tried with $config['soap_validate_cert'] = false;

    Also downloaded cacert.pem in /etc/php/7.4/ folder and pointed the full path on /apache/php.ini and /php-fpm/php.ini
    [curl]
    ; A default value for the CURLOPT_CAINFO option. This is required to be an
    ; absolute path.
    curl.cainfo = /etc/php/7.4/cacert.pem

    [openssl]
    ; The location of a Certificate Authority (CA) file on the local filesystem
    ; to use when verifying the identity of SSL/TLS peers. Most users should
    ; not specify a value for this directive as PHP will attempt to use the
    ; OS-managed cert stores in its absence. If specified, this value may still
    ; be overridden on a per-stream basis via the "cafile" SSL stream context
    ; option.
    openssl.cafile = /etc/php/7.4/cacert.pem

    As described on SOAP Erros in FAQ (github/w2c/ispconfig3_roundcube/wiki/Troubleshooting---FAQ)

    Regards!
     
  2. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Try a full URL for soap_url (including https://).
     
    Gwyneth Llewelyn likes this.
  3. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    did you change the default port for ispconfig? your post shows port 8181, not 8080
     
  4. Manoel Junior

    Manoel Junior New Member

    Hi,

    Yes, it's https. But as I'm a new user I cannot post links, so I removed the https from URL post.

    Yes, my ISPConfig admin panel is 8181
     
  5. Th0m

    Th0m ISPConfig Developer Staff Member ISPConfig Developer

  6. Manoel Junior

    Manoel Junior New Member

    Thanks for the reply. I also followed this guide, and didn't worked. The same error, Soap Error: Could not connect to host.

    How can I debug this error? There's nothing in PHP/Apache logs. How can I know if the remote URL is working? When I access directly on web browser only show a blank page. Without the url/remote, redirect to default login web page.

    Regards!
     
  7. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Check firewall rules, that error typically means the tcp connection (from roundcube to your ispconfig api) can't be established, but sometimes is a general error for many underlying issues (I don't remember is php-soap does that or not). You could try manually from the roundcube machine, eg. 'wget https://mydomain.com:8181/' should download a page, not get a connection error. Ensure your remote user has all ip addresses of your roundcube user listed to allow connections from (ipv4 and ipv6 if used).
     
  8. Manoel Junior

    Manoel Junior New Member

    Hi! Thanks for the reply. Just disable all FW rules, ufw disable also flushed all iptables rules. SOAP Error continues.

    The result of wget url:8181/remote with and without FW rules disable was the same, a remote blank remote file. I don't know if this is normal.

    wget url:8181 downloaded the index.php file normaly.

    For testing proposes I leaved the remote IPs in blank, assuming any IP. But also have tried leave the public IP and localhost and 127.0.0.1. Its only one VPS for ipsconfig and roundcube.

    Regards!
     
  9. Manoel Junior

    Manoel Junior New Member

    This is my actual remote remote config user, yes. Too permissive, after this work I'll remove the unnecessary permissions.

    [​IMG]
     
  10. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    So this is a single server, running both the ispconfig interface/api as well as roundcube?

    At this point I'd be looking at wrong username/password or a certificate related issue like your original post alluded to. Try a new password with no metachars. What certificate do you have in use on port 8081, self-signed or from a CA (maybe letsencrypt)? Try setting these in /etc/php/*/cgi/php.ini:
    Code:
    curl.cainfo = /etc/ssl/certs/
    ...
    openssl.capath = /etc/ssl/certs/
    
    And maybe unset openssl.cafile if set.
     
  11. bch

    bch Member

    This shouid go in your web/config/config.inc.php:
    Code:
    $config['plugins'] = array(
        "jqueryui",
        "ispconfig3_account",
        "ispconfig3_autoreply",
        "ispconfig3_pass",
        "ispconfig3_spam",
        "ispconfig3_fetchmail",
        "ispconfig3_filter",
        "ispconfig3_forward",
        "ispconfig3_wblist"
    );
    This should go in your web/plugins/ispconfig3_account/config/config.inc.php:
    Code:
    $config['identity_limit'] = false;
    $config['remote_soap_user'] = 'myremoteuser';
    $config['remote_soap_pass'] = 'mysuperpass';
    $config['soap_url'] = 'mydomain.com:8181/remote/';
    $config['soap_validate_cert'] = true;
     
    Last edited: Jan 11, 2022
  12. Manoel Junior

    Manoel Junior New Member

    That's right.

    About the user/pass, I triple checked several times. With simple and complex passwords, auto-generated by ISPCONFIG and setting manually.

    About the cert, this is my main doubt. Originally these options was commented. I have an valid cert issued by Let's Encrypt.

    But I have fallowed the github FAQ and download the described cacert.pem in the first answer link.

    /etc/php/7.4/cgi/php.ini
    Code:
    curl.cainfo = /etc/php/7.4/cacert.pem
    openssl.capath = /etc/php/7.4/cacert.pem
    But SOAP errors remain.
     
  13. Manoel Junior

    Manoel Junior New Member

    Hi, thanks by the reply.

    That's I've donned so for. Also tried with false option in $config['soap_validate_cert']
     
  14. Manoel Junior

    Manoel Junior New Member

    I just discovered what's was wrong.

    In web/plugins/ispconfig3_account/config/config.inc.php simply the <?php was missing. Thank you very much to everyone that help me to solve this. A silly mistake.
     

Share This Page