Subdomains auf localhost
Wenn Sie lokal mit Apache arbeiten, wird es normalerweise über die URL "http://localhost" verwendet. Bei der Webentwicklung oder beim Testen müssen Sie möglicherweise Unterdomänen auf localhost erstellen, genau wie auf Online-Servern.
Dieser Beitrag zeigt Ihnen, wie Sie Subdomains in Apache auf localhost erstellen. Es ist einfach und dauert nur wenige Minuten.
1. Subdomain-Hosts erstellen
Die Hosts-Datei auf einem Linux-System wird verwendet, um IP-Adressen bestimmten Hostnamen zuzuordnen. Wir können hier problemlos mehrere Unterdomänen erstellen und sie auf die localhost-IP-Adresse verweisen.
Bearbeiten Sie zuerst die /etc/hosts Datei, um die Subdomains hinzuzufügen, die Sie erstellen möchten.
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 enlightened 127.0.0.1 a.localhost 127.0.0.1 b.localhost 127.0.0.1 c.localhost
Im obigen Beispiel habe ich 3 Subdomains hinzugefügt, nämlich a.localhost b.localhost und c.localhost
Testen Sie nun die Subdomains, indem Sie sie anpingen, um sicherzustellen, dass sie erreichbar sind
$ ping a.localhost PING a.localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.029 ms 64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.029 ms 64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.028 ms ^C
Wie wir oben sehen können, antworten die Subdomains erst auf unsere Ping-Anfragen, nachdem wir sie zur Hosts-Datei hinzugefügt haben.
2. Erstellen Sie Ihre Unterdomänen-Stammverzeichnisse für Dokumente
Als nächstes müssen Sie entscheiden, wo die Subdomain-Dateien gespeichert werden sollen. Dies kann ein beliebiges Verzeichnis Ihrer Wahl sein, aber in diesem Beispiel verwenden wir das Verzeichnis /var/www/, das von Apache verwendet wird.
/var/www/subdomains/a/
3. Erstellen Sie jetzt virtuelle Hosts in der Apache-Konfigurationsdatei
Als letztes müssen Sie die erforderlichen virtuellen Apache-Hosts für jede der Subdomänen erstellen. Grundsätzlich teilen wir Apache die Subdomain mit, die es bedienen muss, zusammen mit verschiedenen Details wie dem Dokumentenstamm für jede von ihnen.
In diesem Beispiel bearbeiten wir die Hauptkonfigurationsdatei 000-default. Alternativ können Sie separate Konfigurationsdateien im Verzeichnis „sites-available“ erstellen und diese dann per Symlink mit dem Verzeichnis „sites-enabled“ verknüpfen oder den Befehl a2ensite verwenden.
$ sudo nano /etc/apache2/sites-enabled/000-default
Fügen Sie unten wie hier einen Virtualhost-Abschnitt hinzu
# Sub domain a.localhost <VirtualHost *:80> DocumentRoot /var/www/subdomains/a/ ServerName a.localhost <Directory /var/www/subdomains/a/> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride FileInfo Options Order allow,deny allow from all </Directory> </VirtualHost>
Jetzt Apache neu starten
$ sudo service apache2 restart
4. Testen Sie es
Öffnen Sie nun die URLs für die Subdomains im Browser, http://a.localhost/ oder ähnlich und sehen Sie, ob die Indexdateien angezeigt werden oder nicht.
Der apachectl-Befehl kann auch verwendet werden, um die Details der Subdomains zu überprüfen. Verwenden Sie die Option "-S" und überprüfen Sie die Ausgabe.
$ sudo apachectl -S [sudo] password for enlightened: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost a.localhost (/etc/apache2/sites-enabled/000-default:42) Syntax OK ...
Referenzen
Die folgende Seite aus dem Ubuntu-Wiki enthält weitere Informationen zum Einrichten von Localhost-Subdomains in Apache.
https://help.ubuntu.com/community/LocalhostSubdomain