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 webmaster@example.com 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 - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd