Как настроить виртуальные хосты Apache в Debian 9

Настройка виртуальных хостов Apache в Debian 9

В этом руководстве мы расскажем, как настроить виртуальные хосты Apache в Debian 9.

Apache Virtual Hosts позволяет размещать несколько доменов на одном компьютере. Используя виртуальные хосты, вы можете указать отдельный корневой каталог (каталог, содержащий файлы сайта) для каждого домена или поддомена, создать отдельную политику безопасности, использовать разные SSL-сертификаты и многое другое.

Хотя это руководство написано для Debian 9, те же шаги применимы для всех дистрибутивов на базе Debian.

Предпосылки

Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:

Создать структуру каталогов

Корневой каталог документов — это каталог, в котором хранятся файлы веб-сайта для доменного имени и который обслуживается в ответ на запросы. Вы можете указать любое местоположение корневого каталога документов. В этом руководстве мы будем использовать следующую структуру каталогов:

 /var/www/ ├── domain1.com │  └── public_html ├── domain2.com │  └── public_html ├── domain3.com │  └── public_html

Для каждого домена, размещенного на нашем сервере, корневой каталог документов будет установлен на /var/www//public_html .

Начнем с создания корневого каталога документов для нашего первого домена, example.com :

 sudo mkdir -p /var/www/example.com/public_html

Мы также создадим файл index.html внутри корневого каталога документов домена, который будет отображаться при посещении домена в вашем браузере.

Откройте ваш любимый текстовый редактор, создайте новый файл и вставьте в него следующее:

/var/www/example.com/public_html/index.html

  < html lang = "en" dir = "ltr" > < head > < meta charset = "utf-8" > < title > Welcome to example.com  title >  head > < body > < h1 > Success! example.com home page!  h1 >  body >  html >

Мы запускаем команды как пользователь sudo, а вновь созданные файлы и каталоги принадлежат пользователю root.

Чтобы избежать проблем с правами доступа, мы изменим владельца корневого каталога документов домена и всех файлов в этом каталоге на пользователя Apache ( www-data ):

 sudo chown -R www-data: /var/www/example.com

Создать виртуальные хосты

В системах Debian файлы конфигурации виртуальных хостов Apache находятся в каталоге /etc/apache2/sites-available и могут быть включены путем создания символических ссылок на каталог /etc/apache2/sites-enabled .

Откройте текстовый редактор по вашему выбору и создайте следующий базовый файл конфигурации виртуального хоста:

/etc/apache2/sites-available/example.com.conf

  *:80 > ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com/public_html  /var/www/example.com/public_html > Options -Indexes +FollowSymLinks AllowOverride All  ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined 
  • ServerName : Домен, который должен соответствовать конфигурации этого виртуального хоста. Это должно быть ваше доменное имя.
  • ServerAlias : все остальные домены или поддомены, которые также должны соответствовать этому виртуальному хосту, обычно это поддомен www .
  • DocumentRoot : Каталог, из которого Apache будет обслуживать файлы домена.
  • Options : эта директива управляет тем, какие функции сервера доступны в определенном каталоге.
    • -Indexes : предотвращает листинг каталогов.
    • FollowSymLinks : если эта опция включена, Apache будет следовать символическим ссылкам.
  • AllowOverride : указывает, какие директивы, объявленные в файле .htaccess могут переопределять директивы конфигурации.
  • ErrorLog , CustomLog : Указывает местоположение файлов журнала.

Вы можете назвать файл конфигурации виртуального хоста по своему усмотрению, но рекомендуется использовать доменное имя в качестве имени файла конфигурации.

Чтобы включить новый файл виртуального хоста, создайте символическую ссылку из файла виртуального хоста на каталог sites-enabled , который считывается Apache во время запуска.

В системах Debian вы можете включить виртуальный хост с помощью вспомогательного скрипта a2ensite :

 sudo a2ensite example.com

Другой вариант — вручную создать символическую ссылку , как показано ниже:

 sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

После включения конфигурации проверьте правильность синтаксиса, введя:

 sudo apachectl configtest

Если ошибок нет, вы увидите следующий вывод:

 Syntax OK

Перезапустите службу apache2 , чтобы изменения вступили в силу:

 sudo systemctl restart apache2

Чтобы убедиться, что все работает так, как и ожидалось, откройте http://example.com в своем любимом браузере, и вы увидите что-то вроде этого:

Заключение

В этом руководстве вы узнали, как создать конфигурацию виртуального хоста Apache для размещения нескольких доменов на одном сервере Debian. Вы можете повторить эти шаги для создания дополнительных виртуальных хостов для других доменов.

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

Apache Debian

Эта публикация является частью серии «Как установить LAMP Stack в Debian 9» .
Другие посты в этой серии:

Не используете Debian 9?
Выберите другую ОС:
центос 7 центос 8 дебиан 10 убунту 18.04 убунту 20.04

Связанные руководства

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *