1

Тема: Проблема с VirtualHost

Здравствуйте. На Windows XP SP2 Установил дистрибутивы MySQL 5.1.41, PHP 5.2.11, Apache 2.2.14, phpMyAdmin 3.2.3 по статье Инструментарий веб-разработчика. Дистрибутивы качал с неофициальных сайтов, чтобы версии были такие же как в статье. Работает http://localhost/phpmyadmin/ без ошибок, кроме следующей: "Версия клиентской библиотеки MySQL (5.0.51a) отличается от версии установленного MySQL-сервера (5.1.41). Это может привести к некорректной работе."

Не работает http://www.test.ru/pma   пишет: "Сервер не найден Firefox не может найти сервер www.test.ru."  В папке test.ru файл error.log пустой. Подскажите, пожалуйста, в чем дело? sad

Файл httpd-vhosts.conf :

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "D:/apache/localhost/www"
ServerName localhost
ErrorLog "D:/apache/localhost/error.log"
CustomLog "D:/apache/localhost/access.log" common
</VirtualHost>

<VirtualHost *:80>
   # Папка, в которой будет корень вашего хоста.
   DocumentRoot "D:/apache/test.ru/www"
   # Домен по которому вы сможете обращаться к виртуальному хосту.
   ServerName test.ru
   # Алиас (добавочное имя) домена.
   ServerAlias www.test.ru
   # Файл, в который будут записываться ошибки.
   ErrorLog "D:/apache/test.ru/error.log"
   # Файл журнала доступа к хосту.
   CustomLog "D:/apache/test.ru/access.log" common
</VirtualHost>

Файл hosts:

127.0.0.1 localhost
127.0.0.1 test.ru
127.0.0.1 www.test.ru

В папке apache файл error.log содержит:

[Tue Mar 30 11:55:25 2010] [notice] Apache/2.2.14 (Win32) PHP/5.2.11 configured -- resuming normal operations
[Tue Mar 30 11:55:25 2010] [notice] Server built: Sep 28 2009 22:41:08
[Tue Mar 30 11:55:25 2010] [notice] Parent: Created child process 2704
[Tue Mar 30 11:55:26 2010] [notice] Child 2704: Child process is running
[Tue Mar 30 11:55:26 2010] [notice] Child 2704: Acquired the start mutex.
[Tue Mar 30 11:55:26 2010] [notice] Child 2704: Starting 150 worker threads.
[Tue Mar 30 11:55:26 2010] [notice] Child 2704: Starting thread to listen on port 80.

2

Re: Проблема с VirtualHost

Markiz
В httpd.conf проверьте раскомментирована ли строка:
[mono]Include conf/extra/httpd-vhosts.conf[/mono]

"Версия клиентской библиотеки MySQL (5.0.51a) отличается от версии установленного MySQL-сервера (5.1.41). Это может привести к некорректной работе."  - Это не страшно.

Надо проверить не блокирует какая-нибудь программа, вроде антивируса перезапись файла hosts. Для проверки можно добавить в файл hosts строку:
[mono]127.0.0.1 php-myadmin.ru[/mono]
И попробовать открыть сайт php-myadmin.ru. Если hosts работает, то сайт открыться не должен.

3

Re: Проблема с VirtualHost

Спасибо за быстрый ответ.

Надо проверить не блокирует какая-нибудь программа, вроде антивируса перезапись файла hosts. Для проверки можно добавить в файл hosts строку:
127.0.0.1 php-myadmin.ru
И попробовать открыть сайт php-myadmin.ru. Если hosts работает, то сайт открыться не должен.

У меня на том компьютере, где стоит web-сервер, нет интернета. Можно как-нибудь по другому проверить?

В httpd.conf проверьте раскомментирована ли строка:
Include conf/extra/httpd-vhosts.conf

Строка раскомментирована.

4

Re: Проблема с VirtualHost

Markiz
Попробуйте очистить кеш DNS выполнив в командной строке:
[mono]ipconfig/flushdns[/mono]

Затем попробуйте сделать пинг домена.
[mono]ping test.ru[/mono]

5 (изменено: Markiz, 2010-03-31 07:52:12)

Re: Проблема с VirtualHost

После выполнения в коммандной строке Windows
ipconfig /flushdns
появляется сообщение:
"Настройка протокола IP для Windows Не удается очистить кеш распознавателя DNS: Ошибка исполнения функции."

