httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remco Poelstra <re...@beryllium.net>
Subject Re: [users@httpd] Mailman CGI scripts served instead of executed
Date Tue, 01 Jul 2014 07:54:31 GMT
Op 30 jun. 2014, om 21:39 heeft Miles Fidelman <mfidelman@meetinghouse.net> het volgende
geschreven:

> Remco Poelstra wrote:
>> Op 30 jun. 2014, om 20:23 heeft Miles Fidelman <mfidelman@meetinghouse.net>
het volgende geschreven:
>> 
>>> Remco Poelstra wrote:
>>>> Op 30 jun. 2014, om 19:56 heeft Miles Fidelman <mfidelman@meetinghouse.net
<mailto:mfidelman@meetinghouse.net>> 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 lists.xxx
>>>>>> DocumentRoot /home/www/lists.xxx
>>>>>> ScriptAlias /mailman/ /var/www/w-lists/
>>>>>> 
>>>>>> SuexecUserGroup w-lists w-lists
>>>>>> 
>>>>>> <Directory /home/www/lists.xxx>
>>>>>> 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 127.0.0.1:56565] mod_fcgid: error reading data from
FastCGI server
[client 127.0.0.1:56565] End of script output before headers: listinfo

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


Remco


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message