Error 500 after update

Discussion in 'General' started by Onyxnz, Jul 9, 2023.

  1. Onyxnz

    Onyxnz New Member

    I have just updated my home machine running Debian Buster, and cannot get ISPConfig to start.
    2023/07/09 20:45:37 [error] 12017#12017: *4 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught InvalidArgumentException: Please make sure the folder '/usr/local/ispconfig/interface/lib/classes/IDS/../../../temp' is writable in /usr/local/ispconfig/interface/lib/classes/IDS/Monitor.php:159
    Stack trace:
    #0 /usr/local/ispconfig/interface/lib/classes/ids.inc.php(114): IDS\Monitor->__construct()
    #1 /usr/local/ispconfig/interface/lib/app.inc.php(418): ids->start()
    #2 /usr/local/ispconfig/interface/web/index.php(32): require_once('/usr/local/ispc...')
    #3 {main}
    thrown in /usr/local/ispconfig/interface/lib/classes/IDS/Monitor.php on line 159" while reading response header from upstream, client: 10.0.2.36, server: _, request: "GET /index.php HTTP/2.0", upstream: "fastcgi://unix:/run/php/php7.4-fpm.sock:", host: "10.0.2.19:8080"
    upload_2023-7-9_21-15-10.png
    (Screenshot from Webmin, so you can see existence and perms)
    I have tried a --force update again too.
    The PHPinfo I dropped in the ISPC interface area shows that php 7.4.33 is running there.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Seems as if ISPConfig is not running as user ispconfig anymore. Is this an Apache web server? If yes, then your might have disabled the Apache suexec module during update. Try:

    a2enmod suexec

    and restart Apache.
     
  3. Onyxnz

    Onyxnz New Member

    Thanks @till, but it's pure nginx.
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    Strange, please drop a test.php file with the following content into the folder /usr/local/ispconfig/interface/web/test.php

    Code:
    <?php
    file_put_contents('/tmp/test.txt');
    Then open the URL in a browser https://your.server.tld:8080/test.php

    finally, run:

    ls -la /tmp/test.php

    On the shell and post the output of the ls command, so we can see as which user this file gets created when using global tmp folder.
     
  5. Onyxnz

    Onyxnz New Member

    I just discovered that the /etc/php/7.3/fpm/pool.d directory was populated with files, whereas the 7.4 one had only two (apps + www).
    I copied over these files to the 7.4 pool.d, and made the ispconfig file look like this:
    upload_2023-7-9_22-8-56.png
    And then restarted php, but it made no difference.
     
  6. Onyxnz

    Onyxnz New Member

    Code:
    <?php
    file_put_contents('/tmp/test.txt',"testing");
    ?>
    (correct parameters for anyone else reading this!)
    results in
    root@server:/etc# cat /tmp/test.txt
    testingroot@server:/etc#
    So I can write to /tmp.
    And if I cange the file to write to the ISPCONFIG temp, ie.

    Code:
    <?php
    file_put_contents('temp/test.txt','testing');
    ?>
    that also works! Although it operates as www-data:
    upload_2023-7-9_22-23-34.png
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    This was not the question. I asked you to post the ls command output and not the output of a cat command to see which users create that file. If it operates as www-data, then you probably manually altered the ispconfig vhost file or you have overridden the default ISPConfig vhost file with a custom template which causes nginx to connect to a wrong socket now.
     
  8. Onyxnz

    Onyxnz New Member

    upload_2023-7-9_22-44-11.png
    the Vhost file. Does that look right?
    Oops, my bad, so you did.
    ls -la /tmp/test.txt
    -rw-r--r-- 1 www-data www-data 7 Jul 9 22:13 /tmp/test.txt
     
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    The ispconfig vhost file is not correct. It contains the wrong socket. The ISPConfig PHP-FPM socket is named ispconfig.sock. Check if you have a custom template of the ispconfig vhost in /usr/local/ispconfig/server/conf-custom/ or /usr/local/ispconfig/server/conf-custom/install/ or you altered the socket path manually.
     
    Onyxnz likes this.
  10. Onyxnz

    Onyxnz New Member

    Altering the socket ,as you suggest, to
    /var/lib/php7.4-fpm/ispconfig.sock
    has allowed the ISPC to start. I don't remember ever changing that manually, but that doesn't matter now.
    Vielen Dank!
     
    Th0m likes this.

Share This Page