6

Re: Проблема с VirtualHost

Markiz
Попробуйте включить службу DNS клиента.
Control Panel -> Administrative Tools -> Services -> строка DNS Client
Нажмите кнопку Start и выставьте автозапуск - Startup type "Automatic".

7

Re: Проблема с VirtualHost

Сделал как Вы сказали: запустил службу DNS-клиент, выполнил в коммандной строке ipconfig /flushdns и test.ru заработал!!!. Перед этим я еще обновил windows XP до SP3.

Результат в коммандной строке:

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

D:\Documents and Settings\administrator>ipconfig /flushdns

Настройка протокола IP для Windows

Успешно сброшен кэш распознавателя DNS.

D:\Documents and Settings\administrator>ping test.ru

Обмен пакетами с test.ru [127.0.0.1] по 32 байт:

Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128

Статистика Ping для 127.0.0.1:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
    Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек

D:\Documents and Settings\administrator>

Большое спасибо Hanut лично и администрации форума. Сам бы я долго искал ошибку.

8 (изменено: kuper, 2010-04-09 09:43:29)

Re: Проблема с VirtualHost

Вобще в файле httpd скорей всего у тебя нет строки Alias /pma "d:/apache/localhost/www/" путь к рнр админ

У меня было так и все работало пока не понадобилось несколько доменов разместить

пути к папкам такие

D:\apache\www\cms.test.ru\www

D:\apache\localhost\www

NameVirtualHost *:80

<VirtualHost *:80>
   DocumentRoot "d:/apache/localhost/www"
   ServerName localhost
   ErrorLog "d:/apache/localhost/error.log"
   CustomLog "d:/apache/localhost/access.log" common
</VirtualHost>



<VirtualHost cms.test.ru:80>
    ServerAdmin webmaster@213.kuper.ru
    DocumentRoot "d:/apache/cms.test.ru/www"
    ServerName cms.test.ru
    #ServerAlias www.cms.test.ru
# Файл, в который будут записываться ошибки.
   ErrorLog "d:/apache/cms.test.ru/www/error.log"
# Файл журнала доступа к хосту.
   CustomLog "d:/apache/cms.test.ru/www/access.log" common
</VirtualHost> 

и так

127.0.0.1 localhost
мой ип cms.test.ru

Как видно у меня на комп приходит домен 3 уровня

Мне понадобилось разместить допустим 10 таких доменов и не  4 уровня а именно 3 уровня, не знаю как обстоит дело с обычными доменами тк он у меня на хостинге но вот появилась необходимость сделать именно так

Теперь  это выглядит так

NameVirtualHost *:80





<VirtualHost localhost:80>
  ServerName localhost
  DocumentRoot "d:/apache/www/sql"
  ErrorLog "d:/apache/error.log"
  CustomLog "d:/apache/access.log" common
</VirtualHost>
<VirtualHost *:80>
  ServerName tbdev.test.ru
  DocumentRoot "D:/apache/www/tbdev"
</VirtualHost>
<VirtualHost *:80>
  ServerName jobs.test.ru
  DocumentRoot "D:/apache/www/jobs"
</VirtualHost>
<VirtualHost *:80>
  ServerName cms.test.ru
  DocumentRoot "D:/apache/www/cms.test.ru"
</VirtualHost>



И все домены я теперь складываю сюда D:\apache\www\тут любой ваш домен
и на локальной машине localhost так и остался доступен по этому адресу а из вне он стал доступен по адресу sql.test.ru


Вопщим вот так я это сделал у себя

9 (изменено: aleks2, 2010-05-07 08:41:26)

Re: Проблема с VirtualHost

У меня та же проблемма не хочет работать виртуальный хостинг на виндовс 7
вот листинг localhost он у семерки какой то странный - все закоментированно (последние три строки уже сам добавил)

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost
    127.0.0.1       test.ru
    127.0.0.1       www.test.ru

127.0.0.1 php-myadmin.ru

не смотря на то что в этом файле есть 127.0.0.1 php-myadmin.ru, сайт php-myadmin.ru все равно открывается?... комп и браузер нужно перезагружать после изменения localhost?...
вот результат выполнения команд ping

Microsoft Windows [Version 6.1.7600]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\Aleks>ping localhost

