Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Виртуальные хосты в Apache

Автор: Yuraz
Дата сообщения: 30.08.2002 07:00
До этого работал на раней версии apache, там было как то проще, пишешь Ip, пути к папке cgi www и все. Обращался как у http://127.0.0.1, http://127.0.0.2, http://127.0.0.3. Тут пишу как в примере и ни как(403 ош. и др). Не понял, IP сейчас вообще не нужен? Файл host в папке win прописал IP : SERVER

часть httpd.conf (пример):

<VirtualHost *>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

Можно ли рабочий вариант посмотреть? Как и где папки (www & cgi-bin in newserver) прописать? Заранее спасибо.





Основные проблемы с виртуальными хостами


1. ?

Цитата:

При запросе корня mainserver грузится то что прописано в первом VirtualHost как DocumentRoot


Решение:

Цитата:

Первого виртуального хоста делаешь точь в точь, как мейнсервера - настройки все дублируешь.


Автор: axelk
Дата сообщения: 30.08.2002 08:41
обращайся как http://dummy-host.example.com
Автор: new_yorik
Дата сообщения: 30.08.2002 08:48
<VirtualHost 172.21.1.140:*>
ServerAdmin webmaster@serv1.ru
ServerName error
DocumentRoot "d:/home/error/"
ScriptAlias /cgi-bin/ "d:/home/error/cgi/"
ErrorLog d:/home/error/error.log
CustomLog d:/home/error/access.log common
</VirtualHost>
в юнихе сответсвенно пути поменяеш
Автор: VolxV
Дата сообщения: 30.08.2002 13:37
Файлика "host" не бывает. Бывает "hosts".
В винтукее файлик hosts находится не в корне винды,
а в еёной "SYSTEM32/DRIVERS/etc".
Автор: EndoR
Дата сообщения: 30.08.2002 18:15
Рабочий вариант?
<VirtualHost 1.2.3.4>
ServerAdmin webmaster@xxx.ru
DocumentRoot /site/photo
<Directory />
Options Indexes
</Directory>
ServerName photo.xxx.ru
ErrorLog /site/photo/photo_error_log
CustomLog /site/photo/photo_access_log common
</VirtualHost>
...мож ты забыл, сделав изменения, перезапустить апач?
Автор: Yuraz
Дата сообщения: 31.08.2002 08:28
VolxV:

Цитата:
Файлика "host" не бывает. Бывает "hosts".
В винтукее файлик hosts находится не в корне винды,
а в еёной "SYSTEM32/DRIVERS/etc".


А зачем он нужен? Ни в одном описании установки апача про него не написанно ничего.

Автор: new_yorik
Дата сообщения: 31.08.2002 08:30
Yuraz

Цитата:
А зачем он нужен?

жалкое подобие DNS
Автор: Yuraz
Дата сообщения: 31.08.2002 09:04

Цитата:
жалкое подобие DNS

А, ну если обращаешься по IP, то он значит мне не понадобится.

Опять проблема, кстати, спасибо EndoR и др. всё настроил, получилось, в общем
сейчас не склеиваются файлы SHTML(SSI), установил расширение как обрабатываемое, кинул .htaccess со строкой
DirectoryIndex index.shtml

в httpd.conf ещё снял пару галочек,

# To use server-parsed HTML files
#
AddType text/html .shtml
AddHandler server-parsed .shtml

выдает браузеру страницы, как они есть на сервере, т.е. без заголовков, шапок и т.п., что я забыл прописать?
В старом апаче вроде SSI по умолчанию работал.
Автор: lynx
Дата сообщения: 31.08.2002 16:17
Yuraz


Цитата:
сейчас не склеиваются файлы SHTML(SSI), установил расширение как обрабатываемое, кинул .htaccess со строкой
DirectoryIndex index.shtml


Надо ж сказать серверу, что он должен обрабатывать файлы с расшиением .shtml на предмет наличия в них инклудов.

<Directory путь_к_документ_рут>
Options Includes
</Directory>
Автор: Yuraz
Дата сообщения: 02.09.2002 06:14
lynx спасибо!
Вопросов больше не имею :)
Автор: shot_art
Дата сообщения: 25.03.2003 21:50
Аналогичная проблема (конечно, для меня). Установлен сервер Apache 1.3.х, PHP, MySQL, Perl на W2k... Изначально все настроено на localhost (так было). Надо сделать 4 виртуальных хоста, которые определены через 3 разных DNS.

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

