Hallöchen Andreas,

in der httpd.conf steht unter anderem drin, unter welchem Benutzer und
welcher Gruppe der Apache (httpd) laufen soll, die stehen bei Dir
vermutlich noch auf www-data. Das kannst Du gern ändern, musst aber
aufpassen, dass der neue "geänderte" Benutzer noch auf die restlichen
Verzeichnisse zugreifen darf (pid-File, Apache-Logs, etc). Darüber
hinaus kannst Du Dich auch dazu entscheiden, PHP nicht als Modul
sondern als Fast-CGI laufen zu lassen. Du hast dann also zwei
"Zugriffsmodi" ... normale html-Dateien werden vom Apache-Benutzer
ausgeliefert, der muss also Zugriff auf die Dateien haben (lesend
reicht aus), also entweder den Apache-Benutzer in die Gruppe des
Webseitenbenutzers einfügen oder aber den Webseitenbenutzer in die
Apache-Gruppe mit aufnehmen. PHP würde im Falle als Modul ebenfalls
mit dem Apache-Benutzer laufen, oder aber Du nutzt fastcgi, dann
kannst Du jedem PHP-Thread einen eigenen Benutzer geben.

Die Verzeichnisse, wo die Dinger starten sollen, kannst Du direkt im
vhost einstellen. Der Standard-Apache bringt ein Art "fallback" vhost
mit, der steht meist ebenfalls in der httpd.conf. Weitere vhosts
werden später meist includiert, da steht also irgendwo in Deiner
httpd.conf ein include mit einem "vhost" im Namen. Je nach Distri und
Installation des Apachen können das durchaus auch mehrere sein, daher
würde ich Dir vorschlagen, alle Includes die mit vhosts zu tun haben
rauszuwerfen und Dich auf eine zu beschränken, in der definierst Du
dann deine gesamten vhosts. Den "Standard" vhosts im Apachen schmeisst
Du ebenfalls noch raus und so können nur die, die Du in Deiner
einzelnen includierten Datei definiert hast dran kommen.

Ferner würde ich Dir empfehlen, für jede Webseite einen eigenen
Benutzer und eine eigene Gruppe mit seinem jeweiligen Document-Root
als Home-Verzeichnis anzulegen. Die Ordner könntest Du via Samba oder
FTP (ohne anonymous Zugriff) freigeben und schon kann jeder nur in
seinen Ordner rein. Bei Samba dann darauf achten, dass Du eine
authentifizierung mit schickst (security = user).

Ein vhost könnte beispielsweise wie folgt aussehen (hier in diesem
Falle mit php-fcgi

<VirtualHost *:80>
ServerName example.com
ServerAlias example.com *.example.com
DocumentRoot /home/example/
ServerAdmin [email protected]
Alias /fcgi-bin/ /pfad/zum/fcgi-Verzeichnis
</VirtualHost>

im fcgi-Verzeichnis muss dann eine php.ini und ein php-wrapper liegen
(gilt nur bei der Verwendung von fastcgi, im Falle von mod_php muss
die Zeile mit dem fcgi-bin entfernt werden)

ein paar Informative Links:
http://mein.homelinux.com/wiki/dienste/apache
http://web-rocker.de/2011/01/apache-2-itk-mpm/

Gruß Maddin


Am 02.03.2013 09:48, schrieb Andreas Oettel:
> Hallo Zusamman,
> 
> ich bastel gerade an einem Webserver für meinen Verein, meinem
> Bruder und mich. Ich möchte uns eine Plattform schaffen, auf der
> wir an den Webseiten basteln können, bevor wir sie zum richtigen
> Hoster umziehen und scharf schalten.
> 
> Distribution: Squeezer
> 
> Mein Problem: Normal liegen die Webseiten unter /var/www und können
> von Apache und root eingesehen werden. Standardmäßig stehen die
> Zugriffsberechtigungen auf 755 und Benutzer:Gruppe ist
> www-data:www-data
> 
> Ich möchte jetzt, dass meine Vereinskollegen, nicht in den anderen 
> Verzeichnissen rumkruschten können und umgekehrt. Sie aber über
> Samba und Joomla Dateien im Verzeichnis der Webseite ändern
> können.
> 
> Mein erster Ansatz: Ich lege einen Symlink im /home/[Benutzer] auf
> das entsprechende Verzeichnis. Dann ändere ich die
> Benutzerverhältnisse auf [Benutzername]:www-data Ich füge den
> [Benutzer] aber nicht der Gruppe www-data zu, da ich verhindern
> möchte, dass er überall reinschauen kann. (z.B. in die 
> Verzeichnissen der anderen Webseiten.)
> 
> Ergebnis: Ich kann als [Benutzer] zwar über Samba oder direkt
> zugreifen und schreiben, jedoch wenn ich aus joomla heraus Daten
> schreibe, bekommen die wieder den Eigentümer www-data:www-data. Ich
> müsste somit wieder die uid anpassen.
> 
> 
> Mein nächster Versuch war, die jeweiligen Webseiten in die 
> Benutzerverzeichnisse abzulegen und über einen Symlink in das 
> /var/www-Verzeichnis zu verlinken. Damit kommt aber Apache nicht 
> zurecht. Die Benutzerverzeichnisse sind bei mir Lesegeschützt.
> 
> 
> Wie geht man in meinem Fall vor? Kann ich dem Prozess Samba und
> Apache weitere Gruppenzugehörigkeiten zuweisen?
> 
> Viele Grüße Andreas
> 
> _______________________________________________ Lug-dd maillist  -
> [email protected] 
> https://ssl.schlittermann.de/mailman/listinfo/lug-dd
> 


_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an