Виртуальный хостинг или как организовать работу нескольких сайтов на одном 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
Теперь в зависимости от имени узла, который вы вводите в адресную строку браузера, наш веб-сервер будет отдавать нужный сайт!
Добавить комментарий