У меня это прописано так:

<----------------------- hosts ----------------------->
127.0.0.1 localhost site1.host1.com site2.host1.com site3.host2.com site4.host3.com

<----------------------- httpd.conf ----------------------->
NameVirtualHost 127.0.0.1

<VirtualHost site1.host1.com>
ServerAdmin any@addr.com
DocumentRoot x:/web/site1
ServerName site1.host1.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost site2.host1.com>
ServerAdmin any@addr.com
DocumentRoot x:/web/site2
ServerName site2.host1.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost site3.host2.com>
ServerAdmin any@addr.com
DocumentRoot x:/web/site3
ServerName site3.host2.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost site4.host3.com>
ServerAdmin any@addr.com
DocumentRoot x:/web/site4
ServerName site4.host3.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

Что не так? А ведь наверняка - глупость какая-то малая...
Пожалуйста, посоветуйте решение (дабы не спотыкаться дальше).
Спасибо.
Автор: lynx
Дата сообщения: 25.03.2003 23:01
shot_art


Цитата:
localhost забивает первый из прописанного за ним...


Это все правильно. Так и должно быть. Первого виртуального хоста делаешь точь в точь, как мейнсервера - настройки все дублируешь и не пользуешься им.



Цитата:
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common


Если закомментить путь к файлам логов, то сервер должен ругаться и отказываться стартиться (или рестартиться).




Цитата:
Что не так? А ведь наверняка - глупость какая-то малая...
Пожалуйста, посоветуйте решение (дабы не спотыкаться дальше).


Так а что при этом не работает то, ты же не сказал?

Короче.
1. Первого хоста делай как мейнсервер, обзови его также и все как у него.
2. Раскомменти пути к файлам логов.
3. Застарти сервера, потести.
4. Скажи, что получилось.



Цитата:
<VirtualHost site2.host1.com>


Можешь еше написать
<VirtualHost 127.0.0.1>
Автор: shot_art
Дата сообщения: 26.03.2003 06:30
lynx

Цитата:
Так а что при этом не работает то, ты же не сказал?
не работает то, что прописано после второго (с учетом localhost) виртуального сервера... Получается это от того (наверно), что идет на первый сервер (то есть - если что и проходит/видно, то это копии первого сервера)... Такое впечатление, что все серверы - это один первый...


Цитата:
2. Раскомменти пути к файлам логов
нет, на самом деле это прописано по каждому индивидуально (без коментария на дискриптор).

Спасибо.

Автор: yahoo777
Дата сообщения: 12.05.2003 17:16
Установлен сервер Apache 1.3.14, PHP на XP

<----------------------- hosts ----------------------->
127.0.0.1 localhost sergeyminaev

<----------------------- httpd.conf ----------------------->

NameVirtualHost 127.0.0.1

###----------------localhost
<virtualhost localhost>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot "F:/server/home/localhost/www"
ErrorLog F:/server/home/localhost/error.log
CustomLog F:/server/home/localhost/access.log common
</virtualhost>
###---------------sergeyminaev
<virtualhost sergeyminaev>
ServerAdmin webmaster@sergeyminaev.ru
ServerName sergeyminaev
DocumentRoot "F:/server/home/sergeyminaev/www"
ErrorLog F:/server/home/sergeyminaev/error.log
CustomLog F:/server/home/sergeyminaev/access.log common
</virtualhost>

http://localhost - браузер выдаёт index.html из F:/server/home/localhost/www
http://sergeyminaev - браузер выдаёт сообщение Страница недоступна в атономном режиме >>> Подключиться>>> загружается подключение удалённого доступа...

Что неправильно? Создан в моём случае виртуальный хост?
Автор: lynx
Дата сообщения: 12.05.2003 19:34
yahoo777


Цитата:
NameVirtualHost 127.0.0.1
 
###----------------localhost
<virtualhost localhost>
    ServerAdmin webmaster@localhost
    ServerName localhost
    DocumentRoot "F:/server/home/localhost/www"
    ErrorLog F:/server/home/localhost/error.log
    CustomLog F:/server/home/localhost/access.log common
</virtualhost>
###---------------sergeyminaev
<virtualhost sergeyminaev>
    ServerAdmin webmaster@sergeyminaev.ru
    ServerName sergeyminaev
    DocumentRoot "F:/server/home/sergeyminaev/www"
    ErrorLog F:/server/home/sergeyminaev/error.log
    CustomLog F:/server/home/sergeyminaev/access.log common
