Виртуальные ошибки хоста, предупреждения и проблемы о Ubuntu

У меня, вероятно, есть что-то настроенное неправильно. Кажется, что у меня всегда есть проблемы при попытке настроить мои Виртуальные Хосты правильно.

Я получаю эту ошибку после перезапуска Apache:

Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Oct 14 17:39:17 2009] [warn] VirtualHost site1.local:0 overlaps with VirtualHost site2.local:0, the first has precedence, perhaps you need a NameVirtualHost directive

Почему это использует 127.0.1.1 для ServerName? И почему моя site2.local виртуальная работа хоста не?

Вот мой файл hosts:

# /etc/hosts
127.0.0.1   localhost site1.local site2.local
127.0.1.1   andrew-laptop


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

В/etc/apache2/sites-available у меня есть 3 файла: значение по умолчанию, site1.local, и site2.local

значение по умолчанию:

NameVirtualHost *
<VirtualHost *>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

site1.local:

<VirtualHost site1.local>
    ServerAdmin webmaster@localhost
    ServerName admin
    DocumentRoot /home/andrew/Projects/site1/public
    CustomLog /var/log/apache2/site1-access.log combined
    <Directory /home/andrew/Projects/site1/public>
        Options FollowSymLinks
    AllowOverride All
    </Directory>
</VirtualHost>

site2.local:

<VirtualHost site2.local>
    ServerAdmin webmaster@localhost
    ServerName admin
    DocumentRoot /home/andrew/Projects/site2/public
    CustomLog /var/log/apache2/site2-access.log combined
    <Directory /home/andrew/Projects/site2/public>
        Options FollowSymLinks
    AllowOverride All
    </Directory>
</VirtualHost>

Если какое-либо из этого кажется неправильным, сообщите мне. Помогите мне выяснить что не так с моей установкой.

0
задан 15.10.2009, 03:57

2 ответа

Я полагаю, что необходимо использовать site1.local / site2.local как параметры ServerName в виртуальных файлах хоста... по крайней мере это что работы для меня.

Значение по умолчанию 127.0.0.1 ServerName, вероятно, устанавливается в apache2.conf.

1
ответ дан 24.11.2019, 04:44

Вот одна проблема: в/etc/hosts Ваша localhosts строка является неправильной. У Вас есть это:

# /etc/hosts
127.0.0.1   localhost site1.local site2.local

У Вас должно быть это:

# /etc/hosts
127.0.0.1   localhost.localdomain localhost

Верхняя строка важна. Можно присвоить site1.local и site2.local почти к чему-либо еще, но верхняя строка должна включать обоих localhost.localdomain и localhost.

Я не уверен, какая черная магия ответственна, но вещи повреждаются странно в Ubuntu 9.04 и Debian 5.0.3, если та строка изменяется на что-либо еще. Моя недавняя установка Debian имела те же ошибки Apache (плюс некоторые другие интересные поломки), пока я не откатывал свои собственные изменения в той строке.

Так как все еще необходимо определить site1.local и site2.local, Вы могли сделать это как это:

127.0.1.1   andrew-laptop site1.local site2.local

Но Apache мог бы предпочесть различные IP-адреса для сайтов, таким образом, Вы, вероятно, будете более обеспеченным выполнением его этот путь:

127.0.1.1   andrew-laptop
127.0.1.2   site1.local
127.0.1.3   site2.local

127.0.0.0/8 сеть является обратной петлей, таким образом, можно выбрать, любой 127.x.x.x обращается к Вам как для них.

2
ответ дан 24.11.2019, 04:44

Теги

Похожие вопросы