Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Настройка виртуальных хостов
 
 автор: colonel   (05.11.2009 в 16:33)   письмо автору
 
 

Всем доброго здравия, помогите настроить виртуальные хосты. В виду того, что 80 и 443 порты у меня заняты, то я решил настроить все на 8080 и 4343 портах.

Задачи такие:
1) настроить работу локальных хостов на 8080 и 4343 портах без указания доменной зоны
2) по возможности избавиться от набора порта после домена

Конфигурация апача: Apache/2.2.14 (Win32)
В httpd.conf поставил Listen 8080, включил поддержку виртуальных хостов Include conf/extra/httpd-vhosts.conf.

Теперь в файле httpd-vhosts.conf прописал: NameVirtualHost 127.0.0.1:8080 и далее хосты:
<VirtualHost test:8080>
    ServerAdmin webmaster@test.ru
    DocumentRoot "C:/Apache2.2/htdocs/test.ru/www"
    ServerName test
    ServerAlias www.test
    ErrorLog "C:/Apache2.2/htdocs/test.ru/logs/test.localhost-error.log"
    CustomLog "C:/Apache2.2/htdocs/test.ru/logs/test.localhost-access.log" common
    ErrorDocument 404 "C:/Apache2.2/htdocs/404.php"
    ScriptAlias /cgi/ "C:/Apache2.2/htdocs/test.ru/cgi/"
</VirtualHost>

это не работает ...

Если же допустим сделать так:
NameVirtualHost *:8080
<VirtualHost *:8080>
    ServerAdmin webmaster@test.ru
    DocumentRoot "C:/Apache2.2/htdocs/test.ru/www"
    ServerName test.ru
    ServerAlias www.test.ru
    ErrorLog "C:/Apache2.2/htdocs/test.ru/logs/test.localhost-error.log"
    CustomLog "C:/Apache2.2/htdocs/test.ru/logs/test.localhost-access.log" common
    ErrorDocument 404 "C:/Apache2.2/htdocs/404.php"
    ScriptAlias /cgi/ "C:/Apache2.2/htdocs/test.ru/cgi/"
</VirtualHost>

то работает ...

Спасибо.

  Ответить  
 
 автор: heed   (05.11.2009 в 22:28)   письмо автору
 
   для: colonel   (05.11.2009 в 16:33)
 

В этом вобщем-то и суть виртуальных хостов основаных на имени,
апаче получает запросы на порту который он слушает и читая из заголовков запроса поле host сравнивает его с именем прописанным как ServerName.
. а будет-ли запрос с именем или адресом направлен вообще апаче зависит от того есть-ли записи имени и адреса в файле hosts

если порты заняты этим-же апаче, то можно и не слушать порт 8080,
у меня всё работает на порт 80
а всё содержание httpd-vhosts.conf такое

NameVirtualHost *:*

<VirtualHost *:*>
    ServerName comp
    ServerAdmin webmaster@comp
    DocumentRoot "C:/X_DOCS/comp"
    ErrorLog "C:/X_DOCS/comp_error.log"
    CustomLog "C:/X_DOCS/comp_access.log" common
</VirtualHost>

# и дальше просто ещё несколько таких-же <VirtualHost *:*>
# , но с другими ServerName

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования