У меня небольшие проблемы с настройкой виртуальных хостов на основе имен.
Я могу запустить сервер с помощью «service apache2 start» с пустым файлом httpd.conf, и он будет работать со всем, что указывает на / var / www, как и ожидалось.
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/kevins_playground
ServerName home.coolkev.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/flatline_and_co
ServerName www.flatline_and_co.com
# Other directives here
</VirtualHost>
Я получаю эту ошибку при запуске службы apache2 start
root@kevin-server:/etc/apache2# service apache2 start
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Jul 26 20:10:01 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Я нашел решение,
Я думаю, что проблема возникла из-за того, что во время анализа файлов Apache обнаружил два файла с "<VirtualHost>", мой httpd.conf и конфигурацию веб-сайта по умолчанию в ./sites-available/
Пока вы не коснулись виртуального хоста по умолчанию (который уже содержит директиву NameVirtualHost *: 80), вы не должны дублировать поведение по умолчанию.
Поскольку вам приходится страдать от Debuntu, почему бы не пойти с ним и не поместить свои vhosts в / etc / apache2 / sites-enabled /, по одному на файл?