![]() |
Apache Webserver und 20 Benutzer!
Hallo alle zusammen!
Ich möchte gern mit meinen Apache server einen Webserver für 20 benutzer machen. Dh. 20 leute die auf dem server ihr eigenens verzeichniss haben (das hab ich schon gemacht) und die dann eben ihre webs uploaden können und eben bearbeiten. Jetzt wollt ich nur fragen, wie ich das anstellen soll, bzgl Passwörter und so, einen Samba server hab ich nebenbei auch noch laufen, damit die leute auf ihre verzeichnisse zugreifen können. Allerdings jedesmal wenn ich mich von einer nt station auf ein linux home verzeichniss möchte, schreibt er mir das man sich von dieser station aus nicht anmelden kann. Kann mir da vielleicht jemand helfen? Es wär cool wenn für jedes Homeverzeichniss ein eigenes Passwort wäre. Die internetseiten die die leute dann uploaden müsste dann ja so erreichbar sein: http://apacheserver/homeverzeichniss oder? Die 20 benutzer hab ich bereits angelegt, allerdings noch ohne passwort. Ich hoff ihr könnts ma a bissal helfen, ich verwende übrigens Suse 7.0 danke schonmal cu Ghandi |
Re: Apache Webserver und 20 Benutzer!
Zitat:
Siehe: http://www.mindspring.com/~aegreene/...ion-HOWTO.html ad 2. Wenn die Homeverzeichnisse im Apache Document Root liegen schon. Ansonsten sollte ein Symlink nach /home/XXX helfen. HTH, citizen428 |
HI,
danke für deine Hilfe, ich hab allerdings noch folgendes Problem, ich kann den Server nicht auf den PDC hängen, weil das ganze in einen eigenen Netz gemacht wird. Dh. der Rechner steht einfach so im netzwerk mit einer IP Adresse und sonst nix. Ich hab jetzt mal ein wenig herum probiert, das mit dem Samba server versteh ich nicht ganz, brauch ich den überhaupt? Ich meine wenn ich die benutzer mit den Passwörtern am server angelegt habe, hat doch jeder einzelne sein eigenes Profil web01 - web20, und die user haben mit ihren eigenen Verzeichniss eh immer alle rechte. Ich weiß nur nicht ob ich es vielleicht zum upload brauchen könnte?? Bitte helfts ma da a bissal... danke Ghandi |
Über FTP geht es auch.
Nur angeben welches Verzeichnis zu welchem Benutzer gehört. Dann kann der User nur auf sein verzeichnis zugreifen. Entweder direkt im Configfile von zb WU-FTP oder in der passwd das Homeverzeichnis bestimmen. Sloter |
Zitat:
@Sloter: Moment, sag mir bitte wo ich auf der Leitung stehe: was hindert den User daran einfach mit cd das Verzeichnis zu wechseln? |
Zitat:
Peter |
hey cool, danke für die ganzen Beiträge, ich hab das jetzt mit dem FTP gmacht, und auch geschafft, jetzt hab ich allerdings noch ein Problem, wie mach ich das nun, das man am server jede von diesen 20 sites auch ansehen kann?
Ich kann am Server ja nur einen Pfad angeben als dokumentroot, könnts mir bitte genau sagen wie ich das dort eintragen kann, oder wie das mit den links funktioniert, tut ma leid i bin kein linux profi :) bis jetzt hat des nämlich net funktioniert mit "servername/verzeichniss" hoffentlich könnts ma helfen! würd mi sehr freuen über eure Hilfe, danke schonmal! Ghandi |
Zitat:
Aber chroot ist sicher der Idealfall, da hast du schon recht. citizen428 |
@ghandi
Wenn du als Dokumentroot anegeben hast zB /usr/local/httpd/htdocs Dann mußt du nur die weiteren Verzeichnisse in htdocs anlegen. /usr/local/httpd/htdocs/verzeichnis1 /usr/local/httpd/htdocs/verzeichnis2 usw... Dann kannst du es aufrufen http://servername.oder.ip/verzeichnis1 Du mußt nur eine index.htnl reinlegen und auf Groß/Kleinschreibung achten. @citizen Na ja, wenn es das Homeverzeichnis ist, kann er nicht oberhalb hinauf. Ghandi muß nur aufpassen das die User keinen SSH-Zugang haben, dann können sie Datein öffnen aber nicht bearbeiten. Sloter |
Zitat:
|
Eigentlich dürftest du nicht in das Homeverzeichnis von einem anderen User kommen.
Wenn schon dann kannst du aber nichts öffnen,ändern,downloaden. Geht trotzdem eines von den drei vorher beschriebenen Sachen, dann stimmt was nicht. Sloter |
Hi alle zusammen
und gleich mal danke für die beiträge, ich kann leider erst jetzt antworten, weil übers we war i net da! :) auf jeden fall hab ich das mit den Verzeichnissen schon versucht, dann schreibt er mir beim starten schon einen syntax fehler in der httpd.conf ich hab das nur nicht so versucht wie da slooter sondern folgendermaßen: /home/user1 /home/user2 /home/user3 das hat nicht funktioniert, i werds jetzt noch so versuchen wie da slooter sagt, aber könnts mir dann noch sagen wie und wo ich einstellen kann, das nur der user auf sein verzeichniss zugreifen darf dem es auch gehört? mei des wär supa, danke auf jeden fall! cu Ghandi :) |
Hallo
Die Pfade darfst du nicht in die httpd.conf schreiben, da ist nur ein Documentroot zulässig. Also :) In die httpd.conf schreibst du nur DocumentRoot /usr/local/httpd/htdocs/ Natürlich kannst du den Pfad selber bestimmen, bin jetzt von einer Suse installation ausgegangen. Danach den Apache neu starten /etc/init.d/apache restart Danach erstellst du die Verzeichnisse /usr/local/httpd/htdocs/webseite1 /usr/local/httpd/htdocs/webseite2 /usr/local/httpd/htdocs/webseite3 usw..... In jedes Verzeichnis legst du eine index.html rein. Dann kannst du die verschiedenen Webseiten folgend aufrufen http://ip.oder.Computername/webseite1 So das währe der erste Teil. Jetzt kommen wir zu den Usern. Du brauchst später für jede Webseite einen eigenen User. User: Webseite1 Paßwort: bestimmst du beim erstellen des Users. Jetzt kommen wir zum Zugriff mit FTP. Da gibt es jetzt zwei Möglichkeiten das jeder user nur in sein Verzeichnis kann. 1, Du änderst den Pfad in der httpd.conf auf /home/ Dann brauchst du eigentlich nichts mehr machen (Wenn du Suse verwendest) Wenn du das erste Mal mit einem User einsteigst, wird automatisch das Homeverzeichnis für den User erstellt. Also, User hat den Namen webseite1 dann wird ein Verzeichnis erstellt mit dem Namen webseite1 im Homeverzeichnis (/home/verzeichnis1) Der FTP-Server ist standardmässig auf das jeweilige Homeverzeichnis des User konfiguriert. Dann kann der User webseite1 sich mit FTP auf den Server verbinden und gelangt nur in sein Verzeichnis (webseite1) 2, Dem FTP-Server für jeden Userso konfigurieren das /usr/local/httpd/htdocs/webseite1 sein Verzeichnis ist, auf das er zugreifen kann. Sloter |
Sloter, kannst dir ja garnet vorstellen wie dankbar ich für deine hilfe bin, allerdings muss i leider sagen bring i des no net so ganz hin.
Es is folgendes: Ich hab das mit dem FTP schon gemacht, und alle 20 user kommen mit passwort nur in ihr verzeichniss. das dokumentroot in der httpd.conf hab ich auf /home/ und in den userverzeichnissen (web01, web02 ...usw) hab ich überral eine index.html reingelegt. Wenn ich jetzt "http://rechnername od. ip/web01 oder web02 usw" eingeb, dann kommt garnix. Dann hab ich es so gemacht, das ich in einen userverzeichniss ein anderes verzeichniss erstellt habe, was den namen "site" hat, dann hab ich darin eine index.html reingelegt und hab das ganze nochmal versucht mit http://rechnername/web01/site dann schreibt er mir den 403 Forbidden error, eben das ich keine rechte habe. Ist es nicht möglich die homeverzeichnisse der user gleichzeitig eben als die verzeichnisse zu verwenden wo später dann die sites upgelodet werden? Und meine nächste frage, bezieht sich auf den ftp, wie bitte kann ich den denn so konfigurieren, das jeder user nur auf dieses eine verzeichniss zu greifen kann? Es tut ma leid, vielleicht stell i mi nur blöd an aba i kriag des echt net hin :( danke nochmal für deine hilfe.. Ghandi |
das mit der forbidden fehlermeldung is ma grad jetzt klar worden, weil ich das verzeichniss ja in einen userverzeichniss drinnen ghabt hab, alles klar :) ich hoff ihr könnts ma aber bei den anderen problemem helfen, ich hab jetzt auch ein verzeichniss einfach in home erstellt und ein index file reingelegt, und dann eben mit computername/verzeichniss das ganze versucht, is aber auch net gangen *verzweifel* :(
Ghandi |
Hm,nicht verzweifeln, das griegen wir schon hin, schreib einmal die Url aus.
http://ip/user1/index.html Vielleicht antwortet er nicht auf .html sondern .htm, weiß jetzt nicht die Grundeinstellung in der httpd.conf. DirectoryIndex index.html index.htm index.php Hat der Server eine offizielle IP? <Ist es nicht möglich die homeverzeichnisse der user gleichzeitig <eben als die verzeichnisse zu verwenden wo später dann die sites <upgelodet werden? Na klar du brauchst nur dasStammverzeichnis für die Userverzeichnisse in der httpd.conf angeben. DocumentenRoot /home/ Sloter |
Hi Sloter!
Ich hoff wir schaffen des, jo :) Also, ich hab das DokumentRoot bereits auf /home/, wenn ich den pfad genau angebe so wie du mir das sagst, dann bekomme ich eben diese forbidden warnung, ich nehm an das dies daran liegt, das ich eben auf ein user verzeichniss zugreifen möchte, auf das natürlich nur der user selbst, die vollen rechte hat?! Der Server hat übrigens eine offizielle IP er bekommt sie von einen dhcp server. Der DirectoryIndex ist übrigens auf index.html. Ansonsten, lös ich es eben so das ich für jeden benutzer ein neues verzeichniss anlege und eben die sicherheits einstellungen übern ftp mache. Ich hab jetzt auch folgendes versucht, ich hab die rechte eines userverzeichnisses für alle auf lesen und ausführen gestellt, das hat auch nicht funktioniert, immer wieder diese forbidden nachricht. Die kommt aber allerdings auch nur dann, wenn ich den direkten Pfad eingeb. Also ich seh mich voll net mehr raus :( Ghandi |
Hallo!
Ich hab das bei mir so gelöst.... * die User wurden mit home-Verzeichnis in /usr/local/httpd/htdocs/IhrVerzeichnis angelegt (im Yast) * die User sind Mitglied in der Gruppe www. * die UMask fürs Uploaden der Dateien ist so eingestellt: "rw-r--r--" -> user:deinuser group:www -> damit kann der Apache, der in der Gruppe www läuft (SuSE) auch darauf zugreifen (lesen). Ausführbar müssen die Dateien nicht sein, auch nicht wenn man php verwendet. Der ftp-Upload geht mit proftpd, bei dem es die Einstellung DocumentRoot ~ gibt, so daß kein User aus seinem home rauskommt. Im WuFTPd gibts sicher eine äquivalente Option. Dann braucht keine Symlinks oder sonst was. hth, Roland |
Hi kingchaos, tut mir leid, ich kann dir leider nicht so ganz folgen. Dein dokumentroot in der httpd.conf wie sieht das aus? und wo und wie kann ich meinen ftp konfigurieren? und was ist die Umask? tut mir leid, aber bin bei linux noch ein ziemlicher newbie.
Grundsätzlich möchte ich es ganz einfach und normal schaffen und zwar so. *20 User (web01 -web20) *Die Homeverzeichnisse der User (web01...web20) sind gleichzeitig die upload verzeichnisse (hab ich bereits geschafft) *Die 20 Siten sollten unter http://computername.od.ip/userverzeichniss erreichbar sein. das möcht ich gern so hinbekommen, kann ja nicht so scher sein oder? Ghandi |
Ok ok...
das document root in der httpd.conf ist das standard-suse /usr/local/httpd/htdocs/. für den upload hast du einen ftp-daemon. welcher das bei dir ist, weiß ich nicht, ich empfehle proftpd (is bei der suse dabei -> und leicht zu confen) in der conf-datei deines ftp-daemons (zb. /etc/proftpd.conf kannst du verschiedene dinge einstellen: zb. den "Modus", mit dem upgeloadete Files erzeugt werden sollen (also die Rechte). Das ganze nennt sich Umask (man umask (?)). Ebenso, daß die User in ihrem home gefangen sind. die Homes der einzelnen User sind bekanntlich unterhalb von /usr/.../htdocs/ angelegt (mit Yast, wenn du die Verzeichnisse schon vorher anlegst (mkdir), kopiert Yast die ganzen rc-Dateien (die mit "." vorn im Namen) nicht ins Verzeichnis (sehr praktisch). Weil die einzelnen User Mitglieder in der Gruppe "www" sind (Yast) - wie der Apache auch - kann dieser auch auf die Files zugreifen, wenn sie mit eben der richtigen Umask erstellt worden sind (group readable, beispiele im man zu umask, bzw in der conf des ftpd). Alles hier bezieht sich auf die SuSE-Distri. so long Roland |
muss ich denn das DokumentRoot in der httpd.conf auf den standard lassen? oder kann ich nicht einfach eben zB.: /home/ nehmen? weil bis ich mal die ganzen verzeichnisse eingegeben habe, werd i alt und grau harrig! :) i mein net das ich langsam im tippen bin, aber wenn i den pfad für 20 benutzer angeben muss... ;)
aber danke für deine HIlfe ich werd das jetzt mal mit dem ftp machen und mit der www gruppe (obwohl die bei mir noch garnicht angelegt war und der apache aber schon längst lief)? danke nochmal.. Ghandi |
müssen tust natürlich gar nix, ich habs irgendwie übersichtlicher gefunden....
das einzige worauf du genau aufpassen mußt, ist, das die Datein die richtigen Rechte kriegen, wenn sie von den Usern angelegt (geuploadet) werden (siehe dazu das Manual deines bevorzugten ftpd). Damit der Apache darauf zugreifen kann. Sprich: sie müssen zumindest für "others" readable sein. Das mit der Gruppe "www" ist eher was Kosmetisches, ich finde damit ist es übersichtlicher... Ist aber natürlich geschmackssache. In der httpd.conf sollte user und gruppe, mit denen der Apache läuft, ziemlich weit oben stehn, wenns mich nicht täuscht. Da mal reinschaun. Greetz Roland |
kleine korrektur:
der apache rennnt als "nogroup" deshalb verrgiß, was ich zur www-group gesagt hab. Sorry. is schon zu lange her..... Beispiele zu UMASK findest du unter http://www.bu.edu/computing/acs/help/files/umask.shtml |
Das mit der Gruppe des Apache ist distributionsabhängig. Auf meinem Debian (Potato) gehört der httpd zur Gruppe www-data. Ansonsten kenn ich noch nobody und www.
|
so nun hab ich alles gemacht, jetzt versteh ich das ganze auch etwas mehr, danke euch allen für eure Hilfe, allerdings hab ich noch ein problem, ich weiß nicht ob es ein großes ist oder ein kleines.. folgendes..
ich geb nun zB. folgendes im browser ein: http://apacheserver/userverzeichniss wenn ich das eingeb dann kommt die fehlermeldung das er nix findet, wenn ich allerdings folgendes eingeb http://apacheserver/userverzeichniss/ dann findet er das index.html file und alles is super, kann ma des irgendwie umändern, das ich den letzten shlash nicht mehr eingeben muss? danke nochmal... Ghandi |
|
Zitat:
Überhaupt war dieser Thread für mich eine Super Lektion bzgl. Apache. Hoffentlich bringt -Ghandi- noch öfter solche Praxisnahen Fragen, denn was nützen kiloweise Handbücher wenn man nicht weiß wo anfangen, was ist vorrangig wichtig/brauchbar. :) |
warum verwendet ihr nicht die DAV erweiterung? mit der kann man unter windows direkt mittels http put reinspeichern, und der apache checkt das auch, sogar mit differenzierten permissions. das ganze ist eine reine apache loesung ohne ftp und samba und schnickschnack!
|
@paul: i glaub der grund warum niemand dieses DAV verwendet, is wohl der, weil in deinem Thread, Microsoft vorgekommen is :lol: *scherz*
Das mit dem Servernamen hat wirklich funktioniert, jetzt is mei apache fertig und funkt, zumindest am notebook, jetzt brauch i des ganze nur noch auf an gscheiten rechner machen und alles passt *happabin* Ich dank euch allen für eure Hilfe, könnts euch garnet vorstellen, wir mir des daugt, des gschafft zu haben. @allwissendeMüllhalde: i werd schaun was ich machen kann! :) Also dann bis zu meinem oder auch euren nächsten Problem! :) ein glücklicher und zufriedener Ghandi PS.: Danke nochmal! :) |
Zitat:
Ich habe leider schon so ziemlich alles vergeblich versucht: Eintragung 'umask 002' in /etc/profile, /etc/rc.d/apache2 und in /var/lib/wwwrun/.profile. Es ist SuSE 9.3 mit wwwrun für den Apache. Die Gruppe habe ich auf psaserv geändert. Ich möchte die Umask auf 002 setzen, damit FTP-Benutzer in der Lage sind, die vom Apache erzeugten Dateien zu löschen und ich auch eine Webapplikation laufen lassen kann. Bisher scheitert es daran, daß die vom Apache angelegten Dateien von der PHP-Anwendung nicht mehr geschrieben werden können. |
Apache übergibt dem PHPParser das Script.
User/Group sollte demnach gleich sein. Welche Webaplikation? Oft reicht auch ein chmod 777 auf ein Verzeichnis. Sloter |
Hallo, am besten schau dir das an:
http://httpd.apache.org/docs/2.2/vhosts/examples.html |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag