Ich bin ziemlich nah dran, das zu tun, was ich will, aber leider entgeht mir die Lösung für die letzte Hürde. Im Wesentlichen versuche ich, eine Position zu erreichen, in der ich mehrere Sites auf einem VB hosten und von beiden Rechnern aus über eine einfache URL darauf zugreifen kann ...
Mein Setup:
Windows 7-Host, der einen Eintrag in der Hosts-Datei enthält, der lautet: 192.168.0.30 laravel.dev
Ich habe eine DHCP-Reservierung für diese Adresse, die sie für die eindeutige Mac-Adresse meiner Virtualbox reserviert
Virtualbox ist mit einem überbrückten Netzwerkadapter und Promiscuous-Modus eingerichtet: Alles zulassen (nicht sicher, ob das notwendig ist). Ich habe keine Änderungen an der Hosts-Datei auf dem Gastbetriebssystem vorgenommen.
Ich habe eine neue Datei mit dem Namen laravel.dev erstellt /etc/apache2/sites-available
und laravel.dev
sie wie folgt bearbeitet:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName *.laravel.dev
DocumentRoot /var/www/laravel.dev/public/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravel.dev/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/laravel_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>
Ich habe es dann aktiviert (dachte ich), indem ich sudo a2ensite laravel.dev
Apache eingab und neu startete
Momentane Situation:
Im Moment kann ich also über Webroot ( /var/www/
) vom Host aus zugreifen, indem ich http://laravel.dev/
in meine Adressleiste eingebe und ich kann vom Browser meines Gastes aus darauf zugreifen, indem ich eingebelocalhost
Ich kann auf die Indexdatei meines Projekts ( /var/www/laravel.dev/public/index.php
) vom Host aus zugreifen, indem ich http://laravel.dev/laravel.dev/public
in meine Adressleiste eingebe, und ich kann darauf vom Browser meines Gastes aus zugreifen, indem ich eingebelocalhost/laravel.dev/public
Was ich möchte
Das ist in Ordnung, aber ich möchte auf das Stammverzeichnis meiner Site ( /var/www/laravel.dev/public/index.php
) zugreifen können, indem ich einfach laravel.dev in die Adressleiste einer der beiden Maschinen eingebe. Kann mir jemand erklären, was ich hier falsch mache? Ich wäre ewig dankbar.
Zusätzlich angeforderte Informationen:
Ergebnis von ls -l in /etc/apache2/sites-enabled/
total 0
lrwxrwxrwx 1 root root 26 Feb 26 17:16 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 30 Feb 26 18:27 laravel.dev -> ../sites-available/laravel.dev
...gerne stellen wir Ihnen weitere Informationen zur Verfügung, die zur Lösung des Problems beitragen können.
Außerdem habe ich außer der Installation des Lampenstapels wirklich nichts anderes gemacht als das, was hier aufgelistet ist. Wenn ich es nicht erwähnt habe, habe ich es wahrscheinlich nicht getan, also sind JEDER Vorschlag willkommen. Man kann davon ausgehen, dass Sie es mit einem Linux-Neuling zu tun haben ... ich nehme Ihnen das nicht übel.
Antwort1
Ich bezweifle, dass es sich um ein DNS-Problem handelt, frage mich jedoch, ob die von Ihnen erstellte Datei tatsächlich von Apache gelesen wird. Die Zeile „DocumentRoot /var/www/laravel.dev/public/“ sollte ausreichen, damit das funktioniert.
[Wenn das tatsächlich alles ist, was Sie versuchen, brauchen Sie dann den anderen Mist, den Sie eingefügt haben? Wenn nicht, würde ich versuchen, diese Datei zu entfernen und das DocumentRoot in der Hauptkonfiguration von Apache zu ändern].
Wenn dies Ihr Problem nicht löst, können Sie das Ergebnis von „ls -l /etc/apache2/sites-enabled“ angeben, da dort ein symbolischer Link zu sites-available/laravel.dev vorhanden sein sollte, der möglicherweise fehlt. Wenn nicht, müssen wir möglicherweise herausfinden, ob diese Datei analysiert wird und wenn nicht, warum nicht.
Antwort2
Sie könnten das Tutorial ausprobieren, das ich hier gefunden habe. Es scheint einen Überblick darüber zu geben, wie man mit vhosts auf Ubuntu einrichtet. Es behandelt auch Arch Linux. Aber ich konnte herausfinden, was mein Problem war, nachdem ich das Tutorial gelesen hatte. Mir fehlte ein einfacher Schritt, bevor ich es befolgte. Möglicherweise stecken Sie in derselben Situation. http://www.adminempire.com/how-to-setup-v-host-on-apache/
Möglicherweise würde auch ein Alias-Abschnitt Ihr Problem lösen, bei dem Sie eingeben, was Sie möchten, ohne den Localhost-Teil einschließen zu müssen.