Apache 2 ITK MPM

Posted by web-rocker in Server

Nie wieder Rechteprobleme im Dateisystem! Klingt unglaublich? Ist es aber nicht, zumindest nicht für Entwicklungsumgebungen.

Die meisten Entwicklungsumgebungen sehen oft wie folgt aus:

  • – Linuxserver
  • – Samba-Freigabe vom Rootverzeichnis der Webservers oder einzelner Projekt-VHosts
  • – Apache Webserver mit VHosts für jedes Projekt
  • – Die Entwickler mounten die Samba-Freigaben und arbeiten auf ihnen

Nun kommen wir zum eigentlichen Problem: Der Apache erzeugt Dateien als Benutzer www-data in Gruppe www-data, die Entwickler als Benutzer entwicklerx in Gruppe users.
Natürlich kann man die Verzeichnisrechte durch Stickybits, PHP-Umasks usw. in den Griff bekommen. Das ist aber recht kompliziert und funktioniert auch nicht überall wirklich zuverlässig.

Mit dem Modul apache2-itk-mpm läuft der Webserver als Benutzer root und ist dadurch in der Lage für jeden VHost einen Worker-Thread mit der Identität eines normalen Benutzer zu starten. Für einen Livebetrieb ist das natürlich ein Sicherheitsrisiko, der Livebetrieb ist aber auch selten das Problem. Die Entwicklungsarbeit kostet und jeden Tag Nerven.

Und so funktioniert es am Beispiel eines Debianartigen Systems:

apt-get install apache2-itk-mpm

Jetzt können wir pro VHost den dazugehörigen Benutzer konfigurieren.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName projektx.devserver.local
    DocumentRoot /www/projektx/
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /www/projektx/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
    <IfModule mpm_itk_module>
        AssignUserId entwicklerx users
    </IfModule>
</VirtualHost>

Jetzt noch einmal den Apache durchstarten.

/etc/init.d/apache2 restart

Das wars schon!

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • LinkedIn
  • Technorati
  • StumbleUpon
  • Reddit
  • RSS Feed
  • Google
  • Design Bump

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>