У меня есть выделенный Linux-компьютер в Интернете, и я хочу иметь прямой доступ к субдоменам, например:
http://abcd.example.com
Я установил httpd.conf следующим образом:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *:80>
ServerName david.example.com
DocumentRoot /home/david/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName matthew.example.com
DocumentRoot /home/matthew/public_html
</VirtualHost>
Но поддомены недоступны. Какие изменения, если они есть, мне нужно внести в / etc / hosts? Я попытался:
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
99.99.99.99 vps.example.com vps david.example.com matthew.example.com
и
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
99.99.99.99 vps.example.com vps
99.99.99.99 david.example.com david
99.99.99.99 matthew.example.com matthew
Но ни то, ни другое не помогло.
В1: Нужно ли мне изменять какие-либо настройки DNS?
Q2: Нужно ли мне устанавливать какие-то особые разрешения для / home или / home / [user]?
Я предполагаю, что под фразой «Но поддомены недоступны» вы имеете в виду, что они недоступны удаленно. Если это так, добавьте их в /etc/hosts
не поможет, так как /etc/hosts
отменяет только поиск локального имени хоста. Если вы хотите, чтобы поддомены были доступны из Интернета, вам необходимо добавить их в DNS для вашего доменного имени. Ваш хостинг-провайдер должен быть в состоянии помочь вам в этом.
Обратитесь к своему хостинг-провайдеру или, если у вас есть доступ к панели вашего домена, создайте желаемый поддомен и сопоставьте IP-адрес вашего компьютера в записи A для всех этих виртуальных хостов, чтобы поддомен указывал на ваш сервер, а apache через конфигурацию виртуального хоста проходил через желаемые страницы.
удачи!!
: D