# Apache chroot



## rambo (2. Februar 2011)

Hi!

Ich habe mehrere user auf einem Server. Diese sollen alle eine eigene Chroot Umgebung für den Apachen bekommen. Ich habe nun Mod_chroot gefunden, das ich aber nicht in vHosts benutzen kann. Anscheinend muss für jeden user ein eigener Apache Prozess gestartet werden.

Wie stelle ich das an?

Der Apache Server ist natürlich ein apache2, welcher mit suexec läuft. PHP läuft als fcgi.

Danke im Voraus.

Gruß
Max


----------



## Arne Buchwald (2. Februar 2011)

Hi Max,

dazu muesstest du separate jails erstellen, in denen dann jeweils alle benoetigten libraries reinkopiert werden. In dem Bereich gibt es einige Shell-Scripte, die dir das Erstellen der jail-Umgebung weitestgehend abnehmen. Allerdings sind das dann natuerlich nur die Basislibraries, damit du anschliessend per SSH connecten koenntest.

Es bleibt ja vermutlich nicht beim Apache, sondern deine User sollen ja wohl auch weiterhin PHP, MySQL, etc. pp haben. All das muesstest du in diesem Fall ebenfalls manuell ins jail kopieren. Wenn du diesen Ansatz weiter verfolgen willst, wuerde ich dir dazu raten, jeden User auf einem virtuellen System anzulegen. Dort koenntest du dann natuerlich wieder die Systemtools der Linux-Distribution nutzen.

Andernfalls sehe ich aus meiner Erfahrung nicht als Problem, mehrere User auf einem System unter einer Apache-Instanz zu fahren, solange die Rechte sauber gesetzt sind (u.a. PHP als fastcgi oder via suphp eingebunden ist).

Weitere Fragen natuerlich gerne.

Viele Gruesse,
Arne


----------



## rambo (2. Februar 2011)

Vielen Dank für die Antwort!

Der Apache braucht ja dann für jeden Jail einen eigenen Prozess, der dann z.B. mit /usr/sbin/chroot /var/www/customer/webx /usr/sbin/apache2 gestartet wird. Ist es möglich mehrere Apache-Prozesse zu starten, bzw. ist es überhaupt für mein Vorhaben nötig. Wenn ja, wie starte ich den Prozess?

Grüße
Max


----------



## Arne Buchwald (2. Februar 2011)

Hi Max,

klar kannst du mehrere Apache-Prozesse starten. Allerdings brauchst du dann fuer jeden Kunden eine eigene IP-Adresse, da sich mehrere Prozesse ja nicht den selben Port 80 teilen koennen. Fuer dein Vorhaben wird es kaum ein fertiges Script geben - muesstest du dir halt selbst schreiben (die chroot Aufrufe kannst du ja kurz via google nachgucken).

Wie bereits gesagt, warum bleibst du nicht bei fastcgi? Solange die Verzeichnisrechte richtig gesetzt sind, sind die Accounts auch vollstaendig voneinander getrennt.

Viele Gruesse,
Arne


----------



## rambo (2. Februar 2011)

Ich wollte beides beibehalten, chroot nur noch um alles noch sicherer zu machen. Aber dann ist das anscheinend nicht so einfach, wie ich dachte...


----------

