OK, das ist ein bisschen schwierig zu erklären, aber ich werde mein Bestes geben.
Ich führe Apache in einer VM aus (Windows XP-Modus) und möchte:
- Website-Dateien auf meinem Hauptcomputer (Host) speichern und bearbeiten
- Stellen Sie sie dem Browser innerhalb der VM (Gast) zur Verfügung.
Derzeit speichere, bearbeite und stelle ich alles in der VM bereit, aber das ist offensichtlich für Backups, Git usw. nutzlos, deshalb möchte ich es aus der virtuellen Maschine in physische Verzeichnisse verschieben.
Meine VM-Hosts-Datei verweist derzeit alle Domänen auf 127.0.0.1:
127.0.0.1 davestewart.local
127.0.0.1 davestewart.remote
Die Datei httpd-vhosts.conf meiner VM Apache sieht folgendermaßen aus:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot "c:/xampp/htdocs"
</VirtualHost>
<VirtualHost *:80>
ServerName davestewart.local
ServerAlias www.davestewart.local
DocumentRoot "c:/xampp/htdocs/davestewart.co.uk"
<Directory "c:/xampp/htdocs/davestewart.co.uk">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName davestewart.remote
DocumentRoot "//dave-desktop/work"
<Directory "//dave-desktop/work">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Die .local-Version der Site läuft einwandfrei und ist in der VM vollständig sichtbar, die .remote-Version gibt jedoch eine XAMPP 403-Seite „Zugriff verboten!“ aus.
Meine Serverkenntnisse reichen bis zur Bearbeitung von .htaccess- und .conf-Dateien. Normalerweise hacke ich Sachen aus Online-Tutorials zusammen, ohne jedoch wirklich zu wissen, was ich tue (im Gegensatz zum Codieren, was ich viel einfacher finde).
Danke, Dave
Antwort1
Erwägen Sie die VerwendungLandstreicher. Standardmäßig hat die VM alle Dateien im Stammordner in verfügbar /vagrant
. Sie können also Apache (auf der VM) so konfigurieren, dass Dateien in bereitgestellt werden /vagrant/web
- und die bereitgestellten Dateien sind diejenigen im web
Unterverzeichnis des Ordners, in dem sich die Vagrant-Datei befindet. Weitere Informationen finden Sie imDokumente.
Antwort2
Warum versuchst du es nicht mit symbolischen Links? Ich weiß, dass das unter Linux funktioniert. Lege die Dateien einfach auf dein Host-Laufwerk. Erstelle dann in deiner VM einen symbolischen Link zum Host-Laufwerk. Voilà. Die Dateien sind auf dem Host, aber die VM „denkt“, dass sie lokal sind.
Wir verwenden dieses Setup derzeit als eine Art Hintertür zu unseren Dateien über unsere Büro-Site, damit wir vor Ort auf unsere Jobdateien zugreifen können. Wir möchten unsere Jobdateien jedoch nicht „auf“ dem Webserver haben, sondern wir benötigen den Webserver, um sie über unsere Website an das Feld zu senden. Symbolische Links funktionieren für uns hervorragend.