Страница 1 из 1
Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 17:31:47
m0ps
что-то я совсем торможу. надо поднять простенький вебсервер (apache + php) на одном ip для двух сайтов - odin.com и dva.com
в
httpd.conf добавил строчку:
создал
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
в чем может быть проблемма?

Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 17:49:01
hizel
патамушта в английском алфавите
o идет после
d
//К.О.
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 18:01:30
m0ps
hizel писал(а):патамушта в английском алфавите
o идет после
d
//К.О.
я так тож подумал, но не мог представить что все настолько банально...
как мне указать дефолтный в ручную?
почему оно в таки=ом виде нефига не работает %)
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:13:07
zg
m0ps писал(а):как мне указать дефолтный в ручную?
дефолтным считается первый в порядке чтения конфига, поэтому его нужно разместить в httpd.conf
m0ps писал(а):почему оно в таки=ом виде нефига не работает %)
в каком виде и как именно не работает?
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:29:45
m0ps
zg
см первый пост
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:37:02
zg
m0ps писал(а):zg
см первый пост
в первом посте только твои действия, но нет описания проблемы, что именно не работает?
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:41:46
m0ps
zg писал(а):m0ps писал(а):zg
см первый пост
в первом посте только твои действия, но нет описания проблемы, что именно не работает?
смотрим самый конец поста:
к какому домену я бы не обращался (odin.com или dva.com), всегда получаю страничку от dva.com
P.S.
проверял через telnet, другой возможности не было
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:49:00
zg
m0ps писал(а):смотрим самый конец поста:
ну.. если двести раз зайти на один и тот же сайт, то
всегда будет один и тот же сайт, собственно тут нет ничего удивительного
m0ps писал(а):к какому домену я бы не обращался (odin.com или dva.com), всегда получаю страничку от dva.com
у тебя алиасы неправильно прописаны, лучше пропиши ServerName без www, а с www создай алиас. Это может и не относится к делу, но глаз режет.
А вообще лучше выкинь всё лишнее из конфигов и проверь, чтобы каждый конфиг был успешно прочитан и подгружен.
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 19:58:52
m0ps
zg писал(а):у тебя алиасы неправильно прописаны, лучше пропиши ServerName без www, а с www создай алиас. Это может и не относится к делу, но глаз режет.
ок, завтра попробую
zg писал(а):А вообще лучше выкинь всё лишнее из конфигов и проверь, чтобы каждый конфиг был успешно прочитан и подгружен.
apachectl configtest выдает ok

Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 20:04:43
zg
m0ps писал(а):apachectl configtest выдает ok
и? это говорит только о том, что конфиг не содержит ошибок. О том, что
оба конфига были подключены он сказать не может. Поэтому последовательно нужно включить ошибку в оба файла и посмотреть как будет реагировать конфигтест.
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 20:15:43
m0ps
ну я так понимаю, что из нижеследующего следует что оба допконфига прочитались:
Код: Выделить всё
[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
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 20:33:32
zg
кстати, а как ты определяшь, что попадаешь на один и тот же сайт?
что закачивает?
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 20:33:55
hizel
Код: Выделить всё
<VirtualHost _default_:80>
...
</VirtualHost>
как то так
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 20:47:11
m0ps
zg писал(а): кстати, а как ты определяшь, что попадаешь на один и тот же сайт?
что закачивает?
Код: Выделить всё
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.
вот так.
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 21:54:39
zg
m0ps писал(а):вот так.
гм... и к чему это было?
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-26 23:32:02
m0ps
zg писал(а):m0ps писал(а):вот так.
гм... и к чему это было?
объясняю на пальцах:
ты спросил -
кстати, а как ты определяшь, что попадаешь на один и тот же сайт?
я ответил:
конектимся телнетом на 80-й порт:
дальше посылаем запрос:
в ответ на который получаем индексную страничку
просто показал на примере lissyara.su
дак вот, в обоих случаях (odin.com и dva.com) в ответ получаю индексную страницу от dva.com
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-27 9:14:23
zg
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#
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-27 13:12:13
m0ps
вроде понял... все дело в проверке через telnet. если проверять им - всегда получаю страничку от дефолтного хоста. wget'ом качается нужная страничка.
zg
спасибо за помощь...
Re: Apache 2.2 и name based virtual hosts
Добавлено: 2009-02-27 14:47:12
zg
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#