httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens-U. Mozdzen" <jmozd...@nde.ag>
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 <remco@beryllium.net>:

> 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

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 ;)

Regards,
Jens


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


Mime
View raw message