Apache 2.2 и name based virtual hosts

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 17:31:47

что-то я совсем торможу. надо поднять простенький вебсервер (apache + php) на одном ip для двух сайтов - odin.com и dva.com
в httpd.conf добавил строчку:

Код: Выделить всё

NameVirtualHost *:80
создал Includes/odin.com.conf:

Код: Выделить всё

<VirtualHost *:80>

DocumentRoot /usr/local/www/odin.com
ServerAlias odin.com www.odin.com.ua odin.com.ua
ServerName www.odin.com

<Directory "/usr/local/www/odin.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

ErrorLog "/var/log/httpd-error-odin.com.log"

</VirtualHost>
и

создал Includes/dva.com.conf:

Код: Выделить всё

<VirtualHost *:80>

DocumentRoot /usr/local/www/dva.com
ServerAlias dva.com
ServerName www.dva.com

<Directory "/usr/local/www/dva.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

ErrorLog "/var/log/httpd-error-dva.com.log"

</VirtualHost>
проверяю:

Код: Выделить всё

[16:28]  /usr/local/etc/apache22 >apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server www.dva.com (/usr/local/etc/apache22/Includes/dva.com.conf:1)
         port 80 namevhost www.dva.com (/usr/local/etc/apache22/Includes/dva.com.conf:1)
         port 80 namevhost www.odin.com (/usr/local/etc/apache22/Includes/odin.com.conf:1)
Syntax OK
тут сразу вопрос: почему виртуалхост http://www.dva.com считается дефолтным?

проверяю с удаленной машинки - всегда получаю страничку от http://www.dva.com

в чем может быть проблемма?

:st:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение hizel » 2009-02-26 17:49:01

патамушта в английском алфавите o идет после d :-D
//К.О.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 18:01:30

hizel писал(а):патамушта в английском алфавите o идет после d :-D
//К.О.
я так тож подумал, но не мог представить что все настолько банально...
как мне указать дефолтный в ручную?
почему оно в таки=ом виде нефига не работает %)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 19:13:07

m0ps писал(а):как мне указать дефолтный в ручную?
дефолтным считается первый в порядке чтения конфига, поэтому его нужно разместить в httpd.conf
m0ps писал(а):почему оно в таки=ом виде нефига не работает %)
в каком виде и как именно не работает?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 19:29:45

zg
см первый пост

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 19:37:02

m0ps писал(а):zg
см первый пост
в первом посте только твои действия, но нет описания проблемы, что именно не работает?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 19:41:46

zg писал(а):
m0ps писал(а):zg
см первый пост
в первом посте только твои действия, но нет описания проблемы, что именно не работает?
смотрим самый конец поста:
проверяю с удаленной машинки - всегда получаю страничку от http://www.dva.com
к какому домену я бы не обращался (odin.com или dva.com), всегда получаю страничку от dva.com

P.S.
проверял через telnet, другой возможности не было

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 19:49:00

m0ps писал(а):смотрим самый конец поста:
ну.. если двести раз зайти на один и тот же сайт, то всегда будет один и тот же сайт, собственно тут нет ничего удивительного
m0ps писал(а):к какому домену я бы не обращался (odin.com или dva.com), всегда получаю страничку от dva.com
у тебя алиасы неправильно прописаны, лучше пропиши ServerName без www, а с www создай алиас. Это может и не относится к делу, но глаз режет.

А вообще лучше выкинь всё лишнее из конфигов и проверь, чтобы каждый конфиг был успешно прочитан и подгружен.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 19:58:52

zg писал(а):у тебя алиасы неправильно прописаны, лучше пропиши ServerName без www, а с www создай алиас. Это может и не относится к делу, но глаз режет.
ок, завтра попробую
zg писал(а):А вообще лучше выкинь всё лишнее из конфигов и проверь, чтобы каждый конфиг был успешно прочитан и подгружен.
apachectl configtest выдает ok :unknown:

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 20:04:43

m0ps писал(а):apachectl configtest выдает ok
и? это говорит только о том, что конфиг не содержит ошибок. О том, что оба конфига были подключены он сказать не может. Поэтому последовательно нужно включить ошибку в оба файла и посмотреть как будет реагировать конфигтест.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 20:15:43

ну я так понимаю, что из нижеследующего следует что оба допконфига прочитались:

Код: Выделить всё

    [16:28]  /usr/local/etc/apache22 >apachectl -S
    VirtualHost configuration:
    wildcard NameVirtualHosts and _default_ servers:
    *:80                   is a NameVirtualHost
             default server www.dva.com (/usr/local/etc/apache22/Includes/dva.com.conf:1)
             port 80 namevhost www.dva.com (/usr/local/etc/apache22/Includes/dva.com.conf:1)
             port 80 namevhost www.odin.com (/usr/local/etc/apache22/Includes/odin.com.conf:1)
    Syntax OK

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 20:33:32

