Re: Mailman CGI scripts served instead of executed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Remco,

Zitat von Remco Poelstra <remco@xxxxxxxxxxxxx>:

Op 30 jun. 2014, om 21:39 heeft Miles Fidelman <mfidelman@xxxxxxxxxxxxxxxx> het volgende geschreven:

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

Remco Poelstra wrote:
Op 30 jun. 2014, om 19:56 heeft Miles Fidelman <mfidelman@xxxxxxxxxxxxxxxx <mailto:mfidelman@xxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx





[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux