Vagrant Share - Zugriff auf virtuelle Hosts und Zugriff auf diejenigen, die sich nicht im Standardwebstamm befinden

Ich habe Vagrant Setup und läuft CentOS 6.5 x64 und es läuft großartig. Keine Probleme beim Ausführen mehrerer Sites innerhalb dieser einen VM. Alle Websites werden von der ausgeführt/ var / www / public Ordner mit Ausnahme von PhpMyAdmin, von dem aus/ var / www / html. Ich versuche es zu benutzenLandstreicheranteil um Zugriff auf eine der vhost-Sites zu erhalten, die ausgeführt werden. Das Problem ist, dassLandstreicheranteil zeigt nur den Inhalt der/ var / www / html Mappe.

Gibt es noch etwas, was ich tun muss, um Zugang zu meinem neu erstellten zu erhalten?/ var / www / public Mappe? Ich habe versucht, die Hosts-Datei auf einem anderen Computer zu bearbeiten, um zu prüfen, ob ich die URLs, die ich diesen Sites zugewiesen habe, an die aktuelle funky "Vagrant Share" -Adresse weiterleiten kann, aber das funktioniert nicht. Ich persönlich weiß nicht, was ich als nächstes tun soll.

Dies ist meine Grundeinstellung. Vagrant Version 1.5.4, VirtualBox Version 4.3.8, Windows 7 x64, Konfigurationsdatei von PuPHPet, nach dem Download jedoch stark angepasst, um hinzugefügte vhosts-, ssh config-, mysql- und bash-Dateien zu erhalten.

Hoffentlich ist auch jemand anderes auf dieses Problem gestoßen. Hat jemand eine gute Richtung, die ich einschlagen kann?

Vielen Dank an alle,

c0p

SELBST UPDATE

Ich habe erhebliche Fortschritte bei meiner eigenen Frage. Der Zweck meiner Tätigkeit besteht darin, von meinem Vagrant-Computer aus den Zugriff auf den externen Bereich einer Person zuzulassen. Ich brauche sie nicht, um jederzeit vollständigen Zugriff zu haben, sondern überprüfe sie einfach so, wie sie sind, und informiere mich über alle Änderungen, die sie möglicherweise benötigen. Weißt du, Standard-Entwicklerzeug. Also hier ist, was ich mir ausgedacht habe.

Nachforschungen im Web im Allgemeinen Ich bin auf diesen Link gestoßen:https://groups.google.com/forum/#!topic/vagrant-up/IcEl9-V9wsU

Dieser Typ führt Nginx aus und scheint die gleiche Frage zu stellen wie ich, verwendet aber einen anderen Webserver. Bitte werfen Sie einen Blick auf die Seite, wenn Sie mit Nginx auf etwas Ähnliches stoßen. Er hat dort eine Antwort. Ich weiß nichts über Nginx, konnte aber immer noch einiges von dem extrapolieren, was ich brauchte.

Was ich von dieser Seite bekam, war, dass er, nachdem er den ungewöhnlichen Link von der Vagrant-Site erhalten hatte, schnell seine Konfigurationsdateien für Nginx bearbeitete und den Webserver neu startete. Jetzt zeigte die verrückte URL auf den Speicherort der Datei für virtuelle Hosts und bewirkte, dass die gewünschte Seite tatsächlich angezeigt wurde und nicht nur die Standard-Begrüßungsseite.

Ich habe eine Weile darüber nachgedacht und beschlossen, meine eigene Konfiguration zu bearbeiten und zu sehen, was passiert.

Ich verwende CentOS, also habe ich das bearbeitet/etc/httpd/conf/httpd.conf Datei.

Es gibt einen kommentierten#Hören Sie 80 Zeile etwa in der Mitte dieser Datei. Unmittelbar nach dieser Zeile (oder geben Sie ein Leerzeichen, wenn Sie möchten), habe ich Folgendes hinzugefügt:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/public/sitename
    ServerName hungry-lovebird-7142.vagrantshare.com
    ServerAlias hungry-lovebird-7142
    ErrorLog /var/www/www.sitename.dev-error_log
    CustomLog /var/www/www.sitename.dev-access_log common
</VirtualHost>

Ich habe den DocumentRoot auf den Ordner der Site verwiesen, auf die ich zugreifen möchte, und den Servernamen und die ServerAlias auf den Ordner festgelegtLandstreicheranteil Verknüpfung. Ich habe dann die Datei gespeichert und Apache mit neu gestartetsudo service httpd restart

Ich bin dann zu Firefox (Windows 7) zurückgesprungen und habe die Seite oddball vagrantshare.com aktualisiert, die ich vor der Bearbeitung dieser Datei bereits besucht habe. Es zog tatsächlich den Inhalt derSite-Name Ordner hatte ich es in der gegebenhttpd.conf Datei. So funktioniert es! Verdammt cool!

Das einzige Problem, das ich dabei habe, ist, dass ich beim Neustart von Apache diese Warnung erhalten habe:

Stopping httpd:                                            [  OK  ]
Starting httpd: [Wed May 21 00:11:37 2014] [warn] NameVirtualHost *:80 has no Vi
rtualHosts

Apache würde gut starten, aber ich wusste nicht, was ich mit dieser Warnung anfangen sollte. Später habe ich gerade die entferntNameVirtualHost *: 80 Teil dessen, was ich hinzugefügt und Apache neu gestartet habe. Diesmal ohne jede Warnung.

Verstehen Sie, dass ich auf diese Weise einem Client nur Aktualisierungen für eine einzelne Site anzeigen kann. Dies funktionierte sowohl für statische Sites als auch für WordPress-Sites. Ich habe gerade geändert, wo der Link vagrantshare.com nach Dateien gesucht hat. Ich konnte auf mehrere Websites wechseln, indem ich die bearbeitetehttpd.conf Datei und Neustart von Apache in einemLandstreicheranteil Sitzung (sie machen eine Auszeit). Ich benutze Windows, also hatte ich zwei Kopien vongit-bash(msysgit) läuft gleichzeitig. Ein Hosting derLandstreicheranteil Sitzung und die anderen akzeptierenden Änderungen anhttpd.conf nachVagabund sshin die VM.

Wenn Sie dies für eine WordPress-Site verwenden möchten, müssen Sie auch die bearbeitenwp_options Tabelle für diese Website. Ändere dasSeiten-URL undZuhause Werte in derOptionswert Spalte mit der vollständigen URL des Links, den Sie von erhalten habenLandstreicheranteil. Möglicherweise können Sie diese Werte auch nur im Admin-Bereich bearbeiten, aber mit MySql bin ich viel schneller, sodass ich diese Route gewählt habe.

Yay! Ok, großartig. Ich habe fast das erreicht, womit ich beginnen wollte. Hoffentlich kann jemand etwas Licht ins Dunkel bringenWas ich getan habe funktioniert tatsächlich. Habe ich eigentlich nur eine Weiterleitung für diese Adresse durchgeführt?

Übrigens, wenn Sie fertig sindLandstreicheranteilVergessen Sie nicht, diese Zeilen zu kommentieren (behalten Sie sie bei, da Sie sie wahrscheinlich später brauchen werden) und starten Sie Apache neu. Machen Sie sich jetzt wieder an die Arbeit mit dem, was der Kunde ändern möchte!

Wie auch immer, ich hoffe, jemand kann die Frage beantworten, warum diese Arbeit geleistet wurde, und ich hoffe wirklich, dass sie jemandem auf dem Weg hilft.

Vielen Dank,

c0p

Antworten auf die Frage(2)

Ihre Antwort auf die Frage