<a name="top"></a>

Создание виртуального хоста для размещения на нём сайта

Экспорт в PDF

Дата создания: 2026/05/17 09:03 (C) mihanik

<a href='javascript:history.back();'><img src=/lib/exe/fetch.php/level_up.png height=35 width=50></a>

Дано

Сервер с установленным 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

И разместим в этом файле такое вот содержимое

<VirtualHost *:80> ServerName localhost.local DocumentRoot "/var/www/html" </VirtualHost>

Теперь для нашего первого виртуального хоста создаём конфигурационный файл

touch 001-office.compasstruckssto69.ru.conf mcedit 001-office.compasstruckssto69.ru.conf

Приводим файл к следующему виду

<VirtualHost *:80> ServerName office.compasstruckssto69.ru ServerAlias www.office.compasstruckssto69.ru # Редирект всего трафика на HTTPS Redirect permanent / https://office.compasstruckssto69.ru/ </VirtualHost> <VirtualHost *:443> 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" <Directory "/home/office.compasstruckssto69.ru/html"> Require all granted AllowOverride All </Directory> </VirtualHost>

В каталог сайта кладём индексный файл

echo 'Сайт office.compasstruckssto69.ru' > /home/office.compasstruckssto69.ru/html/index.html

Перезапускаем Apache и любуемся результатом

systemctl restart httpd

Источники

⇑ Наверх ⇑

В моей WIKI постоянно ведётся какая-то работа со статьями. Если у вас возникли вопросы или замечания, можете их отправлять на почту support@mihanik.net