{{description>Описывается создание виртуального хоста для размещения на нём сайта.}}
====== Создание виртуального хоста для размещения на нём сайта ======
[[ http://wiki.mihanik.net/doku.php?id=web-серверы_и_движки:apache:создание_виртуального_хоста_для_размещения_на_нём_сайта&do=export_pdf | Экспорт в PDF ]] ~~ODT~~
Дата создания: 2026/05/17 09:03 (C) mihanik
===== Дано =====
Сервер с установленным Apache.
[[web-серверы_и_движки:apache:установка_apache|Описание установки можно посмотреть тут]]
===== Надо =====
Разместить на WEB-сервере сайт.
В качестве примера буду использовать доменное имя **office.compasstruckssto69.ru**
===== Решение =====
Все команды нужно выполнять или от имени **root**, или через **sudo**.
==== Шаг 1 ====
Создадим пользователя с именем совпадающим с именем сайта и зададим ему пароль.
Имя не обязательно должно совпадать с именем сайта, просто мне так проще потом искать файлы нужный сайта.
adduser office.compasstruckssto69.ru
passwd office.compasstruckssto69.ru
==== Шаг 2 ====
Создаем в каталогах пользователей дополнительные каталоги:
* **html** (в котором будет основное содержимое сайтов)
* **log** (в которую будут писаться логи) для этого сайта и выставляем права.
Права ставим: пользователю – полный доступ, группе apache чтение и список директорий, остальным – фикус.
Права можно выставить так:
user=office.compasstruckssto69.ru
mkdir /home/$user/log
mkdir /home/$user/html
chown -R $user:apache /home/$user
chmod ug+rX /home/$user
==== Шаг 3 ====
Переходим в директорию **/etc/httpd/conf.d/** и настраиваем сайты.
cd /etc/httpd/conf.d/
Там можно удалить/переименовать файл **welcome.conf** который выключает индексы и выдает вместо нее страничку «Apache 2 Test Page».
Следует учесть, что конфиги виртуальных хостов в этой директории применяются по очереди в алфавитном порядке.
Для того чтобы пользователь зайдя по IP-адресу на какой либо из наших сайтов не попал на совершенно другой (который будет первым по списку) в директорию **conf.d** стоит положить файл с именем например **000-default.conf**.
touch 000-default.conf
mcedit 000-default.conf
И разместим в этом файле такое вот содержимое
ServerName localhost.local
DocumentRoot "/var/www/html"
Теперь для нашего первого виртуального хоста создаём конфигурационный файл
touch 001-office.compasstruckssto69.ru.conf
mcedit 001-office.compasstruckssto69.ru.conf
Приводим файл к следующему виду
ServerName office.compasstruckssto69.ru
ServerAlias www.office.compasstruckssto69.ru
# Редирект всего трафика на HTTPS
Redirect permanent / https://office.compasstruckssto69.ru/
ServerName office.compasstruckssto69.ru
ServerAlias www.office.compasstruckssto69.ru
ServerAdmin webmaster@office.compasstruckssto69.ru
# SSL-настройки (ОБЯЗАТЕЛЬНО)
SSLEngine on
SSLCertificateFile "/home/office.compasstruckssto69.ru/ssl/certificate.crt"
SSLCertificateKeyFile "/home/office.compasstruckssto69.ru/ssl/private.key"
# Если есть промежуточный сертификат:
# SSLCertificateChainFile "/home/office.compasstruckssto69.ru/ssl/chain.pem"
ErrorLog "/home/office.compasstruckssto69.ru/log/error.log"
CustomLog "/home/office.compasstruckssto69.ru/log/access.log" combined
DocumentRoot "/home/office.compasstruckssto69.ru/html"
Require all granted
AllowOverride All
В каталог сайта кладём индексный файл
echo 'Сайт office.compasstruckssto69.ru' > /home/office.compasstruckssto69.ru/html/index.html
Перезапускаем Apache и любуемся результатом
systemctl restart httpd
{{ :web-серверы_и_движки:apache:office.compasstruckssto69.ru.png?direct&600 |}}
===== Источники =====
[[#top|⇑ Наверх ⇑]]