Настройка
виртуальных хостов
МИХАИЛ КРОЙТОР, МОЛДГУ, 2018
Содержание
Основные принципы виртуальных хостов
Подготовка рабочей области для администратора сайта
Создание виртуального хоста
Конфигурация виртуального хоста
Основные принципы виртуальных
хостов
Часто возникает необходимость размещения на одном сервере нескольких сайтов. Для этого
Apache Web Server предоставляет возможность создания виртуальных хостов (виртуальных Web
серверов). Это означает, что пользователь видит несколько Web серверов, тогда как в
реальности существует только один.
Существуют 2 вида виртуальных хостов:
◦ Идентификация по имени (name based virtual host) – хосты отличаются именем. Определение имени
хоста, к которому осуществляется запрос, осуществляется по заголовкам HTTP
◦ Идентификация по IP (IP based virtual host) – имени хоста может не быть, но IP адреса различны
Настройка обоих видов виртуальных хостов идентична.
Администраторами сайтов часто бывают различные люди, поэтому, в целях безопасности,
каждому администратору подготавливается своё рабочее место, изолированное от других.
Для автоматизации данной работы существуют различные инструменты, которые в рамках
данной лекции не рассматриваются.
Подготовка рабочей области для
администратора сайта
Часто в ОС Linux Web сервер располагает документы, с которыми работает в директории
/var/www
Для того, чтобы подготовить рабочую область для администратора сайта необходимо:
◦ Создать нового пользователя (администратора сайта)
◦ useradd
◦ groupadd
◦ Создать директорию сайта
◦ mkdir
◦ Назначить права на редактирование содержимого созданной директории данному пользователю
◦ chown
◦ chmod
◦ Назначить права на редактирование (?) содержимого данной директории пользователю сервера
◦ Разрешить данному пользователю доступ к системе через ssh (ftp)
Подготовка рабочей области для
администратора сайта
# sudo mkdir /home/www/site1
# sudo adduser --group group1
# sudo adduser --home /home/www/site1 –ingroup group1 user1
# sudo apt update
# sudo apt upgrade
# sudo apt install vsftpd
# sudo nano /etc/vsftpd.conf
# /etc/init.d/vsftpd restart
Создание виртуального хоста
Во многих случаях при установке Web сервера создаётся виртуальный хост по умолчанию.
В таком случае достаточно скопировать определение данного виртуального хоста и
отредактировать его настройки.
◦ <VirtualHost *:80>
◦ ServerName www.example.com
◦ ServerAlias example.com
◦ DocumentRoot "/var/www/domain"
◦ </VirtualHost>
Конфигурация виртуального хоста
Параметр Описание
ServerAdmin электронный адрес администратора сервера, на который должны
приходить все уведомления связанные с виртуальным хостом
ServerName имя хоста, по запросу которого должны выдаваться файлы
ServerAlias Альтернативное имя хоста (псевдоним)
DocumentRoot Корневая директория сайта
ErrorLog Журнал регистрации ошибок для данного хоста
CustomLog Создание журнала регистрации событий, указание формата журнала
<Directory > Определение правил для корневой директории сайта
Конфигурация виртуального хоста
# sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-
available/newsite.conf
# sudo nano /etc/apache2/sites-available/newsite.conf
# sudo a2ensite newsite.conf
# sudo service apache2 restart
Спасибо за внимание!
ВОПРОСЫ?

07 virtual hosts_ru

  • 1.
  • 2.
    Содержание Основные принципы виртуальныххостов Подготовка рабочей области для администратора сайта Создание виртуального хоста Конфигурация виртуального хоста
  • 3.
    Основные принципы виртуальных хостов Частовозникает необходимость размещения на одном сервере нескольких сайтов. Для этого Apache Web Server предоставляет возможность создания виртуальных хостов (виртуальных Web серверов). Это означает, что пользователь видит несколько Web серверов, тогда как в реальности существует только один. Существуют 2 вида виртуальных хостов: ◦ Идентификация по имени (name based virtual host) – хосты отличаются именем. Определение имени хоста, к которому осуществляется запрос, осуществляется по заголовкам HTTP ◦ Идентификация по IP (IP based virtual host) – имени хоста может не быть, но IP адреса различны Настройка обоих видов виртуальных хостов идентична. Администраторами сайтов часто бывают различные люди, поэтому, в целях безопасности, каждому администратору подготавливается своё рабочее место, изолированное от других. Для автоматизации данной работы существуют различные инструменты, которые в рамках данной лекции не рассматриваются.
  • 4.
    Подготовка рабочей областидля администратора сайта Часто в ОС Linux Web сервер располагает документы, с которыми работает в директории /var/www Для того, чтобы подготовить рабочую область для администратора сайта необходимо: ◦ Создать нового пользователя (администратора сайта) ◦ useradd ◦ groupadd ◦ Создать директорию сайта ◦ mkdir ◦ Назначить права на редактирование содержимого созданной директории данному пользователю ◦ chown ◦ chmod ◦ Назначить права на редактирование (?) содержимого данной директории пользователю сервера ◦ Разрешить данному пользователю доступ к системе через ssh (ftp)
  • 5.
    Подготовка рабочей областидля администратора сайта # sudo mkdir /home/www/site1 # sudo adduser --group group1 # sudo adduser --home /home/www/site1 –ingroup group1 user1 # sudo apt update # sudo apt upgrade # sudo apt install vsftpd # sudo nano /etc/vsftpd.conf # /etc/init.d/vsftpd restart
  • 6.
    Создание виртуального хоста Вомногих случаях при установке Web сервера создаётся виртуальный хост по умолчанию. В таком случае достаточно скопировать определение данного виртуального хоста и отредактировать его настройки. ◦ <VirtualHost *:80> ◦ ServerName www.example.com ◦ ServerAlias example.com ◦ DocumentRoot "/var/www/domain" ◦ </VirtualHost>
  • 7.
    Конфигурация виртуального хоста ПараметрОписание ServerAdmin электронный адрес администратора сервера, на который должны приходить все уведомления связанные с виртуальным хостом ServerName имя хоста, по запросу которого должны выдаваться файлы ServerAlias Альтернативное имя хоста (псевдоним) DocumentRoot Корневая директория сайта ErrorLog Журнал регистрации ошибок для данного хоста CustomLog Создание журнала регистрации событий, указание формата журнала <Directory > Определение правил для корневой директории сайта
  • 8.
    Конфигурация виртуального хоста #sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites- available/newsite.conf # sudo nano /etc/apache2/sites-available/newsite.conf # sudo a2ensite newsite.conf # sudo service apache2 restart
  • 9.

Editor's Notes

  • #4 Создаются пользователи, например, на уровне системы, доступ они получают только к одной директории, в которой находится (или должен находиться) web сайт. Для каждого пользователя создаются базы данных, пользователи базы данных. Может настраиваться доступ по ftp.
  • #6 Организовать доступ через ftp, доступ к другим директориям закрыть!
  • #8 Настройки директорий после
  • #9 service <service-name> restart /etc/init.d/<daemon-name> restart systemctl <service-name> restart