Jump to content
Froxlor Forum
  • 0
headtrick

Error 503 only for Froxlor after changing to php7/fpm

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

Share this post


Link to post
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Doesnt look like froxlors fpm config. Can you nopaste the vhost configs starting with 10_froxlor*.conf?

Share this post


Link to post
Share on other sites
  • 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

Share this post


Link to post
Share on other sites
  • 0

But this file is created by froxlor, so somewhere this path has to come from?

And what exactly do you refer to by "your side"? Apache config? FPM config? Froxlor config?

Share this post


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

Share this post


Link to post
Share on other sites
  • 0

Still, in the 35_froxlor* VHost files for the customer sites the path is the same (replacing froxlor.panel-* by the customer) and there it works?

Share this post


Link to post
Share on other sites
  • 0
15 hours ago, Keon said:

old topic - but i got the same issue. 

Then you already read what you can check and what Info ist required in Order to Help...

Share this post


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

Share this post


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

Share this post


Link to post
Share on other sites
  • 0
4 hours ago, lanbo said:

Strange. Why is it not correctly generated?

Can you check whether you have valid extensions (at least .php) in the fpm-daemon/php-config and/or settings

Share this post


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

Share this post


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

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 Schutzgeist
      Hallo, 
      vielleicht kann mir jemand hier ja einen kleinen Tipp geben.
      Es ist mehr eine nginx-Konfiguration. 
      PHP-404-Rückmeldungen sollen "sauber" an Joomla übergeben werden.
       
      Mein 'Froxlor-Standardvhost sieht wie folgt aus

      Allerdings kann ich über das Joomla eigene REDIRECT Modul keine .php - Erweiterungen intern umleiten. 
      Anstatt  die joomla-eigene 404 Seite zu erhalten, bekomme ich die von nginx, da  die Abfrage hier als erstes ausgeführt wird. 
      Also habe ich meine vhost stümperhaft umgeschrieben, s.d. ein Teil seinen Soll erfüllt. 

      Teilweise kann ich nun die Redirects über Joomla verwalten lassen, aber oft erhalte ich LOOPs, da ich ja immer auf die index.php verweise. 
      So, warum nutze ich nicht die nginx-Weiterleitungen ? 

      Ich nutze ein Multi-Sitemodul  sowie ein Modul, um eine php-Endung  zu simulieren. 
      Beide haben mit meiner und der Standardvhost-Konfiguration leichte Schwierigkeiten. 

       
      Welche Vhost-Anpassungen nutzt ihr bei Eurer Joomla-Webseite ? 
      Der Fehler sitzt vermutlich 30 cm vor meinem Bildschirm. 
      Innerhalb meiner letzten 30 Versuche habe ich wohl  oft alte Cache-Webseiten geladen und ggf. die richtige Konfig übersehen.
       

       
       
       
       
       
    • By irisdina
      Warning, this is not an official guide!!!
      1.
      sudo mv /etc/apt/source.list /etc/apt/source.list.bak 1a. Create new Source.list
      sudo nano /etc/apt/source.list 1b.  insert (for Debian Stretch)
      1.2B (for Ubuntu Cosmic)
       
      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 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 && sudo chown -HR www-data:www-data Froxlor/ sudo apt install composer  su - www-data -s /bin/bash cd /var/www/html/Froxlor/ 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.
×
×
  • Create New...