</virtualhost>



Напиши так:

NameVirtualHost 127.0.0.1
 
###----------------localhost
<virtualhost 127.0.0.1>
    ServerAdmin webmaster@localhost
    ServerName localhost
    DocumentRoot "F:/server/home/localhost/www"
    ErrorLog F:/server/home/localhost/error.log
    CustomLog F:/server/home/localhost/access.log common
</virtualhost>
###---------------sergeyminaev
<virtualhost 127.0.0.1>
    ServerAdmin webmaster@sergeyminaev.ru
    ServerName sergeyminaev
    DocumentRoot "F:/server/home/sergeyminaev/www"
    ErrorLog F:/server/home/sergeyminaev/error.log
    CustomLog F:/server/home/sergeyminaev/access.log common
</virtualhost>
Автор: woffer
Дата сообщения: 11.07.2003 14:47
вот, мне наверное сюда, если не ошибаюсь.

Apache/1.3.27
oc - win98

Кусок конфига


Код:
NameVirtualHost 127.0.0.2

<VirtualHost 127.0.0.2>
ServerName u
ServerAdmin admin@\
DocumentRoot p:/home/new/www/
<Directory p:/home/new/www/>
Options Includes
AllowOverride all
</Directory>
ErrorLog p:/home/new/logs/error.log
CustomLog p:/home/new/logs/access.log common
ScriptAlias /cgi-bin/ "p:/home/new/cgi-bin/"
<Directory p:/home/new/cgi-bin/>
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Автор: lynx
Дата сообщения: 12.07.2003 14:00
woffer

В таком виде, как ты написал, все правильно и все должно работать.


Цитата:
NameVirtualHost - это что ? Тот хост на котором виртуальные находятся ?


Тот IP, по которому можно к хосту обращаться.

http://127.0.0.1/manual/mod/core.html#namevirtualhost

Директива используется тогда, когда ты настраиваешь вирт. хосты как NameBased, то есть основанные на имени. Еще можно на IP основывать: http://127.0.0.1/manual/vhosts/name-based.html


Цитата:

P-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. Therefore you need to have a separate IP address for each host. With name-based virtual hosting, the server relies on the client to report the hostname as part of the HTTP headers. Using this technique, many different hosts can share the same IP address.

Name-based virtual hosting is usually simpler, since you need only configure your DNS server to map each hostname to the correct IP address and then configure the Apache HTTP Server to recognize the different hostnames. Name-based virtual hosting also eases the demand for scarce IP addresses. Therefore you should use name-based virtual hosting unless there is a specific reason to choose IP-based virtual hosting. Some reasons why you might consider using IP-based virtual hosting:


Короче, что у тебя сейчас то? В свойствах соединения прокси стоит? Тогда поставь галку "Не использовать прокси для локальных адресов" и пропиши адреса:
127.0.0.1;127.0.0.2

Кстати, почему у тебя 127.0.0.2, а не 127.0.0.1 ? Хотя это не должно никак влиять.
Автор: woffer
Дата сообщения: 12.07.2003 15:03
lynx

Цитата:
Короче, что у тебя сейчас то?

Отредактировал первый пост - там то, что у меня сейчас.

Цитата:
почему у тебя 127.0.0.2, а не 127.0.0.1

Показалось логичным каждому вирт. серверу свой ип.
Автор: L0Ve
Дата сообщения: 13.07.2003 00:01
woffer
Поставь еще в свойствах подключения к инету, "Не использовать подключение" или что-то типа...
Потом, когда будешь заходить - вылезет, какая-то ошибка и там нажми "Повторить".
Автор: woffer
Дата сообщения: 13.07.2003 05:39
L0Ve уже пробовал - не работает (ставил не поключаться к инету, при попытке отратиться вылезает окно что подключение не возможно, повторить или работать оффлайно ? Повторить - окно появляется снова, оффлайн - выводит страницу из кэша браузера)
Еще вопрос: кроме того конфига что я привел, больше нигде ничего править не надо ?
Автор: lynx
Дата сообщения: 13.07.2003 10:26
woffer


Цитата:
уже пробовал - не работает (ставил не поключаться к инету, при попытке отратиться вылезает окно что подключение не возможно, повторить или работать оффлайно ? Повторить - окно появляется снова, оффлайн - выводит страницу из кэша браузера)


Ну, поменяй, что ли, браузер, перезагрузись, в общем, что-то предельно простое, какая-то галка, Апач то тут сосвем не при чем.


