PDA

Bekijk Volledige Versie : PHP5 als CGI op DirectAdmin



Wido
24/01/06, 19:30
Beste,

Al een tijdje probeer ik op een DirectAdmin server PHP5 naast PHP4 te installeren.

Allemaal leuk en aardig, maar ik blijft steeds 500 Internal Server error krijgen.

Ik heb in /var/www/html een phpinfo gezet en die werkt: http://85.92.129.50/phpinfo.php5

Echter, zet iemand in zijn homedir een bestand met de extensie .php5, krijgt deze een internal server error, met als error in de log:

Premature end of script headers: /opt/php5/bin/php

Nu denk ik dat dit komt door suExec en dat bevestigd de log ook:


[2006-01-24 18:23:07]: info: (target/actual) uid: (<user>/<group>) gid: (<user>/<group>) cmd: php
[2006-01-24 18:23:07]: error: target uid/gid (1007/1007) mismatch with directory (0/0) or program (0/0)

Kan je exceptions maken voor binaries die van root mogen zijn?

Stukje httpd.conf


# PHP 5 Implementatie
ScriptAlias /php5/ /opt/php5/bin/
<Directory /opt/php5/bin/>
Options +ExecCGI
AllowOverride All
</Directory>

AddType application/x-httpd-php-5 .php5
Action application/x-httpd-php-5 /php5/php


De Apache manual over suExec is nou niet erg geweldig.

t.bloo
24/01/06, 22:29
ik ken het probleem, suexec doet altijd moeilijk. sinds we overgestapt zijn naar een zelf aangepaste mod_ruid nergens meer last van. maar of dat dit probleem ook oplost weet ik niet.

Wido
29/01/06, 22:09
Ik heb niet zo'n zin om DirectAdmin geheel te gaan verbouwen.

je bedoeld neem ik aan mod_suid ipv mod_ruid?

mod_suid vind ik niet al te veilig op een DA systeem.

t.bloo
29/01/06, 23:55
Nee ik bedoel daadwerkelijk mod_ruid, dat is een ding dat gebruik maakt van een feature die de Linux kernel wel heeft maar andere kernels niet. Het is hierdoor simpel en elegant.

Wat dat met DA te maken heeft weet ik niet, wij hebben het (eerst iets uitgebreid voor iets beter gebruik van filerechten en toen) gewoon als extra module aan de los-staande Apache toegevoegd en het werkt vooralsnog prima.