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" (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.
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.
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.
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: And then restarted php, but it made no difference.
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:
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.
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
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.
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!