Jump to content
Froxlor Forum
  • 0
zed

Error 503 only for Froxlor after changing to php7/fpm

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 ?

Share this post


Link to post
Share on other sites

19 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) [...]

 

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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?

Share this post


Link to post
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

Share this post


Link to post
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)

Share this post


Link to post
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?

 

 

Share this post


Link to post
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 ?

Share this post


Link to post
Share on other sites
  • 0

Thanks again, it seems that this was really the final missing thing. froxlor.panel belonged to root. I chowned it to froxlorlocal, now the errors are gone 🙂

 

 

Share this post


Link to post
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

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
  • 0

Is there any content in /var/lib/extrausers/passwd? Did you tell froxlor to use libnss-extrausers? You need to activate that in the settings

Share this post


Link to post
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!

Share this post


Link to post
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

  • Similar Content

    • By irisdina
      Warning, this is not an official guide!!!
      1.
      sudo nano /etc/apt/source.list 1a. Delete all Text in to the File and Paste new Source list
      1b. 
      ###### Debian Main Repos deb http://ftp.de.debian.org/debian/ stable main contrib non-free deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free deb http://ftp.de.debian.org/debian/ stable-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ stable-updates main contrib non-free deb http://security.debian.org/ stable/updates main deb-src http://security.debian.org/ stable/updates main deb http://ftp.debian.org/debian stretch-backports main deb-src http://ftp.debian.org/debian stretch-backports main ###### Extra Repos ###Debian Multimedia deb [arch=i386,amd64] http://www.deb-multimedia.org stretch main non-free ###nginx deb [arch=amd64,i386] http://nginx.org/packages/debian/ stretch nginx deb-src [arch=amd64,i386] http://nginx.org/packages/debian/ stretch nginx ###php7.X | curl https://packages.sury.org/php/apt.gpg | apt-key add - deb https://packages.sury.org/php/ $(lsb_release -sc) main ### MariaDB 10.3 ### http://downloads.mariadb.org/mariadb/repositories/ deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.3/debian stretch main deb-src http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.3/debian stretch main 1c. 
      sudo apt update && sudo apt dist-upgrade && sudo apt autoclean && sudo apt autoremove 1d. 
      sudo apt install curl wget apt-transport-https dirmngr git software-properties-common Now you can start setting up your server
      2. MariaDB install
      Warning use sudo command für this install!
      sudo apt install mariadb-server mariadb-client 2a. MariaDB 10.3 Workround (Optional)
      3. nginx install
      sudo apt install nginx 3a. 
      mkdir /etc/nginx/sites-available mkdir /etc/nginx/sites-enabled 3b. nano /etc/nginx/nginx.conf
      4. PHP install
      sudo apt-get -y install php7.3-fpm php7.3-mysql php7.3-curl php7.3-gd php7.3-intl php-pear php-imagick php7.3-imap php-memcache php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-mbstring php-gettext php7.3-mysql php7.3-curl php7.3-gd php7.3-intl php-pear php-imagick php7.3-imap php-memcache php7.3-memcached php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-mbstring php-gettext php7.3-fpm php7.3-cli php7.3-cgi php-bcmath php-zip php7.3-fpm php7.3-curl php7.3-gd php7.3-mysql php7.3-mbstring php7.3-zip php7.3-bcmath zip unzip 4a. 
      sudo service nginx restart sudo service php7.3-fpm restart For Ubuntu (Cosmic)
      1. sudo nano /etc/apt/source.list
      1a. Delete all Text in to the File and Paste new Source list
      1b. 
      ###### Ubuntu Main Repos deb http://de.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse ###### Ubuntu Update Repos deb http://de.archive.ubuntu.com/ubuntu/ cosmic-security main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu/ cosmic-updates main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu/ cosmic-proposed main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu/ cosmic-backports main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ cosmic-security main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ cosmic-updates main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ cosmic-proposed main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ cosmic-backports main restricted universe multiverse # MariaDB 10.3 repository list - created 2019-01-25 21:01 UTC # http://downloads.mariadb.org/mariadb/repositories/ deb [arch=amd64] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.3/ubuntu cosmic main deb-src http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.3/ubuntu cosmic main 1c. Key install 
      sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 1d. PPA (https://askubuntu.com/questions/4983/what-are-ppas-and-how-do-i-use-them/4987#4987) 
      sudo add-apt-repository ppa:nginx/development sudo add-apt-repository ppa:ondrej/php 1e. 
      sudo apt update && sudo apt dist-upgrade && sudo apt autoclean && sudo apt autoremove 2. MariaDB install
      Warning use sudo command für this install!
      sudo apt install mariadb-server mariadb-client 2a. MariaDB 10.3 Workround (Optional)
      3. nginx install
      sudo apt install nginx Froxlor install
      There are two ways to get Froxlor. Stable (wget) and Beta Build (git / Master)
      Stable Version
      1. 
      cd /var/www/html/ 1a. 
      sudo https://files.froxlor.org/releases/froxlor-latest.tar.gz && sudo tar xzfv froxlor-latest.tar.gz or
      Git Version (Beta Version)
      sudo git clone https://github.com/Froxlor/Froxlor.git If you're using the git version, you still need to load the composer > Composer.phar and Read this for install Do not run Composer with root/super user
      1a(2). Composer install in your Froxlor directory
      composer install --no-dev 1b. 
      sudo chown -R www-data:www-data Froxlor/ Set up Froxlor
      2. Open Your Browser
      2a.
      http://your IP or Hostname/Froxlor
       

      Install Froxlor finish
       3d. Move userdata (Optional) 
      sudo mv /tmp/userdata.inc.php /var/www/html/Froxlor/lib/ 2c. 
      sudo rm /etc/nginx/site-enable/default don't restart nginx!
      Froxlor Settings
      1. Cronjob
      sudo nano /etc/cron.d/froxlor insert 
      # # Set PATH, otherwise restart-scripts won't find start-stop-daemon # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # # Regular cron jobs for the froxlor package # # Please check that all following paths are correct # */5 * * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/html/Froxlor/scripts/froxlor_master_cronjob.php sudo chmod 0640 "/etc/cron.d/froxlor" sudo chown root:0 "/etc/cron.d/froxlor" sudo service cron restart 2. Nginx PHP Backend
      Settings > Webserver settings > Nginx PHP backend
      from 127.0.0.1:8888 to unix:/run/php/php7.3-fpm.sock
      3. 
      sudo mkdir -p /var/customers/webs/ sudo mkdir -p /var/customers/logs/ sudo mkdir -p /var/customers/tmp sudo chmod 1777 /var/customers/tmp sudo service nginx restart 4. IPs and Ports > Add IP/Port

      2a(1), SSL Port



      Wait 5min for Autimatic Start Froxlor's cronjob or start the cronjob manually
      sudo php /var/www/html/Froxlor/scripts/froxlor_master_cronjob.php --force --debug Optional
      PHP-FPM activate
      1. User/Group add
      sudo adduser froxlorlocal --disabled-password --no-create-home && sudo usermod -a -G www-data froxlorlocal 2. libnss-extrausers install 
      sudo apt install nscd libnss-extrausers sudo mkdir -p /var/lib/extrausers sudo touch /var/lib/extrausers/{passwd,group,shadow} sudo mv "/etc/nsswitch.conf" "/etc/nsswitch.conf.frx.bak" sudo nano /etc/nsswitch.conf # Make sure that `passwd`, `group` and `shadow` have mysql in their lines # You should place mysql at the end, so that it is queried after the other mechanisams # passwd: compat extrausers group: compat extrausers shadow: compat extrausers hosts: files dns networks: files dns services: db files protocols: db files rpc: db files ethers: db files netmasks: files netgroup: files bootparams: files automount: files aliases: files sudo service nscd restart sudo nscd --invalidate=group 2a. Settings > System settings > Activate > Use libnss-extrausers instead of libnss-mysql

      3. Settings > PHP-FPM > Activated:
      Change from NO to YES
      3a. PHP-FPM versions
      Change > php-fpm restart command:
      service php7.3-fpm restart and
      Configuration directory of php-fpm: > to 
      /etc/php/7.3/fpm/pool.d/ 3b. Settings > Froxlor VirtualHost settings > Activate > Enable PHP-FPM for the Froxlor vHost

      3c. 
      sudo chown -HR froxlorlocal:froxlorlocal /var/www/html/Froxlor SSL / Let's Encrypt activate
      1.
      sudo apt install certbot 1a. 
      sudo mkdir /etc/nginx/ssl && cd /etc/nginx/ssl 1b. Create SSL File
      sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt 1c. 
      sudo nano /etc/nginx/acme.conf insert
      location /.well-known/acme-challenge { alias /var/www/html/Froxlor/.well-known/acme-challenge; location ~ /.well-known/acme-challenge/(.*) { default_type text/plain; } }  
      2. Open your  Froxlor Panel
      Settings> SSL > Activated:
      Change from NO to YES
      2a. Settings > SSL > Settings
      Change your path from your certificate / Keyfile
      Path to the SSL certificate
      insert
      /etc/nginx/ssl/nginx.crt Path to the SSL Keyfile
      insert
      /etc/nginx/ssl/nginx.key 2b. Settings > SSL > Settings
      Activate > Enable Let's Encrypt

      Change Path to the acme.conf snippet to > 
      /etc/nginx/acme.conf 2c. Activate on Settings > Froxlor VirtualHost settings
      - Enable Let's Encrypt for the froxlor vhost
      - Enable SSL-redirect for the froxlor vhost
      - HTTP Strict Transport Security (HSTS)
      - Include HSTS for any subdomain






      2d. Activated HTTP2 Support on > Settings > Nginx
       
    • By LostNIL
      Greetings,
      I have Froxlor installed with PHP7.2 and need to install/enable PHP7.2-fpm. I've reviewed the wiki, The Froxlor YouTube video on the subject, and reviewed/completed the instructions within the Panel > Configuration > DB Jessie > Other > FPM and am having difficulties getting the panel to work with FPM. 
      All available instructions are written for PHP5 and when I complete the instructions and substitute PHP7.2, when the panel generates configurations there are syntax errors and the websites go down. 
       
      Does anyone have any pointers or updated instructions on enabling FPM/PHP7+ with Froxlor. 
    • By rashantha
      Hi Everyone,
      I am new to froxlor moving from Sentora. Setting up on Centos 7. I followed these directions with PHP 7.
      https://www.vultr.com/docs/how-to-install-the-froxlor-server-management-panel-on-centos-7
      I am getting the error below and from googling I reckon it not a password issue. I did the installation twice just to make sure it's not a password issue. It looks more like a connection issue.
      So I checked to make sure it's not a port issue. Any help would be greatly appreciated.

      semanage port -l | grep http_port_t
      http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
      pegasus_http_port_t            tcp      5988
       
      Checking MySQL-root access...
      SQLSTATE[HY000] [2002] Permission denied There seems to be a problem with the database-connection. Cannot continue. Please go back and check your credentials.
    • By j4mb4l4j4
      Deutsch:
      HI, ich habe mal eine Frage bezüglich des Tausches der PHP Version.
      Aktuell habe ich gem. Tutorial mein Froxlor aufgesetzt ( Apache statt Nginx ).

      Wenn ich jetzt die php-fpm Version von 7.1 auf 7.0 ändern möchte, reicht es dann aus, einfach  Schritt 4 des Tutorials nochmal aufzugreifen und php 7.0 zu installieren
      und dann im Froxlor Panel auf 7.0 umzustellen ? Dann hätte ich 7.1 und 7.0 auf dem Server.

      Ich frage weil ich einen Produktivserver habe und möglichst wenig Ausfall mir erhoffe...
      Grund für meinen Wechsel ist, das Shopware wegen dem Ioncubeloader nicht 7.1 komplett unterstützt sondern nur 7.0...


      Englisch:
      Hi, I've a QUestion about a php-fpm version change.
      I did this Tutorial ( Apache instead of Nginx )
      Now If i want to change the php-fpm version from 7.1 to 7.0 is it just necessary to reproduce step 4 from the tutorial and install 7.0 next to 7.1 ?
      And then change the version in Froxlor System Panel ?
      I've got a live system so I want to do it in best practice.
      Necessary cause shopware is not running fully supported with Ioncubeloader and php 7.1 :-(
       
      Danke schon mal, und frohe Ostern nachträglich !!!!


×