Problem mit Berechtigungen beim Synchronisieren mit dem Site-Verzeichnis

Problem mit Berechtigungen beim Synchronisieren mit dem Site-Verzeichnis

Gibt es eine Möglichkeit, ein Verzeichnis symbolisch lnmit meinem Verzeichnis ~/Sites/ unter OS X zu verknüpfen, sodass die Berechtigungen richtig sind und es in einem Webbrowser angezeigt werden kann, wenn ich auf einem lokalen Computer Webentwicklung betreibe?

Das habe ich ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfoliodann chmod 755mit dem Verzeichnis gemacht, aber es ist immer noch nicht lesbar.

Für jede Hilfe wäre ich sehr dankbar.

Antwort1

Das Problem lag an meiner Apache-Konfiguration. So funktionierte es: einfach die FollowSymLinksRegel.

<Directory "/Users/Joe/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Antwort2

Sie haben mehrere Möglichkeiten:

1.Wenn Sie mit einem anderen Benutzer (nicht Ihrem) arbeiten apacheund definitiv möchten, DocumentRootdass der auf ein Verzeichnis in Ihrem Home-Verzeichnis verweist, müssen Sie die Berechtigungen für Ihr Home-Verzeichnis (Standard muss 750oder sein 700) ändern auf755

Ich würde dies nur empfehlen, wenn es sich um Ihren Laptop oder Ihren PC handelt und niemand sonst darauf Zugriff hat.

2.Die erste Option ist keine Option, aber Sie möchten trotzdem die DocumentRootin Ihrem Zuhause. Dann können Sie den Benutzer ändern, der ausführt apache. Bearbeiten Sie die Konfigurationsdatei und suchen Sie nach Anweisungen Userund Group.

3.Die zweite Option ist immer noch keine Option, und trotzdem ... möchten Sie Dinge in Ihrem Zuhause haben. Verwenden Sie Apaches mod_userdir. Mit der folgenden Konfiguration:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                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>

Dies ist die Standardkonfiguration für Apaches mod_userdir unter Debian. Sie haben Zugriff auf:

/home/your-username/public_html/*

in Ihrem Browser unter der folgenden Adresse:

http://somewhere/your-username/*

4.Schließlich können Sie es DocumentRootan einer anderen Stelle platzieren ( /srv/wwwoder /opt/wwwwas auch immer) und die Berechtigungen nach Bedarf einrichten.

verwandte Informationen