sichere PHP Umgebung mit suPHP und Virtual Hosts

Apache, Lighttpd, nginx, Cherokee
Post Reply
in2fire
Posts: 19
Joined: 2003-09-21 22:38
 

sichere PHP Umgebung mit suPHP und Virtual Hosts

Post by in2fire »

Ich versuche unter Suse mit Apache und mod_php5 eine sichere PHP Umgebung einzurichten, auf der ich einen xtCommerce und Webspace für mehrere Nutzer betreiben kann.

openbasedir habe ich gesetzt. Es besteht allerdings noch das Problem, dass die User sich gegenseitig in die Dateien schauen können.

Lösungsansatz 1 suPHP:
Zuerst habe ich eine suPHP Installation ausprobiert.
Ich habe suPHP mit --with-apxs=FILE: als Parameter kompiliert.
Das compilen hat keine Fehler ergeben und die Dateien wurden erstellt (mod_suphp.so).
Allerdings hat apxs in den config Files garnichts verändert.

Wenn ich in der /etc/apache2/syconfig.d/loadmodules die Einstellungen anpasse verschwinden diese nach einem /etc/init.d/apache2 restart.

Nach einem apache2ctl restart ist PHP deaktiviert. Ich kann die PHP Dateien downloaden.
suPHP_Engine on habe ich in der httpd.conf eingestellt.
Es handelt sich übrigens um einen Apache 2.0.53.

Ausgabe von httpd2 -l:

Code: Select all

Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
Lösungsansatz 2 Virtuelle Hosts:
Danach habe ich versucht einen Vhost für den xtCommerceshop einzurichten und einen für die restlichen User.
xtCommerce soll sich nicht mit SafeMode vertragen, daher will ich einen vhost für xtCommerce ohne SafeMode und einen anderen mit SafeMode einrichten.

Ich habe den ersten Vhost auf die die ip eingestellt und den zweiten auf die vorhandene Domain.

Allerdings erhalte ich folgende Fehlermeldung:

Code: Select all

[Thu Jun 01 15:04:56 2006] [warn] VirtualHost 81.169.130.164:80 overlaps with VirtualHost www.ebbix.com:80, the first has precedence, perhaps you need a NameVirtualHost directive
Als Nameserver habe ich Bind9 über yast installiert.
Jedoch auch ohne Erfolg.

Vielleicht gibt es ja auch noch andere Lösungsansätze oder jemand kann mir verraten wie ich einen der beiden Lösungsansätze zum laufen bringe.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: sichere PHP Umgebung mit suPHP und Virtual Hosts

Post by Roger Wilco »

in2fire wrote:Wenn ich in der /etc/apache2/syconfig.d/loadmodules die Einstellungen anpasse verschwinden diese nach einem /etc/init.d/apache2 restart.
Deswegen schreibt man so Sachen bei SuSE ja in /etc/sysconfig/apache2
in2fire wrote:Nach einem apache2ctl restart ist PHP deaktiviert. Ich kann die PHP Dateien downloaden.
suPHP_Engine on habe ich in der httpd.conf eingestellt.
Wenn das das einzige ist, was du gemacht hast, lies lieber nochmal die Installationsanleitung durch, die dem Tarball beiliegt.
in2fire wrote:Allerdings erhalte ich folgende Fehlermeldung:

Code: Select all

[Thu Jun 01 15:04:56 2006] [warn] VirtualHost 81.169.130.164:80 overlaps with VirtualHost www.ebbix.com:80, the first has precedence, perhaps you need a NameVirtualHost directive
Na also, in der Warnung stehen doch alle relevanten Informationen drin.
Du willst auf jeden Fall gründlich http://httpd.apache.org/docs/2.0/vhosts/name-based.html lesen.
in2fire
Posts: 19
Joined: 2003-09-21 22:38
 

Re: sichere PHP Umgebung mit suPHP und Virtual Hosts

Post by in2fire »

In der Installationsanleitung von suPHP steht:
If you have already running Apache with mod_so (DSO-support), mod_suphp
should have been installed to your Apache server automatically.
Das hat er allerdings nicht gemacht. Mich würde an dieser Stelle interessieren, wieso er das nicht gemacht hat.
Alle gängigen HowTos gehen einfach davon aus, dass soetwas funktioniert und sind mir damit auch keine große Hilfe.

Code: Select all

AddHandler x-httpd-php .php
Diese Zeile habe ich auch einmal eingefügt, hat aber auch nichts gebracht.


Diese Vhostseite habe ich gelesen bin daraus aber bisher nicht wirklich schlau geworden.

Probiere ich es halt die Seite nochmal zu lesen :).
in2fire
Posts: 19
Joined: 2003-09-21 22:38
 

Re: sichere PHP Umgebung mit suPHP und Virtual Hosts

Post by in2fire »

Gut Problem gelöst.

Habe nur ein NameVirtualHost in der httpd.conf benötigt benötigt.
Das hätte man mir trozdem mal verraten können :D.
Post Reply