Upgrade to Ubuntu 16.04 broke ISPConfig 3.1

Discussion in 'General' started by DarkoD, Sep 28, 2016.

  1. DarkoD

    DarkoD New Member

    Hello. A friend of mine has an ispconfig setup and today (without much previous research I might add) he says he first updated ispconfig to 3.1 and then the ubuntu OS from 14.04 to 16.04.
    From that point on the ispconfig URL displays "500 Internal Server Error".
    Looking at the apache error log, there is this:
    ------
    [fcgid:warn] [pid 32282] (104)Connection reset by peer: [client x.x.x.x:33516] mod_fcgid: error reading data from FastCGI server
    [core:error] [pid 32282] [client x.x.x.x:33516] End of script output before headers: index.php
    ------
    I tried googling these error messages of course, but most results do not apply or do not help. Plus many of the results are not for 16.04 which comes with php7. Is it something to do with the mod_fcgid module? I also did php -m and no fcgid is listed. Is that related?

    Can someone please help get this ispconfig back into service? Can ispconfig at least be enabled without FastCGI?
    Thanks a lot in advance. FYI, I already did 'php -q upgrade.php' again with Reconfigure Services and that didn't help at all. I can provide any info you need if you know where I should look... :)
    Darko.
     
  2. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Go through the Perfect Server guide for ubuntu 16 and make sure you have all the right software/packages installed. Then try running update.php again.
     
    oriongr likes this.
  3. Elayne

    Elayne Member

    Hi, I hope the following would help you out - I'm struggling with almost the same issue at the moment so I found out that one or few modules are not being loaded as they are too old. You may want to try running the following command:
    /etc/php5/lib/php.ini -v (of course this varies to whatever your php.ini file path is)
    How I caused the issue: updated all the software of my Debian 7.8 and the additional PHP versions stopped working in FCGI mode, so probably you haven't updated some of your libraries which are incompatible with your PHP now.
    From this you can understand the following things:
    1. is this php version actually working (loading successfully)
    2. if not working: which modules are preventing it from starting
    3. if working which mode it is compiled to run (fcgi or cgi)

    I suppose you have compiled it fcgi otherwise you would have the issue earlier. Your possible solutions:
    1. Recompile the PHP version manually - this should update all the included by default libraries included in the PHP by default.
    2. Recompile older version of the module in order for the php script to find it and load it successfully

    In my case this problem is with the curl3 library thus I chose to recompile all the PHP versions to the latest.
    Note: Still haven't tested the possible solutions, will test the first one later, but in theory they should workout.
     
  4. DarkoD

    DarkoD New Member

    Thanks Jesse. That helped a lot.
    I went through the Perfect Server 16.04 guide and installed the php7 related stuff from the apache/php section. True enough, many of the packages were not installed because this was an upgrade from 14.04 which doesn't have php7 of course. I also made sure the FPM/fcgid modules part of the guide is executed to take care of the needed modules.
    Now the login page shows up but right after entering the credentials another error 500 shows up. This time the apache error.log says:
    mod_fcgid: stderr: PHP Fatal error: 'continue' not in the 'loop' or 'switch' context in /usr/local/ispconfig/interface/lib/plugins/billing_plugin.inc.php on line 91

    What I have found out is if you hit F5 on this error page the ispconfig GUI still loads and seems to be working. Does the above message mean that now the billing module has to be upgraded to match the new 3.1. What would be a procedure to upgrade it?
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, the billing module for ispconfig 3.0.5 does not work with ISPConfig 3.1 and it does not work with php 7.

    http://www.ispconfig.org/blog/ispconfig-billing-module-2-0-released/
     
  6. DarkoD

    DarkoD New Member

    Thanks a lot. I'll have a look.
     
  7. DarkoD

    DarkoD New Member

    Great, that did the trick. Billing module is now updated and no more errors in apache error.log. Also the GUI opens up without error 500. Thanks a lot Jesse and Till.

    One last question please. The main control panel server now has Ubuntu 16.04 and ISPConfig 3.1. The rest of the infrastructure is:
    - web server (with mysql on it for the website DBs)
    - mail server
    - 2x nameservers (dns)
    They are all on Ubuntu 14.04 and ISPConfig 3.0.5 (I think that was the correct version).
    What is the best way to upgrade them and avoid anything breaking again? First ISPConfig and then Ubuntu? Or vice-versa? Or upgrade only ISPConfig to 3.1 and leave Ub 14.04 (it has support until 2019 anyway).
    What would you guys with more ISPConfig expertise recommend for migrations/upgrades when new versions come out like in this case?
     
  8. till

    till Super Moderator Staff Member ISPConfig Developer

    I would just upgrade ispconfig 3.1 and leave ubuntu at 14.04. If you decide to upgrade Ubuntu and ispconfig, then do the ubuntu upgrade first and then the ispconfig update.
     
  9. DarkoD

    DarkoD New Member

    OK, thanks for the advice. This can be considered solved now.
     
  10. oriongr

    oriongr Member

Share This Page