Fcgid directive names

In my vhost file there are old directive names and new directive names related to Apache mod_fcgid. For example FCGIWrapper, IPCCommTimeout (old) and FcgidMaxRequestLen (new). Please update Virtualmin to new directive names: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html.

Thank you.

Status: 
Active

Comments

Title: Fcgid name directives » Fcgid directive names

Wow, they renamed existing directives? That's rather annoying, as it will break existing configurations. Will the old names eventually stop working completely?

It looks like a few of the directives were already changed in "virtual-server/php-lib.pl"

I just went through the entire file and have the following changes (this of course would not prevent the possibility of older versions working correctly):

40> foreach my $f (&apache::find_directive("FcgidWrapper",
227> local @wrappers = &apache::find_directive("FcgidWrapper",
288> local @wrappers = &apache::find_directive("FcgidWrapper",
332> &apache::save_directive("FcgidWrapper", \@wrappers,
423< &apache::save_directive("IPCCommTimeout", [ ],
524> local $v = &apache::find_directive("FcgidIOTimeout", $vconf);
968>    $mode eq "fcgid" ? "FcgidWrapper" : undef;
1040> "FcgidWrapper", $dirstr->{'members'});
1049> &apache::save_directive("FcgidWrapper", \@wrappers,
1074> push(@phplines, "FcgidWrapper $dest/php$ver.fcgi .php");
1079>      "FcgidWrapper $dest/php$v->[0].fcgi ".

Not sure but if you can detect for which fcgi module version is being used it could be changed to use the directives as needed one way or the other.

Let me know if there is anything I can do to help.

We can detect the FCGI version if needed. Which version did the directives change in though?

https://svn.apache.org/repos/asf/httpd/mod_fcgid/tags/2.3.8/CHANGES-FCGID

Looks like mod_fcgid 2.3.2

It notes: All directives have been renamed in order to use a common prefix "Fcgid". Underscores in directive names have been eliminated in favor of CamelCase. The old directive names will still work but are deprecated. To fix your configuration you can use the sed script build/fixconf.sed. The following tables contains old and new directive names.

Thanks. Is this the standard mod_fcgid version on Debian 7 now?

It looks like FCGID version 2.3.6 is the standard version on Debian 7.

I'm surprised that Virtualmin works at all on Debian 7 then ... unless mod_fcgid still accepts the old names?

All versions accept the old names -- at least for now.

Never know exactly when this will change.

FYI:

# cat /etc/lsb-release  
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

# dpkg -s libapache2-mod-fcgid
Package: libapache2-mod-fcgid
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 266
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 1:2.3.9-1
Depends: libc6 (>= 2.14), apache2-api-20120211
Conffiles:
/etc/apache2/mods-available/fcgid.load fbb7cd1c5adfa0960f86dcb4469aff97
/etc/apache2/mods-available/fcgid.conf 7632cb86b2fe5da436fc039ab2c38f48
Description: FastCGI interface module for Apache 2
This package contains mod_fcgid, a high-performance alternative to mod_cgi
or mod_cgid. It starts a sufficient number of instances of the CGI program
to handle concurrent requests. These programs remain running to handle
further incoming requests.
.
It is a binary-compatible alternative to Apache module mod_fastcgi.
Original-Maintainer: Felix Geyer <fgeyer@debian.org>
Homepage: http://httpd.apache.org/mod_fcgid/

Ah, the original request was for Debian 7, but I think rsecor is saying that he's using Ubuntu 16.04 with FCGID version 2.3.9.

Yeah, I just wanted to make sure the information was available while considering what to do.

Let me know if I can be of any help.

To keep the Virtualmin code simpler, we will likely continue to use the old directive names for a while since they still work - using different names is problematic, because it makes restoring backups on older systems hard.