Ändern Sie den Webfreigabe-Ordner "Sites" in SkyDrive?

Ich baue eine Website. Es gibt drei Macs, die ich normalerweise für die Entwicklung verwende, abhängig von meinem Standort: einen iMac in San Diego und einen iMac in Vegas und ein MacBook Air an allen anderen Orten. Wenn ich mich von Ort zu Ort bewege, muss ich den Inhalt des Ordners „[Benutzername]/Sites“ von Maschine zu Maschine kopieren, damit ich meine Arbeit erledigen kann. Es wäre schön, wenn ich einfach eine Masterkopie der Site-Dateien an einem Ort aufbewahren könnte.

Also habe ich mich für den kostenlosen Cloud-basierten Skydrive-Speicher angemeldet. Der Verweis auf den Speicher befindet sich unter "[Benutzername]/Dokumente/SkyDrive". Alles in diesem Ordner wird auf allen meinen Macs synchronisiert. Was mich zu meiner Frage führt…

Wie kann ich den Pfad ändern, den das lokale Webhosting verwendet (unter OSX 10.8.2), sodass er auf meinen SkyDrive-Ordner statt auf den Standardordner „[Benutzername]/sites“ verweist?

Das Ziel ist, dass, wenn ich zu „http://127.0.0.1/~[Benutzername]/index.html“ navigiere, der integrierte OSX-Webserver die Datei index.html aus einem SkyDrive-Ordner einzieht. Hoffe das macht Sinn.

Es ist wichtig zu beachten, dass ich nicht wirklich versuchen werde, eine Produktionswebsite von SkyDrive aus zu betreiben. Keine externen Benutzer werden die Website auf diese Weise verwenden. Dies dient nur dazu, meine Entwicklungsprozesse etwas zu vereinfachen.

Antworten (2)

Die einfachste Lösung besteht darin, einen Symlink zu Ihrem Skydrive-Ordner einzurichten – dies spart Ihnen viel Zeit, indem Sie die Apache-Einrichtung und dergleichen vermeiden.

Kopieren Sie den Inhalt von ~/Sitesin Ihren Skydrive-Ordner ( ~User/Documents/Skydrive/Sites). Öffnen Sie dann das Terminal und geben Sie den folgenden Befehl ein:

rm -rf ~/Sites
ln -s ~/Documents/Skydrive/Sites ~/Sites

Warnung: Dadurch wird Ihr ~/SitesOrdner und sein Inhalt gelöscht, stellen Sie sicher, dass Sie eine Kopie haben!

Dadurch werden alle Zugriffsversuche ~/Sitesauf ~/Documents/Skydrive/Sites. Wiederholen Sie dies auf allen Ihren Computern.

Ich habe dies für die Sicherungsdateien meiner Spiele verwendet, und es funktioniert wie ein Zauber!

Ich mag die Einfachheit. Ich werde das ausprobieren und euch das Ergebnis mitteilen. Was bedeutet das Zeichen „~“? Ist das eine Abkürzung für "mein Benutzerverzeichnis" ... Entschuldigung, ich kenne Unix nicht.
Das ist eine Abkürzung für das Home-Verzeichnis des aktuellen Benutzers, ja.

Ja, Sie können das benutzerspezifische Verzeichnis Ihres Webservers so ändern, dass es auf einen anderen Ort innerhalb Ihres Home-Verzeichnisses verweist. Seien Sie sich bewusst, dass dies Auswirkungen auf die Sicherheit hat – versuchen Sie zu verstehen, was sie sind, bevor Sie fortfahren.

Sichern Sie zuerst die unten genannten Konfigurationsdateien und verwenden Sie dann Terminal, um die Dateien als root zu bearbeiten. zB über sudo vi [filename].

  1. Bearbeiten /etc/apache2/extra/httpd-userdir.conf, indem Sie den UserDir-Wert von „Sites“ in den neuen Zielordner innerhalb der Home-Verzeichnisstruktur ändern. Hinweis: Diese Anweisung ändert den Speicherort des Sites-Ordners für alle Benutzer . Ich gehe davon aus, dass nur Sie da sind und dies in Ordnung ist.

  2. Bearbeiten Sie die entsprechende benutzerspezifische Konfigurationsdatei /etc/apache2/users/[username].confso, dass der in der Directory-Direktive erwähnte Pfad mit dem übereinstimmt, was Sie oben festgelegt haben. Dadurch wird sichergestellt, dass die Optionen, die ursprünglich auf Ihren Sites-Ordner angewendet wurden, auf den neuen Speicherort angewendet werden.

  3. Stellen Sie sicher, dass die Berechtigungen für den neuen Ordner (einschließlich der Verzeichnisse, die zu ihm führen) ausreichend sind, damit der Webserverprozess darauf zugreifen kann.

  4. Starten Sie den Apache-Webserver neu; dhsudo apachectl restart

Damit sollte es funktionieren.

Vielen Dank! Ich werde die Schritte durchgehen und Sie wissen lassen, wie es geht.