Сервер с установленным Apache.
Разместить на WEB-сервере сайт.
В качестве примера буду использовать доменное имя office.compasstruckssto69.ru
Создадим пользователя с именем совпадающим с именем сайта и зададим ему пароль.
adduser office.compasstruckssto69.ru
passwd office.compasstruckssto69.ru
Создаем в каталогах пользователей дополнительные каталоги:
Права ставим: пользователю – полный доступ, группе apache чтение и список директорий, остальным – фикус.
Права можно выставить так:
user=office.compasstruckssto69.ru mkdir /home/$user/log mkdir /home/$user/html chown -R $user:apache /home/$user chmod ug+rX /home/$user
Переходим в директорию /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