m0ps писал(а):port 80 namevhost www.dva.com
кстати, а как ты определяшь, что попадаешь на один и тот же сайт?

Код: Выделить всё

fetch http://www.odin.com
что закачивает?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение hizel » 2009-02-26 20:33:55

Код: Выделить всё

<VirtualHost _default_:80>
...
</VirtualHost>
как то так
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 20:47:11

zg писал(а):
m0ps писал(а):port 80 namevhost http://www.dva.com
кстати, а как ты определяшь, что попадаешь на один и тот же сайт?

Код: Выделить всё

fetch http://www.odin.com
что закачивает?

Код: Выделить всё

m0ps@m0ps-desktop:~$ telnet lissyara.su 80
Trying 77.221.149.162...
Connected to lissyara.su.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Server: nginx/0.6.35
Date: Thu, 26 Feb 2009 17:45:41 GMT
Content-Type: text/html;charset=ISO-8859-1
Connection: close
Content-Length: 2035

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /</title>
 </head>
 <body>
<h1>Index of /</h1>
<pre><img src="/icons/blank.gif" alt="Icon "> <a href="?C=N;O=D">Name</a>                    <a href="?C=M;O=A">Last modified</a>      <a href="?C=S;O=A">Size</a>  <a href="?C=D;O=A">Description</a><hr><img src="/icons/folder.gif" alt="[DIR]"> <a href="awstat/">awstat/</a>                 04-Sep-2008 22:27    -   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="cacti/">cacti/</a>                  21-Feb-2009 21:37    -   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="dspam/">dspam/</a>                  10-Nov-2008 23:50    -   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="mail_admin/">mail_admin/</a>             10-Nov-2008 23:50    -   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="phpMyAdmin/">phpMyAdmin/</a>             10-Nov-2008 23:50    -   
<img src="/icons/unknown.gif" alt="[   ]"> <a href="phpinfo.php">phpinfo.php</a>             29-Sep-2008 15:05   32   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="postfixadmin/">postfixadmin/</a>           10-Nov-2008 23:50    -   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="resusage/">resusage/</a>               26-Feb-2009 20:45    -   
<img src="/icons/text.gif" alt="[TXT]"> <a href="robots.txt">robots.txt</a>              11-Sep-2008 22:39   27   
<img src="/icons/folder.gif" alt="[DIR]"> <a href="roundcube/">roundcube/</a>              10-Nov-2008 23:50    -   
<img src="/icons/text.gif" alt="[TXT]"> <a href="statistic.html">statistic.html</a>          26-Feb-2009 05:05   10K  
<hr></pre>
<pre>

====================== cp1251 ==========================
?? ???? ???????? ??? ?????? ?????????? ??? ????????????
??????? ?? ???? ???????? ??? ? ??? ??? ?? ????? "????????? ??????


====================== koi8-r ==========================
?? ???? ???????? ??? ?????? ?????????? ??? ?????????????.
??????? ?? ???? ???????? ??? ? ??? ??? ?? ????? "????????? ???????" =)

</pre>
</body></html>
Connection closed by foreign host.
вот так.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-26 21:54:39

m0ps писал(а):вот так.
гм... и к чему это было?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-26 23:32:02

zg писал(а):
m0ps писал(а):вот так.
гм... и к чему это было?
объясняю на пальцах:
ты спросил -
кстати, а как ты определяшь, что попадаешь на один и тот же сайт?
я ответил:
конектимся телнетом на 80-й порт:

Код: Выделить всё

telnet domain.com 80
дальше посылаем запрос:

Код: Выделить всё

GET / HTTP/1.0
в ответ на который получаем индексную страничку

просто показал на примере lissyara.su

дак вот, в обоих случаях (odin.com и dva.com) в ответ получаю индексную страницу от dva.com

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-27 9:14:23

m0ps писал(а):я ответил:
конектимся телнетом на 80-й порт:
гм... а сайт Лиса тут при чём?
m0ps писал(а):дак вот, в обоих случаях (odin.com и dva.com) в ответ получаю индексную страницу от dva.com
ээээ... короче дело ясное, что дело тёмное

Код: Выделить всё

zg# cat /usr/local/etc/apache22/Includes/vhosts.conf
NameVirtualHost *:80

<VirtualHost _default_:80>
    ServerName odin.com
    ServerAlias www.odin.com odin.ru www.odin.ru odin
    ServerAdmin some@admin
    DocumentRoot "/usr/local/www/apache22/data/odin"
    <Directory "/usr/local/www/apache22/data/odin">
         AllowOverride All
         Order Deny,Allow
         Allow from all
         Options All
    </Directory>
    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        DirectoryIndex index.php index.html index.htm
    </IfModule>
