Cannot activate FCGI php execution mode in Centos8

Operating system:Centos8
OS version:CentOS Linux 8.2.2004

Operating system CentOS Linux 8.2.2004
Apache version 2.4.37
PHP versions 5.6.40, 7.2.24
Webmin version 1.962
Virtualmin version 6.13

Hi, I cannot activate FCGI php execution mode, is not listed in website options… and if I do the recheck configuration it says:

The following PHP versions are available : 5.6.40 (/bin/php56-cgi), 7.2.24 (/bin/php-cgi)
The following PHP execution modes are available : fpm
The following PHP-FPM versions are available on this system : 7.2.24 (php-fpm)

I’m not sure what i’m missing here, but in my previous server with centos7 i was able to select between different php execution modes like:

Apachemod_php(run as Apache’s user)
CGI wrapper (run as virtual server owner)
FCGId (run as virtual server owner)
FPM (run as virtual server owner)

But now in my new server with Centos8 the only option available in website options is: FPM (run as virtual server owner)

Any clue??

Thanks!!!

I tried adding this to httpd.conf:

AddHandler  fcgid-script .fcgi .php .fpl
FcgidConnectTimeout 20
FcgidMaxRequestLen 268435456
FcgidMaxProcessesPerClass 10
FcgidIOTimeout 300

But no changes :frowning:
And my file /etc/httpd/conf.modules.d/10-fcgid.conf has:
LoadModule fcgid_module modules/mod_fcgid.so

BTW, fpm process seems good:

systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-11-28 06:41:56 UTC; 46min ago
 Main PID: 849 (php-fpm)
   Status: "Processes active: 0, idle: 6, Requests: 4, slow: 0, Traffic: 0req/sec"
    Tasks: 7 (limit: 23201)
   Memory: 43.1M
   CGroup: /system.slice/php-fpm.service
           ├─849 php-fpm: master process (/etc/php-fpm.conf)
           ├─890 php-fpm: pool 158117900413088
           ├─891 php-fpm: pool www
           ├─892 php-fpm: pool www
           ├─893 php-fpm: pool www
           ├─894 php-fpm: pool www
           └─895 php-fpm: pool www

Starting The PHP FastCGI Process Manager...
WARNING: Found multiple addresses for localhost, 127.0.0.1 ignored
Started The PHP FastCGI Process Manager.

The final need of all this thing is to be able to have different PHP versiosn in different webservers, but when I try to do it as in my pvrevious centos7 server, php versions, i get this:
Your system only has PHP version 7.2.24 installed, so selecting a different version for each directory is not possible.

As far as I know, Virtualmin doesn’t support suexec (and thus fcgi) on CentOS 8.

Richard

Yup. But it’s more of a CentOS thing and Virtualmin rolls with it.

CentOS 8 favors PHP-FPM over suexec. Search past threads going back to Virtualmin’s earliest support for CentOS 8 and you’ll find a lot of Q&A about it.

Yeah, I figgered it was a CentOS thing. But I have zero experience with CentOS 8 (I prefer to let others stomp the bugs these days), so I didn’t want to state that as fact.

Richard

Back when CentOS 8 support became official Joe’s announcement talked about dropping suexec support in Virtualmin. So actually, you were completely factual and I was splitting a hair. Apples and apples.

1 Like

Hi all, thanks for your replies :).

I anaged to have this working, no FCGI, but with FPM php packages, not sure from the hunder of stuff I have done what was needed or not, but i think that with this packages i managed to have both versions working, FPM doesnt allow do choose versions of PHP per directory but it does on a per virtual-server basis, thats enough for me :slight_smile:

