Jump to content
Froxlor Forum
  • 0

Error 503 only for Froxlor after changing to php7/fpm


headtrick
 Share

Question

Hello there.

After updating to PHP 7.1 with FPM my customer sites work perfectly, however I cannot access the Froxlor backend (as well as phpmyadmin) anymore, I get an error 503. Froxlor is supposed to also run with FPM.

I am running on Debian8, Apache 2.4, PHP 7.1, PHP 7.1-FPM

The apache error log reads:

[Tue Jun 06 21:56:28.394119 2017] [proxy:error] [pid 6572] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.1-fpm.sock (*) failed
[Tue Jun 06 21:56:28.394177 2017] [proxy_fcgi:error] [pid 6572] [client x.x.x.x:35356] AH01079: failed to make connection to backend: httpd-UDS

php7.1-fpm status seems ok, and the logfile is empty besides from restarts.

Could it be related to the fact that the customer sites all run with ssl, the froxlor and phpmyadmin not yet?


Where else can I look? Some help would be appreciated :)

Best, Michael

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

The handler is just a Name, See corresponding fastcgi conf in Apache, the other Thing is that your vhosts clearly says use "/var/lib/apache2/fastcgi/froxlor.panel-xxx.yourvserver.net-php-fpm.socket" and Not " /run/php/php7.1-fpm.sock" so there must be something wrong on your side

Link to comment
Share on other sites

  • 0

The path in the error Log seems to come dein the Standard www.conf poolconfig by fpm ...no idea though why it is using this Pool instead of the given one without looking on the Server

Link to comment
Share on other sites

  • 0

@headtrick, @Keon, did you solve it?

I'm stuck at the exactly same step after upgrading php version while I was on php-fpm.

 

/run/php/php7.2-fpm.sock is not found.

But this is not the file that should be used anyway I guess...

This is my froxlor config file:

# 10_froxlor_ipandport_xxx.xxx.xxx.xxx.80.conf
# Created 29.09.2018 11:22
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

<VirtualHost xxx.xxx.xxx.xxx:80>
DocumentRoot "/var/www/html/"
 ServerName xxxx.xxxx.com
  <FilesMatch \.()$>
  SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxx.com-php-fpm.socket|fcgi://localhost
  </FilesMatch>
</VirtualHost>

It's strange why this other file is not being created and therefore not being picked up.

This are the logs with LogLevel debug:

[Sat Sep 29 11:50:23.986229 2018] [proxy:debug] [pid 27113:tid 140463228737280] proxy_util.c(2252): [client xxx.xxx.189.83:53264] AH02545: fcgi: has determined UDS as /run/php/php7.2-fpm.sock

Si I guess is something related to proxy_fcgi. I'm stuck...

 

I made some progress:

  <FilesMatch \.()$>
  SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxxxxx.com-php-fpm.socket|fcgi://localhost
  </FilesMatch>

should be:

<FilesMatch \.php$>...</FilesMatch>

Strange. Why is it not correctly generated?

Then apache al least tries to pick the correct one (even if it fails):

 

[Sat Sep 29 12:06:06.752157 2018] [proxy:error] [pid 28900:tid 140013299574528] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxxxx.com-php-fpm.socket (*) failed
[Sat Sep 29 12:06:06.752228 2018] [proxy_fcgi:error] [pid 28900:tid 140013299574528] [client 95.120.189.83:54668] AH01079: failed to make connection to backend: httpd-UDS

 

What did you end up doing guys?

Thanks

Link to comment
Share on other sites

  • 0

@headtrick, @Keon, did you solve it?

I'm stuck at the exactly same step after upgrading php version while I was on php-fpm.

/run/php/php7.2-fpm.sock is not found.

But this is not the file that should be used anyway I guess...

This is my froxlor config file:

# 10_froxlor_ipandport_xxx.xxx.xxx.xxx.80.conf
# Created 29.09.2018 11:22
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

<VirtualHost xxx.xxx.xxx.xxx:80>
DocumentRoot "/var/www/html/"
 ServerName xxxx.xxxx.com
  <FilesMatch \.()$>
  SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxx.com-php-fpm.socket|fcgi://localhost
  </FilesMatch>
</VirtualHost>

It's strange why this other file is not being created and therefore not being picked up.