Обмен пакетами с Mediaserver.mydomen.ru [::1] с 32 байтами данных:
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс

Статистика Ping для ::1:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек

C:\Users\Aleks>ping test.ru
При проверке связи не удалось обнаружить узел test.ru.
Проверьте имя узла и повторите попытку.

C:\Users\Aleks>

вот листинг httpd-vhosts.conf

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
# <VirtualHost *:80>
#     ServerAdmin webmaster@dummy-host.it-good-luck.ru
#     DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.it-good-luck.ru"
#     ServerName dummy-host.it-good-luck.ru
#     ServerAlias www.dummy-host.it-good-luck.ru
#     ErrorLog "logs/dummy-host.it-good-luck.ru-error.log"
#     CustomLog "logs/dummy-host.it-good-luck.ru-access.log" common
# </VirtualHost>
# 
# <VirtualHost *:80>
#     ServerAdmin webmaster@dummy-host2.it-good-luck.ru
#     DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.it-good-luck.ru"
#     ServerName dummy-host2.it-good-luck.ru
#     ErrorLog "logs/dummy-host2.it-good-luck.ru-error.log"
#     CustomLog "logs/dummy-host2.it-good-luck.ru-access.log" common
# </VirtualHost>

<VirtualHost *:80>
   DocumentRoot "C:/apache/localhost/www"
   ServerName localhost
   ErrorLog "C:/apache/localhost/error.log"
   CustomLog "C:/apache/localhost/access.log" common
</VirtualHost>

<VirtualHost test.ru:80> # тут пробовал и со звездочкой, все равно не работает
   # Папка, в которой будет корень вашего хоста.
   DocumentRoot "C:/apache/test.ru/www"
   # Домен по которому вы сможете обращаться к виртуальному хосту.
   ServerName test.ru
   # Алиас (добавочное имя) домена.
   ServerAlias www.test.ru
   # Файл, в который будут записываться ошибки.
   ErrorLog "C:/apache/test.ru/error.log"
   # Файл журнала доступа к хосту.
   CustomLog "C:/apache/test.ru/access.log" common
</VirtualHost>

через localhost все работает, а вот через test.ru ничего не хочет работать
вот не пойму то ли я что то не то делаю, то ли это в винде 7 нужно что то еще настраивать?...
ipconfig /flushdns пробовал, все равно test.ru не хочет открываться

10

Re: Проблема с VirtualHost

Вы правильный файл редактируете? Он должен называться hosts.
[mono]C:\WINDOWS\system32\drivers\etc\hosts[/mono]

С данной строки можно снять комментарий:
127.0.0.1       localhost

<VirtualHost test.ru:80> - Так работать не будет, надо звездочку поставить.

11 (изменено: aleks2, 2010-05-07 12:58:37)

Re: Проблема с VirtualHost

Hanut сказал:

Вы правильный файл редактируете? Он должен называться hosts.
[mono]C:\WINDOWS\system32\drivers\etc\hosts[/mono]

С данной строки можно снять комментарий:
127.0.0.1       localhost

<VirtualHost test.ru:80> - Так работать не будет, надо звездочку поставить.

Комментарий снимал localhost работает как с комментарием так и без него, звездочка всегда стояла это я последний раз решил попробовать ее заменить на test.ru (увидел в восьмом посте <VirtualHost cms.test.ru:80>)
файл редактирую
C:\Windows\system32\drivers\etc\hosts.mvp
Кстати на оф сайте майкрософта другой localhost для семерки не такой как у меня на семерки максимальной
http://support.microsoft.com/kb/972034/ru


Все вроде разорался я с localhost, оказывается в моей (я так думаю что у всех так) семерке есть файл hosts.ics и hosts.mvp, а hosts без расширения нету (в актив дериктори он не удаляется?...), вот я особо не вникая нашел похожий по содержанию файл (hosts.mvp) и мучаюсь с ним, теперь создал hosts без расширения и test.ru стал пинговаться...

12

Re: Проблема с VirtualHost

aleks2
Все верно, файл должен называться [mono]hosts[/mono].

Эту строку можно закомментировать, но тогда 127.0.0.1 вам вернет DNS сервер, что не имеет особого смысла.
127.0.0.1       localhost

С Windows 7 не знаком, но теперь будем знать, что там есть целый набор файлов hosts.