Как разместить более одного сайта на компьютере

Дано:
Веб-сервер apache 2.2

Задача:
Рразместить несколько сайтов на одном компьютере с одним ip

Решение:

В интернете, широко распространена практика размещения разных сайтов на одном ip. Подобная практика удобна для провайдеров, которые предоставляют услуги по размещению, как платных, так и бесплатных сайтов.

Сегодня я напишу небольшую инструкцию, как настроить apache 2.2 для размещения нескольких сайтов на одном локальном компьютере.

В основном все веб-хостеры, apache устанавливают на сервера под управлением Linux / Unix систем. В моем же случае, я буду описывать инструкцию для apache под управлением Windows. Т.к. в домашних условиях, широко распространена практика установки apache  на windows системы. Под Linux настройки для apache будут схожи.

В apache  все дополнительные сайты, считаются виртуальными хостами. И если вы сейчас не планируете размещать более одного сайта, то всё же рекомендую настроить apache  на размещение более одного виртуального хоста. Это позволит в будущем, если возникнет необходимость, без проблем добавить любое количество сайтов.

Настраивать apache  будем на примере добавления двух сайтов: firstsite.home и secondsite.home

Первым делом, создаем корневую папку (каталог) на диске, где будем размещать свои сайты. Например: d:\web. В этой папке создадим две папки, где разместим будущие два сайта – firstsite и secondsite. Полный путь к двум сайтам: d:\web\firstsite и d:\web\ secondsite

Открываем и редактируем основной конфигурационный файл apache  –  “..\conf\httpd.conf” (путь windows)

Ищем раздел # Virtual hosts и раскомментируем строку Include conf/extra/httpd-vhosts.conf. Эта строка подключит файл httpd-vhosts.conf  со списком наших будущих виртуальных хостов (сайтов). По умолчанию этот файл уже присутствует, при желании можно создать свой.

Далее открываем файл на редактирование conf/extra/httpd-vhosts.conf. В этом файле уже созданы два виртуальных сайта. Все подключаемые сайты заключены в теги:

<VirtualHost *:80>

</VirtualHost>

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

Далее прописываем настройки наших сайтов.

Для сайта www.firstsite.home

<VirtualHost *:80>
ServerAdmin webmaster@firstsite.home
DocumentRoot “ d:/web/firstsite
ServerName firstsite.home
ServerAlias www.firstsite.home
ErrorLog “logs/firstsite.home-error.log
CustomLog “logs/firstsite.home-access.log” common
</VirtualHost>

Для сайта www.secondsite.home

<VirtualHost *:80>
ServerAdmin webmaster@secondsite.home
DocumentRoot “ d:/web/secondsite
ServerName secondsite.home
ServerAlias www.secondsite.home
ErrorLog “logs/secondsite.home-error.log
CustomLog “logs/secondsite.home-access.log” common
</VirtualHost>

Думаю, назначение каждой из строк понятно. При желании 80 порт можно заменить на любой другой. А также необязательными являются следующие строки: ServerAdmin, ErrorLog и CustomLog. Всю конструкцию можно свести к следующему виду:

<VirtualHost *:80>
DocumentRoot “ d:/web/firstsite
ServerName firstsite.home
ServerAlias www.firstsite.home
</VirtualHost>

Сохраняем настройки и перезапускаем apache.
Остался последний шаг, – прописать наши сайты в файле C:\WINDOWS\system32\drivers\etc\hosts
Открываем на редактирование файл hosts, и добавляем следующие строки:

127.0.0.1             firstsite.home
127.0.0.1             secondsite.home

Сохраняем и закрываем.
Теперь открываем любой браузер и проверяем доступность сайтов по адресу:

http://firstsite.home и http://secondsite.home

Для того, чтобы настроить доступ к виртуальному сайту используют внутри конструкцию
<Directory “/usr/local/www/mysite.com”>
Order allow,deny
Allow from all
</Directory>

Пример:
<VirtualHost *:80>
    DocumentRoot “/usr/local/www/mysite.com”
    ServerName mysite.com
    ServerAlias www.mysite.com
    <Directory “/usr/local/www/mysite.com”>
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

Автор: Юрий (wdiz@bk.ru)

(Пока оценок нет)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x