This are the logs with LogLevel debug:

[Sat Sep 29 11:50:23.986229 2018] [proxy:debug] [pid 27113:tid 140463228737280] proxy_util.c(2252): [client xxx.xxx.189.83:53264] AH02545: fcgi: has determined UDS as /run/php/php7.2-fpm.sock

So I guess is something related to proxy_fcgi. I'm stuck...

I made some progress:

  <FilesMatch \.()$>
  SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxxxxx.com-php-fpm.socket|fcgi://localhost
  </FilesMatch>

should be:

<FilesMatch \.php$>...</FilesMatch>

Strange. Why is it not correctly generated?

However, even if I try to fix it manually, then apache still fails because the socket file has not been generated anyway:

[Sat Sep 29 12:06:06.752157 2018] [proxy:error] [pid 28900:tid 140013299574528] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-froxlor.panel-xxx.xxxxx.com-php-fpm.socket (*) failed
[Sat Sep 29 12:06:06.752228 2018] [proxy_fcgi:error] [pid 28900:tid 140013299574528] [client 95.120.189.83:54668] AH01079: failed to make connection to backend: httpd-UDS

What did you end up doing guys?

Thanks

Link to comment
Share on other sites

  • 0

Hey guys,

 

TEMPORARY SOLUTION TO GET ACCESS TO THE CONTROL PANEL FOR FURTHER CHANGES IF NECESSARY:

I had the same issue. I solved it temporary by changing the config file /etc/apache2/sites-enabled/10_froxlor_ipandport_*******.conf

SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-web1.hostbeef.com-php-fpm.socket|fcgi://localhost

to

SetHandler proxy:unix:/var/lib/apache2/fastcgi/1-froxlor.panel-web1.hostbeef.com-php-fpm.socket|fcgi://127.0.0.1

...just to get access to the control panel for doing further changes if somebody need it.

 

ACTUAL FIX THAT WORKED FOR ME:

After that I (1.) removed all entrys in /etc/apache2/sites-enabled and (2.) recalled the froxlor master cron

/usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

to regenerate the apache config. Now it also works for me with localhost.

 

Regards

UnknownLSL

Link to comment
Share on other sites

  • 0

I've struggled with this issue myself now for a couple of days. My goal was to activate Apache + mpm_event + php7.3-fpm. For now, i playing around with a WordPress installation and it runs fast as hell (considering WordPress with OPCache and RedisCache-Server, without any WordPress caching plugin). TTFB is around 170ms, I am satisfied.

Finally I solved it ? (thankfully without fiddling in conf-Files) by disabling the Apache-conf for php7.3-fpm (in my case php7.3):

a2disconf php7.3-fpm

(removes /etc/apache2/conf-enabled/php7.3-fpm.conf) 

 

I searched for the string "php7.3-fpm.sock" in files like this:

grep -iRl [text-string-to-search] [search-in-this-folder]

grep -iRl 'php7.3-fpm.sock' /etc/

I found out this string is in /etc/apache2/conf-enabled/php7.3-fpm.confThe file (or a symlink) php7.3-fpm.config MUST NOT be in the directory /etc/apache2/conf-enabled!!

 

Other steps I made to get Apache + mpm_event + php7.3-fpm to work:

a2dismod php7.3: the Apache php-module is not needed and anyway incompatible with mpm_event

a2dismod php7.3
a2dismod mpm_prefork
a2enmod mpm_event
service apache2 restart

 

Now check if mpm_event is running:

apachectl -V

The output should contain "Server MPM: event". Also check via phpinfo() if under "Server API" the value "FPM/FastCGI" is written.

 

Other things I found out, it is not directly related to php-fpm, but I've struggled with issues at the same time:

/var/customers/tmp/froxlor.panel/ has do be owned by froxlorlocal:

chown froxlorlocal:froxlorlocal /var/customers/tmp/froxlor.panel

/var/www/php-fpm/froxlor.panel/ has do be owned by froxlorlocal:

chown froxlorlocal:froxlorlocal /var/www/php-fpm/froxlor.panel

Check your Webserver-Settings: Settings -> Webserver-Settings:
The username webserver and the groupname webserver has to be "www-data".

 

Hope this helps someone. If I wrote anything wrong, please just leave a reply, i'm also grateful for other hints on this topic.

 

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...