So hosten Sie mehrere Sites vom Virtual Box Ubuntu Lamp Stack

So hosten Sie mehrere Sites vom Virtual Box Ubuntu Lamp Stack

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-availableund laravel.devsie 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.devApache 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/publicin 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.

verwandte Informationen