php.x86_64                            7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-cli.x86_64                        7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-common.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-fpm.x86_64                        7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-gd.x86_64                         7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-json.x86_64                       7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-mbstring.x86_64                   7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-mysqlnd.x86_64                    7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-opcache.x86_64                    7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-pdo.x86_64                        7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-pear.noarch                       1:1.10.5-9.module_el8.2.0+313+b04d0a66     @AppStream           
php-process.x86_64                    7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-xml.x86_64                        7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php-xmlrpc.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66       @AppStream           
php56.x86_64                          3.0-1.el8.remi                             @remi-safe           
php56-libzip.x86_64                   1.7.3-2.el8.remi                           @remi-safe           
php56-php.x86_64                      5.6.40-23.el8.remi                         @remi-safe           
php56-php-cli.x86_64                  5.6.40-23.el8.remi                         @remi-safe           
php56-php-common.x86_64               5.6.40-23.el8.remi                         @remi-safe           
php56-php-fpm.x86_64                  5.6.40-23.el8.remi                         @remi-safe           
php56-php-mbstring.x86_64             5.6.40-23.el8.remi                         @remi-safe           
php56-php-mysqlnd.x86_64              5.6.40-23.el8.remi                         @remi-safe           
php56-php-pdo.x86_64                  5.6.40-23.el8.remi                         @remi-safe           
php56-php-pear.noarch                 1:1.10.12-4.el8.remi                       @remi-safe           
php56-php-pecl-jsonc.x86_64           1.3.10-3.el8.remi                          @remi-safe           
php56-php-pecl-zip.x86_64             1.19.2-1.el8.remi                          @remi-safe           
php56-php-process.x86_64              5.6.40-23.el8.remi                         @remi-safe           
php56-php-xml.x86_64                  5.6.40-23.el8.remi                         @remi-safe           
php56-runtime.x86_64                  3.0-1.el8.remi                             @remi-safe           
wbm-php-pear.noarch                   2:1.6-1                                    @virtualmin-universal

They are recognized by virtualmin:

The following PHP versions are available : 5.6.40 (/bin/php56-cgi), 7.2.24 (/bin/php-cgi)

The following PHP execution modes are available : fpm

The following PHP-FPM versions are available on this system : 7.2.24 (php-fpm) 5.6.40 (php56-php-fpm)

And shown where i wanted :slight_smile:

This will show 2 parallel php fpm servers in the “servers status” page, not sure if its the right way, but if i just install the plain php packages without fpm the php version chose doesnt work, so processes for each version are running…

BTW, reason to go to CentOS8 was nothing but avoid to upgrade in future when centos7 go EOS… I come from a centos6 (with cpanel) server that went out of support a week ago, I have been using for some weeks a centos7 server as a temporal one, but the idea is to migrate (again, yes…because i already ha a small virtualmin running on centos7 that i have reused as temporal jump) at the end to centos8. And it seems that is working :slight_smile:

I will run some more tests, I wouldn;t celebrate yet, but at least it does allow me to choose in the “PHP versions” page as before

Would this way to do it be the good one? or any complaint or better way? thanks

PHP-FPM is how you’re supposed to run PHP apps on CentOS 8 with Virtualmin. It is the only supported mechanism, and it should have worked without any hassle. I wouldn’t recommend installing PHP 5.x versions on CentOS 8, though…PHP 5 has been EOL for a while.

Hi Joe, thanks for your reply and for confirming that I did this right :slight_smile:

Yeah, i know that php 5 was EOL time ago but I have some sites running vBulletin 3.X that need php 5.6 :(… i haven’t seen anyway to have it working with more recent versions.
I have other sites with vBulletin 4.X that run fine in php 7.2 (that is EOS since last week…)…it trows some errors in the log…but at least it works; but this is on vBulletin side… I love that script, but not supporting old versions will finish with them and their company, its a pity.

Thanks all for your help! long life to virtualmin!

And now, Murphy’s law… after all this thing moving from centos 6, to 7 temporary, and finally 8, I find this xD: https://blog.centos.org/2020/12/future-is-centos-stream/

Update, discussion abut this on: Centos 8 lifecycle end 2021

1 Like

Another example of why I’m never in a hurry to upgrade if the current version is meeting my needs. My days as an early adopter / beta tester ended a long time ago.

Richard

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.