Roundcube plugins "Soap Error: Internal Server Error"

Discussion in 'Installation/Configuration' started by lonerunner, Jun 4, 2020.

  1. lonerunner

    lonerunner Member

    I was following this guide for setting up roundcube plugins, mainly because i can't explain anymore to people how to reset their passwords through CP, it would be much easier just through roundcube. https://www.howtoforge.com/tutorial/ispconfig-3-roundcube-plugins-on-debian-stretch/

    But i am getting the error "Soap Error: Internal Server Error" when i try to change any settings through roundcube. I did a bit of research and google, there was suggestion soap is not installed. So i checked and since i have php7.0 to php7.4 versions installed on server, all of them have soap installed. The version in use when i type "php -v" is php7.4.6 cli. php7.4-soap is already installed.

    In Roundcube logs i didn't find anything except this

    Code:
    PHP Warning:  count(): Parameter must be an array or an object that implements Countable in /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 438
    
    [04-Jun-2020 01:31:06 +0000]: <a908p1qc> DB Error: SQLSTATE[HY000] [2002] No such file or directory in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 174 (POST /webmail/?_task=mail&_action=refresh)
    [04-Jun-2020 01:31:06 +0000]: <a908p1qc> DB Error: SQLSTATE[HY000] [2002] No such file or directory (POST /webmail/?_task=mail&_action=refresh)
    However in apache logs i found this

    Code:
    [Thu Jun 04 04:24:16.052535 2020] [fcgid:warn] [pid 6308] [client 127.0.0.1:54384] mod_fcgid: stderr: PHP Fatal error:  Uncaught Error: Class 'SoapServer' not found in /usr/local/ispconfig/interface/web/remote/index.php:16
    [Thu Jun 04 04:24:16.053549 2020] [fcgid:warn] [pid 6308] [client 127.0.0.1:54384] mod_fcgid: stderr: Stack trace:
    [Thu Jun 04 04:24:16.053624 2020] [fcgid:warn] [pid 6308] [client 127.0.0.1:54384] mod_fcgid: stderr: #0 {main}
    [Thu Jun 04 04:24:16.053634 2020] [fcgid:warn] [pid 6308] [client 127.0.0.1:54384] mod_fcgid: stderr:   thrown in /usr/local/ispconfig/interface/web/remote/index.php on line 16
     
  2. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    You do not mention what Operating System is on that host.
    Are you sure the default version of PHP for the installed OS has not been changed?
     
  3. lonerunner

    lonerunner Member

    Debian 9. ISPConfig 3.1.15p3, Roundcube 1.2.3. It say php7.4 when i type "php -v" in terminal. I guess that is default running php version.
     
  4. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    lonerunner likes this.
  5. Th0m

    Th0m ISPConfig Developer ISPConfig Developer

    Did you set up the config of the plugins?

    Also, I would advise you to upgrade Debian 10 (Buster), Debian 8 won't receive any updates after 30-06-2020 and your Roundcube is outdated aswell, you should upgrade to 1.2.10 (lots of security fixes have been made between 1.2.3 and 1.2.10) or update even further to 1.3 or 1.4.
     
    lonerunner likes this.
  6. lonerunner

    lonerunner Member

    The 7.0 version was indeed default at the time of installation and setup of the server. The ISPConfig use 7.0 as default, but yesterday i did an update to the server "apt-get upgrade" and it installed the latest packages of everything that was needed to update and with that update, the 7.4 version has been installed and switched to as default it seems. (just a note i didn't have Roundcube plugins setup before this so i don't know if would work before, i set them after the update)

    I take a look at the guide and it seems quite good, is this the only command for php version change ?

    Code:
    update-alternatives --config php
    update-alternatives --config php-cgi
    I tried it, the "php -v" returns 7.0 version now, but it's still the same, i have the same error in Roundcube. On the other guide i found different commands, is there a difference ?

    Code:
    sudo update-alternatives --set php /usr/bin/php5.6
    sudo update-alternatives --set phar /usr/bin/phar5.6
    sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6
    sudo update-alternatives --set phpize /usr/bin/phpize5.6
    sudo update-alternatives --set php-config /usr/bin/php-config5.6
     
  7. lonerunner

    lonerunner Member

    Update, something went wrong somewhere with php or quite possibly when i did an update.

    But anyway i got it working now by reinstalling php7.0.

    So i did "apt-get remove php7.0*" and then "apt-get install php7.0*" and now Roundcube plugins works.

    I don't know if this is somehow related but php version removed and newly installed are different.
    Removed php was PHP 7.0.33-29+0~20200514.36+debian9~1.gbp126f6f
    Newly installed is PHP 7.0.33-0+deb9u7

    Also i had to enable Remote Access in ISPConfig
     

Share This Page