#apache #dns #httpd.conf
#apache #dns #httpd.conf
Вопрос:
я работаю на сервере, который я унаследовал от кого-то, и я не большой эксперт по вопросам dns. на сервере размещено более одного домена, и все они находятся в папке с именем /vhosts/ . кажется, я не могу понять, как домены указывают на соответствующую папку там. я проверил httpd.config, и такой директивы нет:
<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain
</VirtualHost>
я также проверил администратора домена, и все они указывают на IP-адрес сервера. итак, что я упускаю?
Ответ №1:
DocumentRoot
это директива, которая указывает имя папки для определенного размещенного домена. Для каждого домена, размещенного на сервере, в файле будет один <VirtualHost>
узел httpd.conf
. Так, например, example1.com и example2.com размещаются на этом сервере, и их запросы обслуживаются из /vhosts/www/example1 и /vhosts/www/example2 соответственно.
<VirtualHost *>
DocumentRoot /vhosts/www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *>
DocumentRoot /vhosts/www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>
Иногда эти настройки определяются в других файлах конфигурации. Другие файлы конфигурации включаются в httpd.conf во время запуска. Если вы не можете найти файл, в котором он есть, я бы посоветовал вам запустить
grep -ri "VirtualHost" /
.
Комментарии:
1. СВЯТОЕ Дерьмо, это то, что я ищу, БОЛЬШОЕ СПАСИБО, приятель! :B
Ответ №2:
Система может быть настроена для массового виртуального хостинга:
С другой стороны, конфигурации для виртуальных хостов могут быть объявлены во включенных файлах, введенных с помощью инструкции Include . Проверьте httpd.config
инструкции for Include для других виртуальных хостов …
если все остальное не удается, перейдите в корень каталога конфигурации и выполните следующее:
sudo grep -Ri www.domain.tld .
Должно дать вам подсказку, где искать…