Apache2 richtige Konfiguration

ReduX

New Member
Hi,
Ich habe mehrere kleine Websites auf meinem Server.
Für jede Website habe ich einen systemuser ohne shell erstellt.
Per Vhost leite ich die Websites in den home Ordner der User.
Das default Verzeichnis des FTP Servers ist der Home Ordner des Users.

So nun habe ich das Problem das PHP Skripte dort keine Dateien löschen oder hochladen können da der Ordner ja dem User gehört aber das PHP Skript über den Apache User läuft.
Ebenso kann ich mit FTP keine Files löschen die von PHP erstellt wurden.

Ich möchte deshalb die Struktur komplett ändern.
Ich habe mir gedacht ich erstelle im Root System einen Ordner names htdocs.
In dem Ordner sind nun jeweils verschiedene Unterordner mit den verschiedenen Websites, dort soll mann dan auch Files per FTP hochladen können.
Aber wie konfiguriere ich das richtig, da wenn ich den Ordner als root anlege können PHP skripte da wieder keine Ordner und so anlegen bzw. ich kann dann mit FTP nicht darauf zugreifen.
Als zweites Ziel wollte ich mir noch setzen, das die einzelne Unterordner eine disk_quota haben. Ist dies mit einzelnen Ordner möglich bzw. wie richte ich es ein?

Fragen über Fragen :o
MFG ReduX
 
Aber wie konfiguriere ich das richtig, da wenn ich den Ordner als root anlege können PHP skripte da wieder keine Ordner und so anlegen bzw. ich kann dann mit FTP nicht darauf zugreifen.
SuPHP, SuExec, you name it...

Als zweites Ziel wollte ich mir noch setzen, das die einzelne Unterordner eine disk_quota haben. Ist dies mit einzelnen Ordner möglich bzw. wie richte ich es ein?
Disk Quotas können für Benutzer oder Gruppen vergeben werden, aber nicht für einzelne Ordner.
 
Das Problem, dass Scripte nicht drauf zugreifen können, hast du aber auch mit der zweiten Lösung.
Abhilfe schafft da, die Berechtigungen der Dateien später manuell anzupassen, damit jeder Benutzer Zugriff darauf hat.
Oder du schiebst jeden Benutzer mit in die Gruppe, unter der der Apache-Server ausgeführt wird.

Das ist dann aber auch immer ein gewisses Sicherheitsrisiko, denn du musst bedenken, dass durch eventuelle Sicherheitslücken dann alle Dateien auf dem Webspace geändert werden können!
 
Tag,
Danke für eure Antworten.
Aber was würdet ihr mir mehr empfehlen SuPHP oder den Benutzer in die APache Gruppe verschieben.
1.) Bezüglich Sicherheit: In den VHost's habe ich mittels php_admin_value open_basedir /Verzeichnis, die Zugriffsrechte über PHP begrenzt, ist dies jedoch wirklich sicher?
2.) Ich habe vor einem Kollegen etwas Webspace zur Verfügung zu stellen, dieser nutzt jedoch Perl, was muss ich da beachten (habe mit Perl nichts am Hut).

MFG ReduX
 
Hi,
Habe gelesen das SuPHP Perfomance lästig sei, bzw. wo liegen die Nachteile wenn ich den User in die Apache Group hinzufüge?

Nein, wird es nicht. Der Safe Mode fällt weg, aber der hat mit den open_basedir Restrictions nichts zu tun.

OK, ist das nun ein außreichender Schutz oder nicht?

Schönen Abend noch!
MFG ReduX
 
Abend,
Als kleiner Teil eines größeren Sicherungskonzepts? Ja.
Was könntest du mir noch empfehlen?

Weiterhin frage ich mich warum ich SuPHP nehmen soll, obwohl es ziemliche Performance einbusen gegenüber einer Gruppe hat.

MFG ReduX
 
Moin,
Hab nun mit suPHP rumprobiert jedoch läuft es nicht :mad:
Ich bekomme bei einem PHP Script immer ein 500er Fehler, html läuft.
Ich bin nach folgendem Tut vorgegangen:
How To Set Up suPHP On A Debian Etch Based ISPConfig Server | HowtoForge - Linux Howtos and Tutorials
Jedoch habe ich den Teil mit ISPConfig weggelassen da ich es nicht nutze, außerdem habe ich die neuere suPHP 0.6.3 verwendet.
Hier noch ein Ausschnit aus meiner Vhost:
DocumentRoot /home/MEINESEITE/server/www
suPHP_Engine on
suPHP_UserGroup MEINUSER www-data
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php

