Как разместить несколько сайтов на одном web-сервере?
Форумы Автоклуба ИЖ.2126.ru
23 Мая 2025, 11:41:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: С 1-го августа 2013 объявляется бессрочный месячник по борьбе с матом
   Начало   Главная Поиск Правила Камасутра Блоги Чат (1) Галерея Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как разместить несколько сайтов на одном web-сервере?  (Прочитано 2020 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vladimir ТС
Ветеран форума
******

Карма +525/-1
Offline Offline

Пол: Мужской
Сообщений: 1964

МО г.Пушкино


Chery Fora 2007



Пушкино, МО
Чери Фора
« : 06 Сентября 2006, 10:33:32 »

Появилась задача.
Дано:
1. Сервер 2-х процессорный оптерон с пятым рейдом 500 гигов.
2. W2003-Server Ent.
3. Apache2
Требуется:
На этом серваке разместить три сайта по различной тематике (доменные имена куплены, IP выделены).

Вопрос - что для этого из софта еще нужно и примерный план работ.
Записан
Жека
Ветеран форума
******

Карма +480/-0
Offline Offline

Пол: Мужской
Сообщений: 1285

Москва, ЮАО

ИЖ 2126-30 синий 2000г; турбоШНива млечка 2008г

« Ответ #1 : 06 Сентября 2006, 12:43:31 »

Я вот по этой инструкции настраивал, правда на локальной машине:



4. Виртуальные хосты Apache
"Виртуальные хосты - хосты, имеющие уникальный адрес
в Интернет, эмулируемые и поддерживаемые сервером"
Древнее языческое заклинание

Итак, Вы установили Apache и получили, таким образом, директорию z:/home/localhost/www для хранения документов и z:/home/localhost/cgi для CGI. Однако в Интернете Вы поддерживаете (или, скорее всего, будете поддерживать) несколько серверов, а Apache создал для Вас только один. Конечно, можно структуру этих нескольких серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache. В нашем распоряжении есть два вида виртуальных хостов: отдельные для каждого ip-адреса или же использующие один общий ip-адрес (так называемые name-based хосты - хосты, определяемые по имени). В тренировочных целях мы рассмотрим оба варианта, а именно, создадим хост hacker, использующий тот же адрес, что и localhost, а также хост cracker с адресом 127.0.0.2.
Важно!
Конечно, вместо "hacker" и "cracker" Вам нужно будет указать желаемые имена ваших виртуальных хостов. Советуем назвать их так же, как и на Вашем настоящем Web-сервере, но только без суффикса .ru или .com - это может многое упростить при программировании скриптов.
Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории z:/home с именем, совпадающим с именем сервера (мы уже проделывали нечто подобное с хостом localhost). Например, сервер hacker будет храниться в директории z:/home/hacker, которую Вам необходимо создать прямо сейчас (конечно, вместе с ее поддиректориями cgi и www, как мы делали это ранее), а хост cracker - в директории z:/home/cracker. В этих директориях будут находиться:

файлы access.log с журналом доступа к виртуальному серверу;
файлы errors.log с журналом ошибок сервера;
директория www, где, как обычно, будут храниться html-документы;
директория cgi для хранения CGI-программ.
Для установки виртуальных хостов необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия.

Откройте файл httpd.conf (можете для этого воспользоваться ярлыком Edit configuration в меню Пуск - Программы - Apache Web Server - Management). Перейдите в его конец, Вам предстоит добавить туда несколько строк. Добавьте следующие строки в конце файла после всех комментариев:

NameVirtualHost 127.0.0.1
#----localhost
<VirtualHost localhost>
  ServerAdmin webmaster@localhost
  ServerName localhost
  DocumentRoot "z:/home/localhost/www"
  ScriptAlias /cgi/ "z:/home/localhost/cgi/"
  ErrorLog z:/home/localhost/error.log
  CustomLog z:/home/localhost/access.log common
</VirtualHost>
#----hacker
<VirtualHost hacker>
  ServerAdmin webmaster@hacker.ru
  ServerName hacker
  DocumentRoot "z:/home/hacker/www"
  ScriptAlias /cgi/ "z:/home/hacker/cgi/"
  ErrorLog z:/home/hacker/error.log
  CustomLog z:/home/hacker/access.log common
</VirtualHost>
#----cracker
<VirtualHost cracker>
  ServerAdmin webmaster@cracker.ru
  ServerName cracker
  DocumentRoot "z:/home/cracker/www"
  ScriptAlias /cgi/ "z:/home/cracker/cgi/"
  ErrorLog z:/home/cracker/error.log
  CustomLog z:/home/cracker/access.log common
</VirtualHost>
Важно!
Обратите внимание на то, что мы добавили дополнительно секцию <VirtualHost> для хоста localhost. Если этого не сделать, то все запросы к нему (то есть, по адресу 127.0.0.1) будут обработаны name-based хостом hacker. Происходит это, видимо, из-за того, что хосты в секции <VirtualHost> имеют больший приоритет при обработке, чем главный хост, который мы создали до этого.
Директива NameVirtualHost говорит серверу, что указанный ip-адрес может использоваться несколькими виртуальными хостами, поэтому для обработки запросов, поступающих на этот адрес, нужно использовать протокол HTTP 1.1 (который, собственно, и поддерживает технику работы с name-based хостами).

При желании можно добавить и другие параметры в блоки <VirtualHost> (например, DirectoryIndex и т.д.) Не переопределенные параметры наследуются виртуальным хостом от главного. Однако не советую злоупотреблять настройками в этих секциях - лучше сделать их в файле .htaccess в директории нужного хоста, потому что компания, которая предоставляет (будет предоставлять) Вам "настоящие" виртуальные хосты в Интернете, вряд ли позволит менять эти блоки.

Но как же система узнает, что хост cracker сопоставлен с адресом 127.0.0.2, а hacker - вообще name-based хост? Для решения проблемы надо немного подправить системный файл hosts, который находится в директории C:\WINDOWS для операционных систем Windows 95/98/Millenium и C:\WINNT\SYSTEM32\DRIVERS\etc для Windows NT и Windows 2000.
Важно!
Не путайте файл hosts (без расширения) с файлом hosts.sam, который, скорее всего, также расположен в той же директории! Последний файл является просто демонстрационным примером Microsoft и никак не используется системой. Если файла hosts не существует, его необходимо создать.
Файл hosts - обычный текстовый файл, и в нем может быть заранее записана только одна строка:


127.0.0.1       localhost
Именно эта строка и задает соответствие имени localhost адресу 127.0.0.1. (Ради справедливости следует сказать, что имя localhost работает и без указанной выше строки. Ну и выдумщики же эти парни из компании Microsoft!) Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

127.0.0.1  localhost hacker
127.0.0.2  cracker
Обратите внимание на то, что хост hacker описан на той же строке, что и localhost. Дело в том, что в файле hosts должны указываться только уникальные ip-адреса. Если же одному адресу сопоставляется сразу несколько хостов, то один из них (тот, который идет первым) объявляется главным, а остальные - его синонимами. В нашем случае localhost - главный, а hacker - его синоним. Apache при получении запроса на адрес 127.0.0.1 узнает, что он пришел хосту с именем hacker, и активизирует соответствующий блок <VirtualHost>.

Итак, мы создали виртуальные хосты со следующими свойствами:
Хост hacker:
имя - hacker;
доступен по адресу http://hacker;
расположен в директории z:/home/hacker;
директория для хранения документов - z:/home/hacker/www, доступная по адресу http://hacker/;
директория для CGI - z:/home/hacker/cgi, доступная по адресу http://hacker/cgi/;
файлы журналов хранятся в z:/home/hacker.
Хост cracker:
имя - cracker;
доступен по адресу http://cracker или http://127.0.0.2;
расположен в директории z:/home/cracker;
директория для хранения документов - z:/home/cracker/www, доступная по адресу http://cracker/;
директория для CGI - z:/home/cracker/cgi, доступная по адресу http://cracker/cgi/;
файлы журналов хранятся в z:/home/cracker.
Важно!
Необходимо заметить, что главный хост (невиртуальный, тот, который мы создали ранее) по-прежнему доступен по адресу http://127.0.0.1 или http://localhost. Более того, его директория /cgi-bin/ "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.
После всех изменений не забывайте перезапускать Apache.
Важно!
Если установлен Apache версии ниже 1.3.20, то просто закрыть окно сервера, нажав на кнопку Закрыть в его правом верхнем углу, недостаточно - нужно воспользоваться ярлыком Stop Apache в меню Пуск - Программы - Apache Web Server - Management. В противном случае закроется только окно Apache, а сам сервер останется работать в фоновом режиме, так что изменения, внесенные в httpd.conf, не будут активизированы. Действует принцип: если ярлык закрытия сервера в меню Пуск присутствует, значит, обязательно нужно им пользоваться, иначе - можно закрывать окно принудительно.
« Последнее редактирование: 06 Сентября 2006, 12:45:37 от Жека » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines

Яндекс.Метрика

Google последней посетил эту страницу 07 Октября 2023, 21:09:29