Userverzeichnisse für den Apacheserver einrichten

Alles, was den Apache betrifft, kann hier besprochen werden.

Userverzeichnisse für den Apacheserver einrichten

Postby wirgl77 » 19. November 2013 10:59

Hallo zusammen,

ich versuche mich gerade ins Thema Apache einzuarbeiten sitze hier gerade über einer Übungsaufgabe und komme nicht weiter. Es geht darum das man für 2 User genannte "happyuser" und "baduser"
eigene Benutzerverzeichnisse einrichten soll und stehe ich gerade auf dem Schlauch. Ich komme mit der Doku irgendwie nicht zurecht.

Ich habe in der httpd.conf diesen Eintrag schon mal drin:

Code: Select all
# User home directories
Include conf/extra/httpd-userdir.conf


Dann habe ich es weiter so verstanden das man unter \xampp\apache\conf\extra noch die Datei "httpd-userdir" bearbeiten muß
Die sieht bei mir jetzt so aus:
Dieser Eintrag ist von mir, der Rest stand schon drin:

<Directory D:/xampp/apache/users>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Code: Select all
<IfModule userdir_module>
# Settings for user home directories
#
# Required module: mod_authz_core, mod_authz_host, mod_userdir

#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.  Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir "My Documents/My Website"
UserDir /users

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#

     <Directory D:/xampp/apache/users>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>


<Directory "C:/Users/*/My Documents/My Website">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>


</IfModule>



Aber der Aufruf im Webbrowser http://exampleserver/~happyuser/ bring nur die Fehlermeldung "Error - 404 Objekt nicht gefunden"
Im Explorer habe ich unter "D:/xampp/apache/users" jeweils einen Ordner für happyuser und baduser angelegt und html-Dokumente eingefüllt.
Was mache ich falsch?

Vielen Dank für eure Hilfe.
wirgl77
 
Posts: 2
Joined: 19. November 2013 10:40
Operating System: Windows 8 Pro

Re: Userverzeichnisse für den Apacheserver einrichten

Postby Nobbie » 19. November 2013 12:24

wirgl77 wrote:Vielen Dank für eure Hilfe.


Lies noch einmal ganz in Ruhe diesen Abschnitt:

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Note that you must also set
# the default access control for these directories, as in the example below.


Du hast in d:/xampp/apache den Ordner users angelegt? Wozu? Das ist nicht das, was da oben steht. Das "home directory" eines Users (in diesem Fall also das Verzeichnis eines Windows Users) befindet sich ganz woanders. Wo ist das jeweilige Home Verzeichnis eines Windows Users? Das musst Du finden und dort für jeden Windows User (in Deinem Fall die User "happyuser" und "baduser") das Verzeichnis "users" anlegen. Wobei ich persönlich diesen Namen "users" (den Du ja ändern kannst) sehr schlecht gewählt finde, viel sinnvoller und sprechender wäre beispielsweise der Name "html" oder "www" oder ähnlich.

Damit das überhaupt funktioniert, musst Du als allererstes diese User auch in Windows anlegen, denn ohne User gibt es auch kein Home Verzeichnis.

Und abschließend musst Du dann auch die Rechte für die richtigen Ordner vergeben, nicht für d:/xampp/apache/users.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Userverzeichnisse für den Apacheserver einrichten

Postby wirgl77 » 20. November 2013 14:39

Achso!
Das habe ich wirklich total falsch verstanden.

Auf meinem Windows 8 Rechner liegt das Homeverzeichnis für z.B. happyuser unter
D:\Users\happyuser

darin habe ich jetzt einen neuen Ordner html angelegt.
Dann habe ich das als Userdir angegeben:

Code: Select all
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.  Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir html


Und danach auch ein paar Zugriffsrechte gesetzt (Das ist doch Pflicht, oder?)
Code: Select all
#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#

        <Directory D:/Users/*/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>


So müsste es doch eigentlich gehen?
Tut es aber leider nach 2h des rumprobierens immer noch nicht....
Die Fehlermeldung bleibt gleich.
Habe ich das noch einen Fehler in den beiden Direktiven?

Vielen Dank im Voraus.
wirgl77
 
Posts: 2
Joined: 19. November 2013 10:40
Operating System: Windows 8 Pro

Re: Userverzeichnisse für den Apacheserver einrichten

Postby Nobbie » 20. November 2013 14:52

Schau in den Error Log, da steht genau drin, was schief läuft.

P.S.: in den neueren Apache Versionen gibt es das

Order Deny, Allow
Allow From All

nicht mehr, stattdessen heißt es nun

Require all granted

Am besten schaust Du mal in die httpd.conf, was dort für das Standard DocumentRoot steht. Ich persönlich finde es zwar auch furchtbar, dass die Inkompatibilität geschaffen wurde, aber ich kann es leider auch nicht ändern.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 14 guests