Bzw. die Gruppe benötige ich doch eig. nicht oder?

Schöne Nacht noch.
MFG ReduX
 
Tag,
Also in der Log steht:
[Sat Aug 09 01:05:26 2008] [warn] UID of script "/PFAD/info.php" is smaller than min_uid
[Sat Aug 09 01:05:32 2008] [warn] UID of script "/PFAD/info.php" is smaller than min_uid
[Sat Aug 09 01:05:38 2008] [warn] UID of script "/PFAD/info.php" is smaller than min_uid
[Sat Aug 09 01:10:09 2008] [warn] Mismatch between target GID (33) and GID (1004) of file "/PFAD/index_.php"
[Sat Aug 09 01:10:15 2008] [warn] Mismatch between target GID (33) and GID (1004) of file "/PFAD/index_.php"
Gibts da irgendwie probleme mit der Gid des users? Bzw. in der Vhost ist der User korrekt eingetragen, aber kann es auch an der Gruppe (www-data) liegen?
Ich habe wie oben schon geschrieben in der Vhost jweils den User der Page eingetragen und halt noch die Apache2 Gruppe, aber ist dies so auch korrekt?

MFG ReduX
 
Hi,
Habe in der Konfig die Werte beide auf 10 gestellt, aber es kommt immernoch ein 500er. Apache wurde neugestartet, aber in der Log steht nix neues.

MFG ReduX
 
Das Problem, dass Scripte nicht drauf zugreifen können, hast du aber auch mit der zweiten Lösung.
Abhilfe schafft da, die Berechtigungen der Dateien später manuell anzupassen, damit jeder Benutzer Zugriff darauf hat.
Oder du schiebst jeden Benutzer mit in die Gruppe, unter der der Apache-Server ausgeführt wird.

Für ähnliche Anforderungen habe ich ein etwas komplexeres Setup gebaut, bei dem ein Apache als Proxy agiert und jeder Benutzer einen eigenen Apache hat. Funktioniert einwandfrei, allerdings ist das ganze etwas schwierigerer zu installieren, weil man damit jegliche vorgegebenen Automatismen verlässt.
 
bei dem ein Apache als Proxy agiert und jeder Benutzer einen eigenen Apache hat
Wäre für mich Leistungsverschwendung hoch zehn.
Funktioniert einwandfrei, allerdings ist das ganze etwas schwierigerer zu installieren, weil man damit jegliche vorgegebenen Automatismen verlässt.
Man kann alles Installieren wenn man die Doku ließt :rolleyes:

Aber back Topic:
Könnte es auch daran liegen, das ich wie in dem Tutorial beschrieben steht, die zwei Zeilen Code mit den neuen ersetzt habe? Da meine Benutzte Version ja etwas neuer war?

MFG ReduX
 
Könnte es auch daran liegen, das ich wie in dem Tutorial beschrieben steht, die zwei Zeilen Code mit den neuen ersetzt habe?
Nein. Grundsätzlich sollte man Source-Patches aber nicht anwenden, wenn man nicht weiß, was sie bewirken. :rolleyes:

Wieso weist du den Skripten nicht einfach eine UID und eine GID über 1000 zu, so dass sie damit ausgeführt werden?
 
Wäre für mich Leistungsverschwendung hoch zehn.

Kommt drauf an; Leistungseinbussen bei der Seitenauslieferung habe ich keine beobachtet; und das bisschen mehr an Speicher geb ich gerne her, wenn ich mir dadurch das Gebastel mit suphp und Konsorten einsparen kann.
 
Tag,
Laut /etc/passwd haben die User alle eine GID über 1000.
Oder liegt es bei meiner Vorhgehensweiße:
Ich legen einen User ohne Shell an, der in der Gruppe ftpusers ist.
Als FTP läuft ProFTPd der Usern die in der ftpusers Gruppe sind einen Zugang via FTP bereitstellt.
So habe ich dann auch mit dem jeweiligen user die Files hochgeladen, also gehören sie doch auch dem entsprechenden User.

MFG ReduX
 
Back
Top