Подготовитьdnsproxy.py

Подготовитьdnsproxy.py

У меня есть настройки localhost/~<username>и ~/Sitesна моем компьютере, и я использую их /etc/apache2/extra/httpd-vhosts.confдля создания пользовательских тестовых доменов. Как мне добавить DNS wildcard домены? ( *.dev.server)

Я настроил Wordpress Multisite Network на ~/Sites/Wordpress (как wordpress.server), и всякий раз, когда я создаю сайт, он не работает. Как мне заставить его работать?

httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "/Users/<username>/Sites/Wordpress"
    ServerName wordpress.server
    ServerAlias www.wordpress.server
</VirtualHost>

/etc/хосты

127.0.0.1    wordpress.server
127.0.0.1    www.wordpress.server

Спасибо!

решение1

Для этого вам понадобится помощьdnsproxy.py.

Подготовитьdnsproxy.py

Сначала загрузите файл Python и переместите его в свой домашний каталог. Загрузить здесьзатем распакуйте файл. Затем переместите файл Python в свой домашний каталог. ( Users/<your username>)

Добавить вайлдарда в/etc/hosts

Используйте ваш любимый редактор, например nano, чтобы открыть файл hosts через Терминал.

sudo nano /etc/hosts

Добавьте следующую запись:

127.0.0.1       *.wordpress.server

Бегатьdnsproxy.py

Запустите dnsproxy.py, выполнив в Терминале следующее:

python ~/dnsproxy.py -s 8.8.8.8

-s 8.8.8.8относится к делегирующему DNS-серверу. В этой команде мы используем DNS-сервер Google. Если хотите, можете заменить его другим DNS-сервером. (например, 1.1.1.1)

Если при использовании команды в MacOS Catalina 10.15 возникла ошибка python, попробуйте выполнить следующее:

/usr/bin/python ~/dnsproxy.py -s 8.8.8.8

Примечание:Не закрывайте и не завершайте работу окна Терминала, иначе подстановочный знак /etc/hostsне будет работать.

Добавить подстановочный знак кhttpd-vhosts.conf

В Терминале, используя предпочитаемый вами редактор, откройте следующий файл:

sudo nano /etc/apache2/extra/httpd-vhosts.conf

Добавьте следующую запись: (Замените wordpress.serverна имя вашего сервера и Wordpressпапку вашего проекта)

<VirtualHost *:80>
    DocumentRoot "/Users/<your username>/Sites/Wordpress"
    ServerName wordpress.server
    ServerAlias *.wordpress.server
</VirtualHost>

ServerNameопределяет основное имя хоста, а также ServerAliasподстановочные поддомены.

Измените свой DNS

Перейдите в Системные настройки ( > Системные настройки...) и перейдите в Настройки сети. Сетевые настройки в системных настройках

Затем перейдите в раздел «Дополнительно» в левом нижнем углу панели. Сетевые настройки в системных настройках

Перейдите на вкладку DNS в верхней части панели. Сетевые настройки в системных настройках

Далее добавьте 127.0.0.1в качестве DNS-сервера. (Если у вас нет записей и вы добавляете 127.0.0.1, я рекомендую вам добавить DNS вашей сети по умолчанию или другой DNS, например, 8.8.8.8чтобы ваш Интернет работал, когда вы не занимаетесь разработкой.) Сетевые настройки в системных настройках

Наконец, нажмите «ОК» в правом нижнем углу панели, затем нажмите «Применить».

Проверить на наличие ошибок

Выполните следующую команду в Терминале:

apachectl configtest

Может появиться несколько предупреждений, но в конечном итоге это должно привести к Syntax OK.

Если ошибка не отображается Syntax OKи возникают ошибки, перейдите к файлу, в котором она возникла, и попробуйте исправить ее.

Перезапустить Apache

Выполните следующую команду в Терминале:

sudo apachectl restart

Теперь попробуйте получить доступ к случайному поддомену, например test.wordpress.server. Это должно сработать.

Связанный контент