Kein Zugriffsrecht auf eigene Ordner

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von watzlav, 05.04.2008.

  1. watzlav

    watzlav Thread Starter MacUser Mitglied

    Beiträge:
    314
    Zustimmungen:
    5
    Mitglied seit:
    02.11.2006
    Ich hab' da ein ziemlich bescheuertes Problem: wenn ich auf meinen localhost/~[Mein Benutzer]/ zugreifen will bekomme ich die Meldung ich hätte keine Zugriffsrechte. Woran kann das liegen? Ich habe das Festplattendienstprogramm schon laufen lassen: nix. Ich müsste ganz dringend meine Webseiten im Browser anschauen können. Als normaler Benutzer darf ich komischer Weise die Daten sogar verändern.

    Meine Vermutung: Safari greif als Benutzer "www" auf den localhost/~[Mein Benutzer]/ und der Benutzer "www" hat keine Rechte.
     

    Anhänge:

  2. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Du musst in deiner httpd.conf folgendes hinzufügen:

    Code:
    <Directory /Users/*/Sites>
    Allow from all
    </Directory> 
    dann müsste es klappen. :)
     
    Zuletzt bearbeitet: 05.04.2008
  3. watzlav

    watzlav Thread Starter MacUser Mitglied

    Beiträge:
    314
    Zustimmungen:
    5
    Mitglied seit:
    02.11.2006
    du meinst httpd.conf?
    Wo läge denn http.conf
     
  4. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Habe gerade selbst gemerkt, dass mein Lösungsvorschlag vielleicht etwas zu kurzbündig erklärt worden ist. Ich weiß nicht ob du folgende detaillierte Beschreibung nötig hast, aber vielleicht haben ja noch mehrere Leute dieses Problem. (Ist glaub ich ein Leopard-Problem)

    Die Konfigurationsdatei vom Apache-Server lässt sich nur mit root-Rechten editieren, deshalb arbeiten wir im Terminal (zu finden unter Programme/Dienstprogramme | Applications/Utilities).

    Als erstes folgendes eingeben:
    Code:
    cd /etc/apache2/
    Damit wird in den entsprechenden Verzeichnis gewechselt.

    Mit
    Code:
    ls -la
    können wir uns dessen Inhalt mal anzeigen lassen.

    Bevor wir die Datei httpd.conf editieren, machen wir eine Sicherheitskopie mit folgendem Befehl:
    Code:
    sudo cp httpd.conf httpd.conf.backup
    Mit sudo wird das Programm cp mit root-Rechten ausgeführt. Deswegen muss man sehr vorsichtig sein, wann man sudo einsetzt.
    Das erste mal wird das Administratorenpasswort gefragt und danach kann man es einige Minuten ohne erneute Passworteingabe nutzen.

    Jetzt öffnen wir die Datei in einem Texteditor. Ich verwende dafür pico.
    Code:
    sudo pico httpd.conf
    Mit Ctrl+V (nicht die Apfel-Taste! ) gehen wir bis zum Schluss der Datei.
    Und jetzt folgendes hinzufügen (copy/paste funktioniert):

    Code:
    ## Personal Settings ##
    <Directory /Users/*/Sites>
    Allow from all
    </Directory> 
    Mit # beginnende Zeilen sind Kommentare und nur zur Anmerkung in diesem Fall gedacht, dass die Zeilen danach von ihnen stammt. (ich habe noch ein (by TerminalX) hinzugefügt. :) )

    So, nun mit Ctrl+O und danach Enter-Taste die Datei abspeichern.

    Zum Schluss nur noch mit folgendem Kommando den Apache-Server neu starten:
    Code:
    sudo apachectl restart
    That's it! :)
     
  5. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Natürlich httpd.conf. :) Habe mich vertippt oben.
     
  6. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.715
    Zustimmungen:
    602
    Mitglied seit:
    24.09.2003
    Evtl. hast Du Filevault aktiviert. Dann hat der Webserver keinen Zugriff auf Deinen Sites Ordner und die Seiten können nicht angezeigt werden.

    Die Apache Konfiguration muss man nicht verändern, da der Zugriff auf die Sites Ordner schon vorkonfiguriert ist und zwar unter "/private/etc/apache2/users/*.conf". Diese Dateien werden von httpd.conf automatisch geladen.
     
  7. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Ich arbeite bloß mit dem Webserver-Ordner in /Library und seit ich Leopard und diesen Rechner habe, hatte ich den Site-Folder noch nicht angerührt. Aus Neugierde hab ich es vorhin versuch und bekam die gleiche Fehlermeldung wie watzlav. Filevault habe ich deaktiviert und /private/etc/apache2/users/ war leer.

    Meine Lösung funktioniert auf jeden Fall. Vielleicht ist es nicht die sauberste und die Einzige, aber naja... :)
     
  8. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.715
    Zustimmungen:
    602
    Mitglied seit:
    24.09.2003
    Dann hast Du vielleicht Leopard nicht clean installiert.
    Normalerweise wird für jeden neuen Benutzer eine eigene Konfigurationsdatei angelegt. Falls die nicht da sind, würde ich dazu raten, sie am vorgesehenen Platz selbst anzulegen.
     
  9. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Update wenn ich mich richtig erinnere.

    Gibt es einen bestimmten Grund, ausser vielleicht den der Übersicht, um dies zu tun?
     
  10. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.799
    Zustimmungen:
    108
    Mitglied seit:
    12.01.2004
    Hm... ok für alle bei denen der Ordner "/private/etc/apache2/users/" leer ist, im Terminal folgendes eingeben:
    Code:
    cd /private/etc/apache2/users/
    Mit
    Code:
    ls -la
    nachschauen was sich im Ordner befindet.

    Pico starten:
    Code:
    sudo pico
    Folgendes mit copy/paste einfügen, wobei die erste Zeile angepasst werden muss(den richtigen Username angeben):
    Code:
    <Directory "/Users/[B][I]Username[/I][/B]/Sites/">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    Ctrl+O und dann als Name für die Datei Username.conf eingeben. In meinem Fall, für den Benutzer test heißt die Datei test.conf. Danach mit Enter-Taste bestätigen und zum Schluss noch den Apache-Server neustarten (wie das geht, steht im Beitrag #4 am Schluss)

    Dann benötigt ihr auch die ganzen Schritte im Beitrag #4 nicht!
     
Die Seite wird geladen...

Diese Seite empfehlen