Я установил localhost/~<username>
и ~/Sites
на моем компьютере, и я использую /etc/apache2/extra/httpd-vhosts.conf
создавать собственные тестовые домены. Как добавить домены с подстановочными знаками DNS? (*.dev.server
)
Я установил многосайтовую сеть Wordpress на ~ / Sites / Wordpress (как wordpress.server
) и всякий раз, когда я создаю сайт, он не работает. Как заставить его работать?
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
Спасибо!
Для этого вам понадобится помощь 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)
Если вы столкнулись с ошибкой при использовании python
в MacOS Catalina 10.15 попробуйте запустить следующее:
/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 в верхней части панели.
Далее добавляем 127.0.0.1
как DNS-сервер. (Если у вас нет записей и вы добавляете 127.0.0.1
, Я рекомендую вам добавить DNS по умолчанию для вашей сети или другой DNS, например 8.8.8.8
так что ваш Интернет работает, когда вы не развиваете.)
Наконец, нажмите ОК в правом нижнем углу панели, затем нажмите Применить.
Выполните в Терминале следующую команду:
apachectl configtest
Он может отображать несколько предупреждений, но, в конце концов, это должно привести к Syntax OK
.
Если не отображается Syntax OK
и приводит к ошибкам, перейдите к файлу, в котором возникла ошибка, и попробуйте исправить его.
Выполните в Терминале следующую команду:
sudo apachectl restart
Теперь попробуйте получить доступ к случайному поддомену, например test.wordpress.server
. Он должен работать.