Nginx-Sites-aktiviert, Sites-verfügbar: Es kann keine Soft-Link zwischen den Konfigurationsdateien in Ubuntu 12.04 erstellt werden
Ich versuche zu erstellen, soft-links zwischen den config-Dateien mit server-Blöcke in der sites-enabled und sites-available Verzeichnisse in /etc/nginx/.
Den Befehl, den ich verwende, ist:
sudo ln -s sites-available/foo.conf sites-enabled/
Wenn ich dann ausführen:
ls -l
Ist das Ergebnis:
lrwxrwxrwx 1 parallels parallels 27 Aug 6 20:44 immigrationinformation.conf -> immigrationinformation.conf
wo die immigrationinformation.conf -> immigrationinformation.conf
Teil hat ein anthrazit mit Roter Schrift.
Wenn ich dann versuchen, Zugriff auf diese weichen link, so wird mir gesagt, dass es gebrochen ist.
Wenn ich den soft-link im sites-available-Verzeichnis, d.h.
sudo ln -s sites-available/foo.conf sites-available/foo_link.conf
es funktioniert ganz normal. Wenn ich dann allerdings verschieben diese, um die sites-enabled-Verzeichnis, der link ist wieder gebrochen.
Kann ich den soft-link über den Datei-manager-GUI, aber nicht über die Kommandozeile. Ich kann auch hard-links mit kein problem.
Ich vermutete es war ein Berechtigungen-Problem also ich habe gespielt, um mit der Einstellung alle Berechtigungen auf 777 beider Verzeichnisse und der Verzeichnisse selbst und auch der Wechsel der Besitzer auf etwas anderes als root, aber immer noch kein Glück.
Jede Hilfe wäre mir sehr willkommen, danke.
InformationsquelleAutor der Frage iamyojimbo | 2013-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie starten Sie durch das Verständnis, dass das Ziel ein symbolischer Link ist ein Pfad. Und es kann absolut sein oder relativ zum Verzeichnis mit dem symlink
Vorausgesetzt, Sie haben foo.conf in sites-available
Versuchen
Nun haben Sie einen symlink in sites-enabled foo aufgerufen.conf, die hat ein Ziel ../sites-available/foo.conf
Nur klar zu sein, die normale Konfiguration für Apache ist, dass die config-Dateien für mögliche Standorte live in sites-available und die symlinks für die aktivierten sites live in sites-enabled an, zeigen auf Ziele in sites-available. Das nicht ganz der Fall zu sein scheint, die Art und Weise, die Sie beschreiben, Ihre Einstellung, aber das ist nicht Ihr primäres problem.
Wenn Sie möchten, einen symlink zu zeigen IMMER in die gleiche Datei, unabhängig von dem, wo der symlink liegt, dann wird das Ziel sein sollte den vollständigen Pfad.
Ist hier (Zeile 1) die Ausgabe meiner ls -l /etc/apache2/sites-enabled:
Sehen, wie das Ziel der symlink ist relativ zu dem Verzeichnis mit dem symlink (es beginnt mit ".." bedeutet go up one directory).
Hardlinks sind völlig anders, weil das Ziel ein hardlink ist nicht ein Verzeichnis-Eintrag, aber ein Dateisystem Inode.
InformationsquelleAutor der Antwort Rodney