Цитата:
кроме того конфига что я привел, больше нигде ничего править не надо ?

Смотря, что тебе нужно. В том виде, что есть, будет выводится листинг директории в папке корня, если туда не положен файл index.html, будут работать скрипты, и будут работать все директивы в .htaccess.
Автор: woffer
Дата сообщения: 13.07.2003 11:54

Цитата:
Смотря, что тебе нужно. В том виде, что есть, будет выводится листинг директории в папке корня, если туда не положен файл index.html, будут работать скрипты, и будут работать все директивы в .htaccess

Будет, будет.. невыводится Браузе сменить ? Попробую.
Автор: woffer
Дата сообщения: 13.07.2003 18:20
Netscape 6.1 показывает, выдает запрос на подключение, закрываю - показывает и больше подключаться не требует.
В IE - включил не использовать и заметил такую вещь - f5 - повторить - f5 - повторить. Все начинает работать. (( Включать/выключать туда сюда неудобно. Что это может быть за проблема ?
Автор: shot_art
Дата сообщения: 13.07.2003 18:52
woffer
Цитата:
заметил такую вещь
то, что ты делаешь - "заменить" кеш браузера на новый вариант того, что просматриваешь (так же запутанно, как ты пишешь сам - может понятнее оно тебе будет

Далее (не смешно)... что Вы все ищете проблему в смене браузера... В разных версиях Windows (98/NT/2K/2KS/2KSA/...) Apache выдает по-разному "понимание много-хостовости". Реально для Win98/2K есть один IP (на который липнут все остальные) и один HTTP (на который липнут все остальные) - это для "чтения" Вашего сайта(-ов) из вне (то есть, Интернет). Интранет/ЛокальнаяСеть/проволока - все работает замечательно (пока нет проблем с правильностью настройки).

Вопросы? Ради Бога - пиши корректно (с точки зрения стиля), не торопи мысли...

Автор: woffer
Дата сообщения: 13.07.2003 21:32
shot_art Извини, где я пишу непонятно ? Вроде все предельно ясно и четко описано. Впрочем, каждому свое.

Вопросы ? Конкретный вопрос. Как сделать виртуальный хост, доступный по ip 127.0.0.2 (при этом необходимо, чтобы был корректно настроен выход в интернет) ?

ps: мы можем переместится в пм, если это для тебя удобнее.
Автор: shot_art
Дата сообщения: 13.07.2003 22:52
woffer
Цитата:
Как сделать виртуальный хост, доступный по ip 127.0.0.2
лучше, если ты посмотришь это http://www.dslwebserver.com

если реально, то используй Windows2K server (или Advanced Server). В Windows2K PRO это сделать с помощью Apache полувозможно (точнее - не реально). Если ты на Windows, то ты можешь запустить IIS вторым сервером (помни о Firewall - разреши новые порты для http).

для Apache

1. пропиши в "hosts." свои декларации (знаешь, где его искать)
127.0.0.1 server1
127.0.0.2 name

если у тебя определена декларация для localhost (и ты в сомнении), то все ссылки на первый адрес у тебя пойдут НА НЕГО (будь осторожен, потому что все отладочные варианты, имеющие Alias будут доступны)

2. в файле конфигурации Apache напиши вроде этого
ServerRoot "C:/iweb/apache"
...
Listen 127.0.0.2:80
Listen 82
...
DocumentRoot "z:/any_we_site"
...
###############################
NameVirtualHost server1.host.com:80
<VirtualHost 127.0.0.1>
ServerAdmin sss@host.com
DocumentRoot z:/any_we_site
ServerName server1.host.com
ServerAlias server1 server1.host.com
ErrorLog z:/any_we_site/_stat/error.log
TransferLog z:/any_we_site/_stat/access.log
</VirtualHost>
###############################
#NameVirtualHost server2.host.com:82
#NameVirtualHost 127.0.0.2:82
# соответственно для этого ника

При этом у тебя прописано все в DSN (как динамические имена для твоего текущего адреса)

Что-то пропустил... подстрой сам (по логике твоей конфигурации).

- - - - - - - - - -
ps:
есть хороший вариант двух Apache (1.x и 2.x) -
http://www.firepages.com.au/phpdev5.htm

- - - - - - - - - -

Цитата:
мы можем переместится в пм
у меня настройка получения писем из этого раздела. И, к тому же, какую OS ты используешь? Если Linux... то правильно (я на Windows)...
Автор: woffer
Дата сообщения: 14.07.2003 07:48

Цитата:
если реально, то используй Windows2K server (или Advanced Server). В Windows2K PRO это сделать с помощью Apache полувозможно (точнее - не реально).

Не реально. И

Цитата:
какую OS ты используешь?

98 se, на предыдущей странице в первом посте написано.
----

ServerRoot и DocumentRoot прописал.

Цитата:
Listen 127.0.0.2:80
Listen 82

Прописал.
127.0.0.1 server1
127.0.0.2 server2

config:

Код:
### Section 3: Virtual Hosts
NameVirtualHost server1.host.com:80
<VirtualHost 127.0.0.1>
ServerAdmin sss@host.com
DocumentRoot p:/home/new/www
ServerName server1.host.com
ServerAlias server1 server1.host.com
ErrorLog p:/home/new/log/error.log
TransferLog p:/home/new/log/access.log
</VirtualHost>
##############################
NameVirtualHost server2.host.com:82
NameVirtualHost 127.0.0.2:82
<VirtualHost 127.0.0.2>
ServerAdmin sss@host.com
DocumentRoot p:/home/new2/www
ServerName server2.host.com
ServerAlias server2 server2.host.com
ErrorLog p:/home/new2/log/error.log
TransferLog p:/home/new2/log/access.log
</VirtualHost>

# end of Section 3: Virtual Hosts
Автор: lynx
Дата сообщения: 14.07.2003 13:51
woffer


Цитата:
Запускаю - пытается выйти в интернет. Не пускаю. В результате:
[Mon Jul 14 09:42:55 2003] [error] Cannot resolve host name server1.host.com ---
ignoring!
[Mon Jul 14 09:42:55 2003] [error] Cannot resolve host name server2.host.com ---
ignoring!
[Mon Jul 14 09:42:55 2003] [warn] NameVirtualHost 127.0.0.2:82 has no VirtualHos
ts


Так пишется только если неправильно прописано в файле hosts
Ты его где взял? У тебя Винда то какая? Файл не должен иметь расширения и лежит в NT в:
%SystemRoot%\Winnt\System32\drivers\etc\


Автор: shot_art
Дата сообщения: 14.07.2003 14:08
woffer
еще раз:
есть хороший вариант двух Apache (1.x и 2.x) -
http://www.firepages.com.au/phpdev5.htm - от тебя требуется только установить этот пакет (автоматически) и лишь немного поправить (инструкции прилагаются). Если ты установишь у себя на Win98se это, то разбирешься быстрее. "Ручками" писать начнешь позже (было б для чего), попробуй использовать полу-автоматические пакеты... больше наглядности.

хотя 98se... непредсказуема... для таких игр

Добавлено
ps: где-то здесь на форуме есть инструкция по установке Apache - используй (lynx -если не сложно, напомни пожалуйста)


Добавлено
woffer
Цитата:
уже пробовал - не работает (ставил не поключаться к инету, при попытке отратиться вылезает окно что подключение не возможно, повторить или работать оффлайно ? Повторить - окно появляется снова, оффлайн - выводит страницу из кэша браузера)
да ты где-то снял коментарий в файлах конфигурации... там же написано - "как пример"... вот он (сервер) и ищет эту "абстракцию" во внешнем мире (не на локале)...
Автор: woffer
Дата сообщения: 14.07.2003 14:58
lynx

Цитата:
Ты его где взял? У тебя Винда то какая?

Повторяю уже в третий раз 98se (. Лежит где нужно %windir%/hosts

shot_art

Цитата:
есть хороший вариант двух Apache (1.x и 2.x) -
http://www.firepages.com.au/phpdev5.htm - от тебя требуется только установить этот пакет (автоматически) и лишь немного поправить (инструкции прилагаются). Если ты установишь у себя на Win98se это, то разбирешься быстрее. "Ручками" писать начнешь позже (было б для чего), попробуй использовать полу-автоматические пакеты... больше наглядности

Мне не нужно два экземляра Apache. И не нужны полуавтоматические пакеты (. Я хочу понять что не так.

Цитата:
да ты где-то снял коментарий в файлах конфигурации...

конкретнее можно ? или нет ?
shot_art

Цитата:
ps.
Еще вопрос, если выбрать 'не использовать подключения к интернету', работает тот конфиг, который я приводил на предыдущей странице. Почему ?

Страницы: 123456789

Предыдущая тема: Пропала локальная сеть


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.