Jump to content
Froxlor Forum
  • 0

Error 503 only for Froxlor after changing to php7/fpm


zed
 Share

Question

Hi, after fresh froxlor install on debian9 and php-fpm I have 503 error :

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

In /var/log/apache2/error.log I found:

[proxy:error] [pid 997] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-froxlor.panel-sub.domain.com-php-fpm.socket (*) failed
[proxy_fcgi:error] [pid 997] [client 1.1.1.1:57529] AH01079: failed to make connection to backend: httpd-UDS

I have not created any customers or domains yet and I can't access Froxlor panel and phpmyadmin
File /var/lib/apache2/fastcgi/1-froxlor.panel-sub.domain.com-php-fpm.socket is not available, I created it but still not work.
What can I do ?

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 1

and as i've guessed correctly, it's not activated for the froxlor vhost itself. 

6 hours ago, d00p said:

[...] maybe you did not activate fpm for froxlor itself (settings -> froxlor vhost settings) [...]

 

Link to comment
Share on other sites

  • 1
33 minutes ago, MarM said:

(Iḿ just very new with foxlor and it seems a little bit tricky to run it)

no its not...

33 minutes ago, MarM said:

/run/php/php7.3-fpm.sock

this socket is not being used by froxlor. froxlor's cronjob generates it's own php-fpm pool configs for each domain (therefore every domain has its own socket). Of course you need to configure the php-settings according to your system (reload command, pool config directory, etc.; remember, 7.3 is not system default on stretch...so you definetly need to add it to the php-configurations)

 

Link to comment
Share on other sites

  • 0

I only see a "pool-dummy" config, maybe you did not activate fpm for froxlor itself (settings -> froxlor vhost settings) ? There should be a pool with the name of your hostname. also double check paths and commands in the settings

Link to comment
Share on other sites

  • 0

Thank you for guiding me. I checked many times before starting cron and I was 100% sure it was configured  and checked correctly. I don't know why it happened.Thank you it is working now.

Link to comment
Share on other sites

  • 0

Hi d00p,

as I ran into the same problem (same errror in apache error log) - how can i fix it? I'm pretty sure I also forgot to activate it for the froxlor vhost. But as the web interface is not reachable anymore - how can i change the configuration? I searched the database (in panel_settings), but was not sure which entries I have to change...

some more info:
I'm running Debian 9 with Apache 2.4, PHP7 with fpm and MariaDB 10.1
the php-fpm service lists entries for all customer domains but not for the froxlor domain

I guess I could copy one of the existing entries in /etc/php/7.0/fpm/pool.d/ but as they have all some specifics that are meant for customer domains, I'm not sure what would be needed there, either. So I guess, if I get the settings right in the DB, I could use the cron-job with --force flag to create it with the correct syntax. Am I right?

I already tried it by setting 'enabled_ownvhost' to 1 and then ran the cronjob, but that didn't help.

Regards, docho

Link to comment
Share on other sites

  • 0
2 hours ago, docho said:

So I guess, if I get the settings right in the DB, I could use the cron-job with --force flag to create it with the correct syntax. Am I right?

yes

2 hours ago, docho said:

I already tried it by setting 'enabled_ownvhost' to 1 and then ran the cronjob, but that didn't help.

any error messages? Do you even let froxlor create a virtualhost container for froxlor?

Link to comment
Share on other sites

  • 0
vor 29 Minuten schrieb d00p:

yes

any error messages? Do you even let froxlor create a virtualhost container for froxlor?

I thought there was none, but I checked again:

chown: invalid user: 'froxlorlocal:froxlorlocal'

So the user froxlorlocal was missing. I added it now according to the fpm wiki entry, as that step seems to be missing from the guide within froxlor under configuration. Maybe there are more steps missing? I can't follow the wiki entry, as that refers to the old mod_fastcgi.

As for the container - I don't remember any setting with 'container' in it, and didn't find the word container in panel_settings either.
For an easier analysis find following the sql output for everything with fcgi and fpm in it:

froxlor_panel_settings.txt

Link to comment
Share on other sites

  • 0
20 hours ago, docho said:

chown: invalid user: 'froxlorlocal:froxlorlocal'

So the user froxlorlocal was missing. I added it now according to the fpm wiki entry, as that step seems to be missing from the guide within froxlor under configuration.

So, not configured correctly. The useradd actually is in the configurations if the user does not already exist. See https://github.com/Froxlor/Froxlor/blob/master/lib/configfiles/stretch.xml#L4654

20 hours ago, docho said:

Maybe there are more steps missing?

No, works very fine.

20 hours ago, docho said:

I can't follow the wiki entry, as that refers to the old mod_fastcgi.

Remember to set "Use mod_proxy / mod_proxy_fcgi" as this is required for debian 9 (use_mod_proxy in panel_settings)

20 hours ago, docho said:

As for the container - I don't remember any setting with 'container' in it, and didn't find the word container in panel_settings either.

Not in panel_settings, but in panel_ipsandports (Create vHost-Container)

Link to comment
Share on other sites

  • 0

Thank you, d00p.

As far as I understand the code, this would have been only visible, had I already set "enabled_ownvhost" by the time, the frontend was working.

But as I told you in an earlier post, I added this after I couldn't access Froxlor anymore, directly in the database. So for me, it was indeed missing.

