Виртуальный хостинг или как организовать работу нескольких сайтов на одном ip адресе

Организовать работу нескольких сайтов на одном ip адреса не так и сложно. Вы сможете воспроизвести это на любом дистрибутиве Linux.

Установка операционной системы здесь намеренно не описывается, для этого обратитесь к соответствующей статье. Мы начнем с установки веб-сервера apache. Здесь необходимо сделать одно отступление: наименование пакетов, исполняемых и конфигурационных файлов веб-сервера apache в разных дистрибутивах могут располагаться и называться по разному, это статья описывает работу веб-сервера apache в окружении на базе ОС Debian GNU/Linux 7 (Wheezy). Для установки сервера в из штатных репозиториев воспользуйтесь от лица суперпользователя root командой:

   apt-get install apache2

Вероятно после установки веб-сервер запустится автоматически, это можно проверить:

   /etc/init.d/apache2 status

Если да, apache запущен, можно попробовать обратиться к нему по IP из вашей подсети с помощью браузера, если нет, используйте те же команды, описанные выше, только вместо "status" вбейте команду "start".

Итак сервер запущен и доступен из вашей подсети. Самое время загрузить на него наши сайты и научить его их отдавать в зависимости от доменного имени сайта.

Создадим для каждого сайта свой каталог, например в /var/www (как это обычно делают, но вы можете выбрать и другое месторасположение). Сделать это можно командой:

   mkdir /var/www/mysite1 /var/www/mysite2

Поместите файлы ваших сайтов в соответствующие папки любым доступным способом (флэшка, scp, ftp, wget....)

Теперь необходимо указать верного владельца и группу владельца на эти папки, чтобы apache мог при необходимости записывать туда данные. В Debian 7 это www-data и www-data соответственно. Проверить или изменить имя пользователя и группу можно в глобальном конфигурационном файле apache в секциях User и Group соответственно:

   nano /etc/apache2/apache2.conf

Меняем владельца и группу каталога /var/www:

   chown -R www-data:www-data /var/www

Подготовительный этап закончен. Теперь приступаем к созданию непосредственно конфигурационных файлов каждого из наших сайтов. Как обычно, используем редактор nano:

   nano /etc/apache2/sites-available/mysite1

Вводим к конфиг-файл следующую информацию:

   <VirtualHost *:80>                             # Открываем секцию с указанием IP и порта доступа

   ServerName mysite1.ru                     # Задаем основное имя виртуального хоста

   ServerAlias www.mysite1.ru             #Задаем возможные псевдонимы

   DocumentRoot /var/www/mysite1    #Указываем месторасположение сайта

    </VirtualHost>                                #Закрываем секцию

Это минимально возможная конфигурация для организации виртуального хостинга. Внутри секции <VirtualHost></VirtualHost> можно указывать много другой разнообразной и полезной информации.

Тоже самое проделываем со вторым и последующими сайтами, если таковые имеются.

Осталось последнее действие. Если вы помните, мы разместили конфигурационные сайты в папке /etc/apache2/sites-available/, теперь нам необходимо перенести их в папку /etc/apache2/sites-enable/. "Для чего это нужно?", - спросите вы. Такое разделение было введено для удобства. Если вам потребуется быстро выключить сайт из веб-сервера, вы можете просто удалить его конфигурационный файл в каталоге /etc/apache2/sites-enable/ и перезапустить apache, при этом вы сохраните ваш файл в неактивной области в каталоге /etc/apache2/sites-available/ и при желании легко к нему вернетесь. Итак, переносим наш конфигурационный файл в активную область, для этого в пакете с apache-м поставляется удобная утилита:

   a2ensite

Появится запрос на ввод имени применяемого конфигурационного файла, введите его с клавиатуры и нажмите клавишу "Enter"

Оттестируем правильность оформления конфигурационного файла командой:

   apache2 -t

Если в выводе команды будет "Syntax OK" значит можно смело перезапустить сервер для применения новой конфигурации:

   /etc/init.d/apache2 restart

Теперь в зависимости от имени узла, который вы вводите в адресную строку браузера, наш веб-сервер будет отдавать нужный сайт!

Темы:

Добавить комментарий