Полный цикл в digital

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

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

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

Мы начнем с одного домена, настроим его, скопируем для второго домена и внесем несколько дополнительных корректировок. Конфигурация Ubuntu по умолчанию требует, чтобы каждый файл виртуального хоста имел расширение .conf.

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

Скопируйте файл для домена:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/название_домена.com.conf

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

sudo nano /etc/apache2/sites-available/название_домена.com.conf

Без комментариев этот файл будет выглядеть примерно так:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

В файле мы настроим элементы для нашего первого домена и добавим несколько дополнительных директив. Этот раздел виртуального хоста соответствует любым запросам на порт 80, используемый по умолчанию для протокола HTTP.

Вначале нам нужно изменить директиву ServerAdmin на адрес электронной почты, доступный администратору сайта.

ServerAdmin admin@example.com

После этого нам нужно будет добавить две директивы. Директива ServerName задает базовый домен, который должен соответствовать этому определению виртуального хоста. Скорее всего, это будет ваш домен. Вторая директива под названием ServerAlias определяет дополнительные имена, которые должны соответствовать, как если бы они были базовыми. Это полезно для подстановки заданных вами хостов, таких как www:

ServerName название_домена.com
ServerAlias www.название_домена.com

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

DocumentRoot /var/www/название_домена.com/public_html

После этого наш файл виртуального хоста должен выглядеть следующим образом:

<VirtualHost *:80>
# почта администратора
ServerAdmin admin@example.com
# базовый домен
ServerName example.com
# дополнительные имена
ServerAlias www.example.com
# директория сайта
DocumentRoot /var/www/название_домена.com/public_html
# логи ошибок ошибка
ErrorLog ${APACHE_LOG_DIR}/error.log
# формат логов
CustomLog ${APACHE_LOG_DIR}/access.log combined
# включаем поддержку .htaccess в директории
<Directory /var/www/название_домена.com/public_html>
# индексы опций
Options Indexes FollowSymLinks MultiViews
# указывает нужно ли читать .htaccess
AllowOverride All
# позволяет управлять доступом к директории
Order allow,deny
# разрешающие права
allow from all
</Directory>
</VirtualHost>

Активация новых файлов виртуального хоста

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

Мы используем инструмент a2ensite для активации каждого из наших сайтов. Дополнительную информацию об этом скрипте можно найти в документации по a2ensite.

sudo a2ensite название_домена.com.conf

Отключите сайт по умолчанию, заданный в файле 000-default.conf:

sudo a2dissite 000-default.conf

После завершения нужно перезапустить Apache для вступления изменений в силу:

sudo systemctl restart apache2
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг