phpbar.de logo

Mailinglisten-Archive

[php] Mails von wwwrun

[php] Mails von wwwrun

Jens Giessmann jg at handcode.de
Die Aug 23 11:59:07 CEST 2005


Hi,

On Tue, Aug 23, 2005 at 03:26:17AM +0200, Joerg Windeler wrote:
> ich habe einen sogenannten Highendserver bei Strato mit Suse 9.? und
> Confixx. Einige Bekannte sind auch mit ihren Sites auf dem Server.
> Irgendwer von denen sendet haufenweise Mails per PHP-Skript, die
> Fehlermeldungen gehen alle an wwwrun zurück. Da PHP als Modul im
> Apache läuft werden die Skripte als wwwrun ausgeführt.
> 
> Ich möchte jedoch am liebsten, daß die Skripte mit dem User des
> Benutzers laufen und fand beim Googlen Hinweise auf Suexec und SuPHP.
> SuPHP funzt leider nur bei PHP als CGI und SuExec kann anscheinend
> nicht mit PHP konfiguiert werden.

Doch, du kannst das PHP fuer einen virt. Host XY unter SuExec laufen
lassen. Dazu kannst du in das entspr. SuExec-CGI Verzeichnis des
virt. Servers z.B. einen kleinen Wrapper legen welcher dann das
CGI-PHP aufruft und aenderst dann entspr. den Application-Type fuer
PHP Scripte dieses virt. Hosts.

Apache-Conf

<Directory DOCROOT>
  AddType application/x-php .php 
  Action application/x-php /~WWW-USER/php
</Directory>

> Auf dem Server ist PHP auch als ausführbare Datei in /usr/bin. Hat
> jemand einen Tipp, wie man das mit der vorhandenen Konfiguration lösen
> kann? Vielleicht über httpd.conf oder .htaccess?

s.o. wobei du aufpassen solltest, dass du auch ein PHP mit der CGI-API
verwendest und nicht das CLI (siehst du mit php --version in der
shell)

Wenn du PHP weiterhin als Apache-Modul laufen lassen willst, kannst du
das Problem mit den failed Mails an wwwrun aber auch so beheben, indem
du pro virt. Server den SENDER und den Return-path mit dem
sendmail_path als Parameter in der Apache-Conf angibst.

Fuer sendmail kompatible MTAs sieht das dann so aus:

<VirtualHost *>
#....
 
  php_admin_value sendmail_path '/usr/sbin/sendmail -t -fwebmaster at DOMAIN.DE'

#....
</VirtualHost>

Wobei du hier je nach MTA drauf achten musst, das dein Apache-User
diesen Mail-Haeder auch ueberschreiben darf.

Beim exim z.B. musst du deinen Apache-User in die Liste der
trusted_users eintragen.

[..]
trusted_users = root : exim : wwwrun
[..]

-- 
Gruss Jens

php::bar PHP Wiki   -   Listenarchive