{{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|⇑ Наверх ⇑]]