httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens-U. Mozdzen" <>
Subject Re: [users@httpd] Mailman CGI scripts served instead of executed
Date Tue, 01 Jul 2014 09:20:55 GMT
Hi Remco,

Zitat von Remco Poelstra <>:

> Op 30 jun. 2014, om 21:39 heeft Miles Fidelman  
> <> het volgende geschreven:
>> Remco Poelstra wrote:
>>> Op 30 jun. 2014, om 20:23 heeft Miles Fidelman  
>>> <> het volgende geschreven:
>>>> Remco Poelstra wrote:
>>>>> Op 30 jun. 2014, om 19:56 heeft Miles Fidelman  
>>>>> < <>>
>>>>> het volgende geschreven:
>>>>>> Remco Poelstra wrote:
>>>>>>> Hi,
>>>>>>> I'm migrating a mailman server to a newer machine. The new  
>>>>>>> machine runs apache 2.4. My problem is that the mailman cgi 

>>>>>>> scripts are served instead of being executed.
>>>>>>> My configuration looks like the following:
>>>>>>> <VirtualHost *:80>
>>>>>>> ServerName
>>>>>>> DocumentRoot /home/www/
>>>>>>> ScriptAlias /mailman/ /var/www/w-lists/
>>>>>>> SuexecUserGroup w-lists w-lists
>>>>>>> <Directory /home/www/>
>>>>>>> Require all granted
>>>>>>> AddHandler fcgid-script .php
>>>>>>> Options +ExecCGI
>>>>>>> FCGIWrapper /var/www/w-lists/php5-cgi .php
>>>>>>> </Directory>
>>>>>>> </VirtualHost>
>>>>>>> In the document root there is a php script that redirects to
>>>>>>> /mailman/listinfo. The php5-cgi wrapper is in  
>>>>>>> /var/www/w-lists. The php script gets properly executed, but
>>>>>>> the mailman scripts (also in /var/www/w-lists) are served  
>>>>>>> directly instead of being executed.
>>>>>>> I've tried adding a "SetHandler fcgid-script" on the  
>>>>>>> /var/www/w-lists directory, but that gives me a server error.
>>>>>>> Basically the same configuration works nicely on the old  
>>>>>>> machine (running apache 2.2).
>>>>>> Silly question: are the any chance that the scripts aren't  
>>>>>> executable (chmod +x)?  Permissions can screw you - they're the 

>>>>>> first thing I always check.
>>>>> They are all -rwxr-xr-x and w-lists:w-lists, so I believe that's OK.
>>>> hmm....
>>>> Just to be clear - you're saying that SOME php scripts in  
>>>> /var/www/w-lists execute properly, and others (the mailman  
>>>> scripts) do not?
>>>> If that's the case, you might want to really carefully examine  
>>>> what's different between the scripts that run and the ones that  
>>>> download - things like perhaps .php vs. php5 suffixes, and such.
>>>> You might also want to look around for extraneous .htaccess files  
>>>> that have conflicting information than what's in your config file.
>>>> I guess you should also see if the .php setup is different on  
>>>> your new machine.
>>> To be more clear, ONLY the php script gets executed. The others  
>>> are ELF binaries and have no extension. So it's difficult to  
>>> compare why the php script works and the others do not. Maybe the  
>>> difference is that the php script itself is in the document root  
>>> and only the wrapper is in the scripts folder, while the other  
>>> scripts are called directly.
>>> There are no errors or warnings generated, apache just happily  
>>> hands over the binary file.
>> Now that's a whole other kettle of fish:
>> - So the AddHandler fcgid-script .php line is working properly, but,
>> - ScriptAlias /mailman/ /var/www/w-lists/  is not
>> Maybe try upping your log level and looking at what happens when  
>> you try to access one of the scripts - it might give you some clues.
>> And.. I think I just figured out what's happening: There's no  
>> handler defined for files that don't have a suffix.
>> You might try replacing the AddHandler line with "SetHandler  
>> fcgid-script" - which should make EVERYTHING in that directory  
>> executable.
>> On the other hand, if some files in that directory are NOT  
>> executable, then maybe do this instead"
>> - add a .fcgi extension to each of your binary scripts
>> - change the AddHandler fcgid-script .php to "AddHandler  
>> fcgid-script .php .fcgi"
> Adding an extension to the binaries had the same effect as adding the entry:
> <Directory /var/www/w-lists>
> 	SetHandler fcgid-script
> </Directory>
> I now get an Internal Server Error page and when I check the  
> error.log I see the output of the script, which is a basic html  
> page. It’s followed by:
> (104)Connection reset by peer: [client] mod_fcgid:  
> error reading data from FastCGI server
> [client] End of script output before headers: listinfo

are those binaries actually FastCGI binaries, or just CGI programs?  
FastCGI programs would run in a loop, handling one request after the  
other, by serving a specific API. Plani CGI programs are invoked once  
per HTTP request and output the complete response.

> The php wrapper keeps functioning like it should.
> Is this a step forward or a step backward?

Sideways, I'd say. You now get the programs called, but probably via  
the wrong interface ;)


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message