Gibt es eine Möglichkeit, ein Verzeichnis symbolisch ln
mit 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/yolkportfolio
dann chmod 755
mit 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 FollowSymLinks
Regel.
<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 apache
und definitiv möchten, DocumentRoot
dass der auf ein Verzeichnis in Ihrem Home-Verzeichnis verweist, müssen Sie die Berechtigungen für Ihr Home-Verzeichnis (Standard muss 750
oder 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 DocumentRoot
in Ihrem Zuhause. Dann können Sie den Benutzer ändern, der ausführt apache
. Bearbeiten Sie die Konfigurationsdatei und suchen Sie nach Anweisungen User
und 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 DocumentRoot
an einer anderen Stelle platzieren ( /srv/www
oder /opt/www
was auch immer) und die Berechtigungen nach Bedarf einrichten.