Remco Poelstra wrote:
Op 30 jun. 2014, om 20:23 heeft Miles Fidelman <mfidel...@meetinghouse.net> het 
volgende geschreven:

Remco Poelstra wrote:
Op 30 jun. 2014, om 19:56 heeft Miles Fidelman <mfidel...@meetinghouse.net 
<mailto:mfidel...@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"

Cheers,

Miles Fidelman

--
In theory, there is no difference between theory and practice. In practice, there is. .... Yogi Berra

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

Reply via email to