Предварительная настройка Установка и запуск Apache Настройка виртуального хоста Настройка разрешений в SELinux Управление службой httpd веб-сервера Apache
Окружение
Apache (Apache HTTP Server) — это открытое кросс-платформенное программное обеспечение для размещения и поддержки веб-сервера. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.
Для настройки веб-сервера apache перейдите в сеанс пользователя root:
su -
Здесь и далее настройка будет производиться с правами суперпользователя root, если не указано иное.
Внесите DNS-запись с наименованием веб-сервера в файл /etc/hosts:
echo <IP-адрес> <название_сайта> >> /etc/hosts
Например:
echo 192.168.100.185 redsite11.ru >> /etc/hosts
Установите Apache с помощью команды:
dnf install httpd
Запустите и добавьте в автозагрузку службу httpd:
systemctl enable httpd --now
Проверьте статус службы httpd командой:
systemctl status httpd tpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pre> Active: active (running) since Mon 2024-04-01 14:56:43 MSK; 1min 1s ago Docs: man:httpd.service(8) Main PID: 813 (httpd) Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes> Tasks: 213 (limit: 2310) Memory: 21.2M CPU: 133ms
Для проверки работы веб-сервера откройте браузер и введите в адресной строке http://<IP-адрес_вашего_сервера>. Например, http://192.168.100.185.
http://<IP-
адрес_вашего_сервера>
http://192.168.100.185
Для проверки корректности установки Apache можно создать тестовую страницу с любым содержимым. Для этого выполните:
echo "Hello World" > /var/www/html/index.html
Команда создаст файл index.html и запишет в него содержимое, в данном случае фразу Hello World.
Hello World
Для просмотра тестовой страницы снова откройте браузер и введите в адресной строке http://<IP-адрес_вашего_сервера>. Например, http://192.168.100.185.
http://<IP-адрес_вашего_сервера>
На тестовой странице отображается фраза Hello World, значит, веб-сервер Apache работает корректно.
В приведенных примерах необходимо заменить redsite11.ru на имя вашего реального домена. Только в этом случае файл будет указывать веб-серверу, где найти корневой каталог сайта и куда необходимо сохранять журналы ошибок и обращений к сайту.
Создайте каталог, в котором будут хранится файлы сайта:
mkdir -p /var/www/redsite11.ru/html/
Назначьте владельца на созданный каталог командой:
chown -R $USER:$USER /var/www/redsite11.ru/html/
Далее следует убедиться, что на каталог /var/www/ установлены стандартные права. Для этого выполните команду:
chmod -R 755 /var/www/
Создайте файл сайта index.html в каталоге /var/www/redsite11.ru/html/:
nano /var/www/redsite11.ru/html/index.html
В файл добавьте следующее содержимое, которое задаст первоначальный вид страницы:
<html> <head> <title>Welcome to redsite11.ru!</title> </head> <body> <h1>Success! The redsite11.ru virtual host is working!</h1> </body> </html>
Далее создайте два каталога /sites-available и /sites-enabled в /etc/httpd, где будут храниться файлы настроек для каждого отдельно взятого домена. Файлы настроек транслируют домены веб-серверу Apache, чтобы веб-сервер понимал, как обрабатывать запросы. Для создания каталогов выполните команду:
mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
Укажите веб-серверу на виртуальный хост в каталоге /sites-enabled. Для этого отредактируйте файл /httpd.conf:
nano /etc/httpd/conf/httpd.conf
Раскомментируйте строку ServerName и укажите название своего сайта:
ServerName
ServerName www.redsite11.ru:80
В конец файла добавьте строку:
IncludeOptional sites-enabled/*.conf
Проверьте настройки httpd, выполнив команду:
apachectl configtest
Если настройки указаны верно, вывод команды должен иметь следующий вид:
Syntax OK
Далее создайте файл виртуального хоста командой:
nano /etc/httpd/sites-available/redsite11.ru.conf
Поместите в него содержимое:
<VirtualHost *:80> ServerName www.redsite11.ru ServerAlias redsite11.ru DocumentRoot /var/www/redsite11.ru/html ErrorLog /var/www/redsite11.ru/log/error.log CustomLog /var/www/redsite11.ru/log/requests.log combined </VirtualHost>
Создайте отдельную папку, где будут храниться файлы журнала:
mkdir -p /var/www/redsite11.ru/log
Теперь нужно создать символическую ссылку для домена в директории /sites-enabled, чтобы активировать виртуальный хост:
ln -s /etc/httpd/sites-available/redsite11.ru.conf /etc/httpd/sites-enabled/redsite11.ru.conf
Чтобы при старте веб-сервера не получить ошибку запуска, примените универсальную настройку. Для этого выполните команду:
setsebool -P httpd_unified 1
Для проверки работы перейдите в браузер и в адресной строке введите адрес своего веб-сервера (в примере http://redsite11.ru).
http://redsite11.ru
Запуск веб-сервера осуществляется командой:
systemctl start httpd
Остановка веб-сервера осуществляется командой:
systemctl stop httpd
Перезапуск сервера осуществляется командой:
systemctl restart httpd
По умолчанию Apache запускается автоматически вместе с сервером. Для удаления службы из автозагрузки используется команда:
systemctl disable httpd
Для добавления Apache в автозагрузку, чтобы он стартовал вместе с сиcтемой, используется команда:
systemctl enable httpd
Для перезагрузки веб-сервера Apache во время настройки без сброса соединений:
systemctl reload httpd
Проверка статуса службы httpd осуществляется командой:
systemctl status httpd
Проверка информации об установленной версии Apache на сервере осуществляется командой:
httpd -v
Дата последнего изменения: 19.03.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.