</VirtualHost>

<VirtualHost *:80>
    ServerName dva.com
    ServerAlias www.dva.com dva.ru www.dva.ru dva
    ServerAdmin some@admin
    DocumentRoot "/usr/local/www/apache22/data/dva"
    <Directory "/usr/local/www/apache22/data/dva">
         AllowOverride All
         Order Deny,Allow
         Allow from all
         Options All
    </Directory>
    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        DirectoryIndex index.php index.html index.htm
    </IfModule>
</VirtualHost>

zg#

Код: Выделить всё

zg# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server odin.com (/usr/local/etc/apache22/Includes/vhosts.conf:3)
         port 80 namevhost odin.com (/usr/local/etc/apache22/Includes/vhosts.conf:3)
         port 80 namevhost dva.com (/usr/local/etc/apache22/Includes/vhosts.conf:20)
Syntax OK
zg#

Код: Выделить всё

zg# cat /etc/hosts
::1                     localhost localhost.test.ru
127.0.0.1               localhost localhost.test.ru
127.0.0.1               odin.com dva.com odin dva www.odin.com www.dva.com www.odin www.dva www.odin.ru www.dva.ru odin.ru dva.ru
192.168.111.11          zg.test.ru zg
192.168.111.11          zg.test.ru.
zg#

Код: Выделить всё

zg# wget -S --spider http://odin
--10:41:44--  http://odin/
           => `index.html'
Resolving odin... 127.0.0.1
Connecting to odin|127.0.0.1|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Fri, 27 Feb 2009 05:41:44 GMT
  Server: Apache/2.2.11 (FreeBSD) PHP/5.2.8 mod_ssl/2.2.11 OpenSSL/0.9.8e
  X-Powered-By: PHP/5.2.8
  File: /usr/local/www/apache22/data/odin/index.php
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/html
Length: unspecified [text/html]
200 OK

zg# wget -S --spider http://dva
--10:41:46--  http://dva/
           => `index.html'
Resolving dva... 127.0.0.1
Connecting to dva|127.0.0.1|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Fri, 27 Feb 2009 05:41:46 GMT
  Server: Apache/2.2.11 (FreeBSD) PHP/5.2.8 mod_ssl/2.2.11 OpenSSL/0.9.8e
  X-Powered-By: PHP/5.2.8
  File: /usr/local/www/apache22/data/dva/index.php
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/html
Length: unspecified [text/html]
200 OK

zg# wget -S --spider http://127.0.0.1
--10:43:15--  http://127.0.0.1/
           => `index.html'
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Fri, 27 Feb 2009 05:43:15 GMT
  Server: Apache/2.2.11 (FreeBSD) PHP/5.2.8 mod_ssl/2.2.11 OpenSSL/0.9.8e
  X-Powered-By: PHP/5.2.8
  File: /usr/local/www/apache22/data/odin/index.php
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/html
Length: unspecified [text/html]
200 OK

zg#

Код: Выделить всё

zg# cat /usr/local/www/apache22/data/odin/index.php
<?
header('File: '. __FILE__);
echo __FILE__, "\n";
?>
zg#

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение m0ps » 2009-02-27 13:12:13

вроде понял... все дело в проверке через telnet. если проверять им - всегда получаю страничку от дефолтного хоста. wget'ом качается нужная страничка. :unknown:

zg
спасибо за помощь...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Apache 2.2 и name based virtual hosts

Непрочитанное сообщение zg » 2009-02-27 14:47:12

m0ps писал(а):всегда получаю страничку от дефолтного хоста.
просто ты не указываешь Host, а именно поэтому заголовку и происходит идентификация вируального хоста

Код: Выделить всё

zg# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1
Host: odin.ru

HTTP/1.1 200 OK
Date: Fri, 27 Feb 2009 08:23:43 GMT
Server: Apache/2.2.11 (FreeBSD) PHP/5.2.8 mod_ssl/2.2.11 OpenSSL/0.9.8e
X-Powered-By: PHP/5.2.8
File: /usr/local/www/apache22/data/odin/index.php
Content-Length: 44
Content-Type: text/html

/usr/local/www/apache22/data/odin/index.php

^D
/usr/local/www/apache22/data/odin/index.php
Connection closed by foreign host.
zg# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1
Host: dva

HTTP/1.1 200 OK
Date: Fri, 27 Feb 2009 08:23:54 GMT
Server: Apache/2.2.11 (FreeBSD) PHP/5.2.8 mod_ssl/2.2.11 OpenSSL/0.9.8e
X-Powered-By: PHP/5.2.8
File: /usr/local/www/apache22/data/dva/index.php
Content-Length: 43
Content-Type: text/html

/usr/local/www/apache22/data/dva/index.php
^C^D
Connection closed by foreign host.
zg#