Ich habe es auf meinem Computer eingerichtet localhost/~<username>
und ~/Sites
verwende es, /etc/apache2/extra/httpd-vhosts.conf
um benutzerdefinierte Testdomänen zu erstellen. Wie füge ich DNS-Wildcarddomänen hinzu? ( *.dev.server
)
Ich habe ein Wordpress Multisite Network unter ~/Sites/Wordpress (als wordpress.server
) eingerichtet, aber jedes Mal, wenn ich eine Site erstelle, funktioniert es nicht. Wie bekomme ich es zum Laufen?
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/Users/<username>/Sites/Wordpress"
ServerName wordpress.server
ServerAlias www.wordpress.server
</VirtualHost>
/etc/hosts
127.0.0.1 wordpress.server
127.0.0.1 www.wordpress.server
Danke!
Antwort1
Dazu benötigen Sie die Hilfe vondnsproxy.py
.
Vorbereitendnsproxy.py
Laden Sie zunächst die Python-Datei herunter und verschieben Sie sie in Ihr Home-Verzeichnis.
Hier herunterladenEntpacken Sie dann die Datei. Verschieben Sie anschließend die Python-Datei in Ihr Home-Verzeichnis. ( Users/<your username>
)
Wildard hinzufügen zu/etc/hosts
Verwenden Sie Ihren bevorzugten Editor, z. B. nano
, um die Hosts-Datei über Terminal zu öffnen.
sudo nano /etc/hosts
Fügen Sie den folgenden Eintrag hinzu:
127.0.0.1 *.wordpress.server
Laufendnsproxy.py
Führen Sie es aus dnsproxy.py
, indem Sie Folgendes im Terminal ausführen:
python ~/dnsproxy.py -s 8.8.8.8
-s 8.8.8.8
bezieht sich auf einen delegierenden DNS-Server. In diesem Befehl verwenden wir den DNS-Server von Google. Wenn Sie möchten, können Sie ihn durch einen anderen DNS-Server ersetzen. (z. B. 1.1.1.1)
Wenn bei der Verwendung des Befehls in MacOS Catalina 10.15 ein Fehler auftritt python
, versuchen Sie, Folgendes auszuführen:
/usr/bin/python ~/dnsproxy.py -s 8.8.8.8
Notiz:Schließen oder beenden Sie das Terminalfenster nicht, da der Platzhalter sonst /etc/hosts
nicht funktioniert.
Platzhalter hinzufügen zuhttpd-vhosts.conf
Öffnen Sie im Terminal mit Ihrem bevorzugten Editor die folgende Datei:
sudo nano /etc/apache2/extra/httpd-vhosts.conf
Fügen Sie den folgenden Eintrag hinzu: (Ersetzen Sie ihn wordpress.server
durch den Namen Ihres Servers und Wordpress
durch Ihren Projektordner)
<VirtualHost *:80>
DocumentRoot "/Users/<your username>/Sites/Wordpress"
ServerName wordpress.server
ServerAlias *.wordpress.server
</VirtualHost>
ServerName
definiert den Haupthostnamen, während ServerAlias
die Platzhalter-Subdomänen definiert.
Ändern Sie Ihr DNS
Gehen Sie zu den Systemeinstellungen ( > Systemeinstellungen...) und dann zu den Netzwerkeinstellungen.
Gehen Sie dann zu „Erweitert“ in der unteren linken Ecke des Fensters.
Gehen Sie zur Registerkarte DNS oben im Bereich.
Fügen Sie als Nächstes 127.0.0.1
einen DNS-Server hinzu. (Wenn Sie keine Einträge haben und hinzufügen 127.0.0.1
, empfehle ich Ihnen, den Standard-DNS Ihres Netzwerks oder einen anderen DNS wie hinzuzufügen, 8.8.8.8
damit Ihr Internet funktioniert, wenn Sie nicht entwickeln.)
Klicken Sie abschließend unten rechts im Fenster auf „OK“ und dann auf „Übernehmen“.
Auf Fehler prüfen
Führen Sie den folgenden Befehl im Terminal aus:
apachectl configtest
Möglicherweise werden einige Warnungen angezeigt, das Endergebnis sollte jedoch sein Syntax OK
:
Wenn es nicht angezeigt wird Syntax OK
und Fehler auftreten, gehen Sie zu der Datei, die den Fehler verursacht, und versuchen Sie, sie zu reparieren.
Starten Sie Apache neu
Führen Sie den folgenden Befehl im Terminal aus:
sudo apachectl restart
Versuchen Sie nun, auf eine zufällige Subdomäne wie zuzugreifen test.wordpress.server
. Es sollte funktionieren.