I checked the database - use_mod_proxy is already set to 1, the same goes for vhost_container in ipsandports. You pointed me in the right direction however, as ne next step in the guide (also only visible after "enabled_vhost" was set) was the one missing for me -> a2dismod php7.0

After I did this, restarted apache and reran the cronjob, the missing php-fpm socket was created and I could access Froxlor again ?

What's left are some errors, that appeared after logging in. They seem to be a permission problem in the course of session handling:

On the top (after logging in)

PHP warning/error
#2 session_start(): open(/var/customers/tmp/froxlor.panel//sess_8ca3f6ea8d0350843a5351b4530f0eb0, O_RDWR) failed: Permission denied (13)
/lib/init.php:216

On the bottom

PHP warning/error
#2 Unknown: open(/var/customers/tmp/froxlor.panel//sess_8ca3f6ea8d0350843a5351b4530f0eb0, O_RDWR) failed: Permission denied (13)
Unknown:0

PHP warning/error
#2 Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/customers/tmp/froxlor.panel/)
Unknown:0

 

So, any (hopefully) final clue?

 

 

Link to comment
Share on other sites

  • 0
5 hours ago, docho said:

As far as I understand the code, this would have been only visible, had I already set "enabled_ownvhost" by the time, the frontend was working.

Yes, that's why the installation guide says FIRST  adjust settings, THEN run the configuration steps

5 hours ago, docho said:

But as I told you in an earlier post, I added this after I couldn't access Froxlor anymore, directly in the database. So for me, it was indeed missing.

yeah well, manual database manipulation is not intended...

 

5 hours ago, docho said:

I checked the database - use_mod_proxy is already set to 1, the same goes for vhost_container in ipsandports. You pointed me in the right direction however, as ne next step in the guide (also only visible after "enabled_vhost" was set) was the one missing for me -> a2dismod php7.0

Also part of the configuration steps in "Other (system)-> PHP-FPM" - I understand your problem that you could not see that due to the fact that your panel was unavailable - the better way would've been to correct whatever mistake made the panel unavailable instead of manually activating stuff in the database

6 hours ago, docho said:

So, any (hopefully) final clue?

Check permission of /var/customers/tmp/froxlor.panel ?

Link to comment
Share on other sites

  • 0

Aaand there we go again -> Error 503 ?
The only thing I did, was creating a new customer. No further steps.

I now ran the cronjob again, but that didn't help.
The fpm-service fails to start, but I don't know why, yet.

Hmm - the customer-folder in /var/customers/webs/ belongs to a non-existing uid and gid 10000 and the fpm-service tells me

" ERROR: [pool mycustomer.mydomain] cannot get uid for user 'mycustomer'"

So I guess there has to be something more, I was missing.

Edited by docho
Maybe found the reason for the problem
Link to comment
Share on other sites

  • 0
3 hours ago, docho said:

Aaand there we go again -> Error 503 ?
The only thing I did, was creating a new customer. No further steps.

I now ran the cronjob again, but that didn't help.
The fpm-service fails to start, but I don't know why, yet.

Hmm - the customer-folder in /var/customers/webs/ belongs to a non-existing uid and gid 10000 and the fpm-service tells me

" ERROR: [pool mycustomer.mydomain] cannot get uid for user 'mycustomer'"

So I guess there has to be something more, I was missing.

Hi, Docho.

Can you paste the cronjob output here?

Link to comment
Share on other sites

  • 0
vor 12 Stunden schrieb davidoct14:

Hi, Docho.

Can you paste the cronjob output here?

The only error there was:

Job for php7.0-fpm.service failed because the control process exited with error code.
See "systemctl status php7.0-fpm.service" and "journalctl -xe" for details.

And as I have posted above, that gives me the the error with the missing uid.

 

vor 4 Stunden schrieb d00p:

Have you installed and configured libnss-mysql or libnss-extrausers correctly?

libnss-extrausers is installed, nsswitch.conf has the following content:

passwd:         compat extrausers
group:          compat extrausers
shadow:         compat extrausers

hosts:          files dns
networks:       files dns

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netmasks:       files
netgroup:       files
bootparams:     files

automount:      files
aliases:        files

and the files

- /var/lib/extrausers/passwd
- /var/lib/extrausers/group
- /var/lib/extrausers/shadow

exist. nscd-service was restarted. Anything missing?

Link to comment
Share on other sites

  • 0

Hmm, no, you were right. The file was empty.

I checked the database and libnss-extrausers was disabled. I set it to 1 and then ran the cron-job twice.

The first time, php-fpm didn't come up, as the /var/lib/extrausers/-files were written as the last step, in the second run php-fpm came up.

It looks like I am now really in a "regular" state again.

Thank you for your help!

Link to comment
Share on other sites

  • 0

Just have similar problems. Foxlor seems to worked for a while, then error "Service Unavailable" and the socket /run/php/php7.3-fpm.sock was missing. Reinstalled FPM, the same happened again ... (I use Debian 9) (Iḿ just very new with foxlor and it seems a little bit tricky to run it)

Apache Error Log says:

[proxy_fcgi:error] AH01079: failed to make connection to backend: httpd-UDS
[proxy:error] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.3-fpm.sock (*) failed

Update: service --status-all shows, that php7.2-fpm was also running. Maybe this was the troublemaker?

Unfortunately disabling php7.2-fpm and reinstalling php7.3-fpm didnt help ... ?

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...