Я настроил apache2 для использования трех доменов. Они указаны правильно, и я настроил доступные для сайтов конфигурационные файлы следующим образом:
Вот hfd-server.domain1.com, на котором отображается страница успеха APACHE2 по умолчанию. Тем не менее, он работает с www.hfd-server.domain1.com. Не понимаю.
<VirtualHost *:80>
ServerAdmin email@domain1.com
ServerName www.hfd-server.domain1.com
DocumentRoot /var/www/hfd-server.domain1.com/public_html
ServerAlias hfd-server.domain1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/hfd-server.domain1.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Вот два других рабочих файла конфигурации:
house.domain1.com
<VirtualHost *:80>
ServerAdmin email@domain1.com
ServerName www.house.domain1.com
DocumentRoot /var/www/house-server.domain1.com/public_html
ServerAlias house.domain1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/house.domain1.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
house.domain2.com
<VirtualHost *:80>
ServerAdmin email@domain1.com
ServerName www.house.domain2.com
DocumentRoot /var/www/house.domain2.com/public_html
ServerAlias house.domain2.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/house.domain2.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Журнал доступа и журнал ошибок не показывают ничего необычного. Не уверен, почему один будет работать, но не другой.
Я не изменял 000-default.conf. Я боялся, поэтому сделал копии и просто включил их.
Есть ли что-то еще, что я могу попробовать, HFD-SERVER.domain1.com связан с панелью управления, к которой я хотел бы получить доступ.
ОБНОВЛЕНИЕ 12-28-17
Я использовал sudo apachectl -t -D DUMP_VHOSTS, и это то, что он перечислил.
VirtualHost configuration: *:80 is a NameVirtualHost
default server HFD-SERVER.domain1.us (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost hfd-server.domain1.us (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.hfd-server.domain1.us (/etc/apache2/sites-enabled/hfd-server.domain1.us.conf:1) alias hfd-server.domain1.us
port 80 namevhost house.domain1.us (/etc/apache2/sites-enabled/house.domain1.us.conf:1) alias www.house.domain1.us
port 80 namevhost house.domain2.us (/etc/apache2/sites-enabled/house.domain2.us.conf:1) alias www.house.domain2.us
Появляется, что сервером по умолчанию является 000-default.conf. Есть ли способ сделать hfd-domain1.us.conf сервером по умолчанию?
Вы можете решить эту проблему несколькими различными способами.
Измените 000-default.conf
, замените соответствующие строки, чтобы соответствовать hfd-domain1.us.conf
и удалив hfd-domain1.us.conf
в /etc/apache2/sites-enabled
, тогда это будет "000 -default.conf ", который указывает на правильный hdf-domain1.us с правильной структурой папок, а два других будут отображаться так же, как и в дампе.
другим способом было бы изменить 000-default.conf
и изменить записи ServerName
и ServerAlias
на что-то другое, чтобы они не имели того же имени, что и в hfd-domain1.us.conf
, и тогда у вас будет сайт по умолчанию указывая на эти новые настройки .. и 3 виртуальных, которые вы создали.
и последний способ - перейти в каталог /etc/apache2/sites-enabled/
и удалить или переименовать ярлык на 000-default.conf
, изменив расширение на 000-default.conf~
Обновлено: было указано, что оно кажется, не позволяет вам просто удалить файл, поэтому я обновил этот ответ информацией от первоначального автора, лучший способ для этого - запустить sudo a2dissite 000-deafult.conf
для удаления 000-default.conf, оставив таким образом 3 виртуальных хоста. включен и должен функционировать, как вы хотите.