ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Как настроить виртуальный хост Apache на CentOS 7

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

В этой статье описывается, как настроить виртуальные хосты Apache в Ubuntu 20.04.

 

Предпосылки

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

 

Создание структуры каталогов

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

/var/www/
├── domain1.ru
│   └── public_html
├── domain2.ru
│   └── public_html

 

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

Начните с создания корневого каталога для домена:

sudo mkdir -p /var/www/domain1.ru/public_html

 

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

/var/www/domain1.ru/public_html/index.html

 

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Добро пожаловать на domain1.ru</title>
  </head>
  <body>
    <h1>Успех! Главная страница domain1.ru!</h1>
  </body>
</html>

 

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

sudo chown -R www-data: /var/www/domain1.ru

 

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

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

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

/etc/apache2/sites-available/domain1.ru.conf

 

<VirtualHost *:80>
    ServerName domain1.ru
    ServerAlias www.domain1.ru
    ServerAdmin webmaster@domain1.ru
    DocumentRoot /var/www/domain1.ru/public_html

    <Directory /var/www/domain1.ru/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/domain1.ru-error.log
    CustomLog ${APACHE_LOG_DIR}/domain1.ru-access.log combined
</VirtualHost>

 

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

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

sudo a2ensite domain1.ru

 

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

sudo ln -s /etc/apache2/sites-available/domain1.ru.conf /etc/apache2/sites-enabled/

 

После этого проверьте конфигурацию на наличие синтаксических ошибок с помощью:

sudo apachectl configtest

 

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

Syntax OK

 

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

sudo systemctl restart apache2

 

Наконец, чтобы убедиться, что все работает должным образом, откройте http://domain1.ru в вашем браузере, и вы увидите содержимое страницы index.html:

 

Вывод

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

Повторите шаги, описанные выше, чтобы создать дополнительные виртуальные хосты для всех ваших доменов.

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

Exit mobile version