Если вам нужно запустить веб-сервер для сайта или приложения, один из лучших вариантов — использовать Apache.
Этот популярный сервер работает на многих операционных системах, включая CentOS — дистрибутив Linux, широко используемый для серверных решений.
В этой статье мы подробно расскажем, как установить Apache на CentOS простыми и понятными шагами.
- Шаг 1: Обновление системы
- Шаг 2: Установка Apache (httpd)
- Шаг 3: Запуск и автоматизация Apache
- Шаг 4: Настройка файрвола (Firewall)
- Шаг 5: Проверка работы Apache
- Шаг 6: Настройка Apache
Почему стоит выбрать Apache?
Apache — это надежный и проверенный временем веб-сервер, который обеспечивает стабильную работу сайтов и веб-приложений. Он легко настраивается и поддерживает разные модули для расширения функциональности.
Шаг 1: Обновление системы
Перед установкой новых программ всегда полезно обновить систему до последних версий пакетов:
[root@waky ~]# dnf update -y
Это гарантирует, что у вас установлены все последние исправления и обновления безопасности.
Шаг 2: Установка Apache (httpd)
В CentOS сервис и пакет содержащий Apache называется httpd. Введите следующую команду в терминале, чтобы установить требуемый пакет:
[root@waky ~]# dnf install -y httpd
Последняя проверка окончания срока действия метаданных: 0:21:01 назад, Сб 22 ноя 2025 06:10:15.
Зависимости разрешены.
=====================================================================
Пакет Архитектура Версия Репозиторий Размер
=====================================================================
Установка:
httpd x86_64 2.4.62-7.el9 appstream 46 k
Установка зависимостей:
apr x86_64 1.7.0-12.el9 appstream 123 k
apr-util x86_64 1.6.1-23.el9 appstream 95 k
apr-util-bdb x86_64 1.6.1-23.el9 appstream 13 k
httpd-core x86_64 2.4.62-7.el9 appstream 1.5 M
httpd-tools x86_64 2.4.62-7.el9 appstream 80 k
mailcap noarch 2.1.49-5.el9 baseos 33 k
Установка слабых зависимостей:
apr-util-openssl x86_64 1.6.1-23.el9 appstream 15 k
mod_http2 x86_64 2.0.26-5.el9 appstream 163 k
mod_lua x86_64 2.4.62-7.el9 appstream 58 k
Результат транзакции
====================================================================
Установка 10 Пакетов
Объем загрузки: 2.1 M
Объем изменений: 6.1 M
Загрузка пакетов:
(1/10): mailcap-2.1.49-5.el9.noarch.rpm 51 kB/s | 33 kB 00:00
(2/10): apr-util-1.6.1-23.el9.x86_64.rpm 116 kB/s | 95 kB 00:00
(3/10): apr-1.7.0-12.el9.x86_64.rpm 146 kB/s | 123 kB 00:00
(4/10): apr-util-openssl-1.6.1-23.el9.x86_64.rpm 157 kB/s | 15 kB 00:00
(5/10): httpd-2.4.62-7.el9.x86_64.rpm 205 kB/s | 46 kB 00:00
(6/10): httpd-tools-2.4.62-7.el9.x86_64.rpm 154 kB/s | 80 kB 00:00
(7/10): apr-util-bdb-1.6.1-23.el9.x86_64.rpm 11 kB/s | 13 kB 00:01
(8/10): mod_lua-2.4.62-7.el9.x86_64.rpm 194 kB/s | 58 kB 00:00
(9/10): mod_http2-2.0.26-5.el9.x86_64.rpm 209 kB/s | 163 kB 00:00
(10/10): httpd-core-2.4.62-7.el9.x86_64.rpm 521 kB/s | 1.5 MB 00:02
-------------------------------------------------------------------------------
Общий размер 303 kB/s | 2.1 MB 00:07
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно.
Выполнение транзакции
Подготовка : 1/1
Установка : apr-1.7.0-12.el9.x86_64 1/10
Установка : apr-util-bdb-1.6.1-23.el9.x86_64 2/10
Установка : apr-util-openssl-1.6.1-23.el9.x86_64 3/10
Установка : apr-util-1.6.1-23.el9.x86_64 4/10
Установка : httpd-tools-2.4.62-7.el9.x86_64 5/10
Установка : mailcap-2.1.49-5.el9.noarch 6/10
Установка : httpd-core-2.4.62-7.el9.x86_64 7/10
Установка : mod_lua-2.4.62-7.el9.x86_64 8/10
Установка : mod_http2-2.0.26-5.el9.x86_64 9/10
Установка : httpd-2.4.62-7.el9.x86_64 10/10
Запуск скриптлета: httpd-2.4.62-7.el9.x86_64 10/10
Проверка : mailcap-2.1.49-5.el9.noarch 1/10
Проверка : apr-1.7.0-12.el9.x86_64 2/10
Проверка : apr-util-1.6.1-23.el9.x86_64 3/10
Проверка : apr-util-bdb-1.6.1-23.el9.x86_64 4/10
Проверка : apr-util-openssl-1.6.1-23.el9.x86_64 5/10
Проверка : httpd-2.4.62-7.el9.x86_64 6/10
Проверка : httpd-core-2.4.62-7.el9.x86_64 7/10
Проверка : httpd-tools-2.4.62-7.el9.x86_64 8/10
Проверка : mod_http2-2.0.26-5.el9.x86_64 9/10
Проверка : mod_lua-2.4.62-7.el9.x86_64 10/10
Установлен:
apr-1.7.0-12.el9.x86_64 apr-util-1.6.1-23.el9.x86_64 apr-util-bdb-1.6.1-23.el9.x86_64
apr-util-openssl-1.6.1-23.el9.x86_64 httpd-2.4.62-7.el9.x86_64 httpd-core-2.4.62-7.el9.x86_64
httpd-tools-2.4.62-7.el9.x86_64 mailcap-2.1.49-5.el9.noarch mod_http2-2.0.26-5.el9.x86_64
mod_lua-2.4.62-7.el9.x86_64
Выполнено!
[root@waky ~]#
Эта команда скачает и установит веб-сервер Apache на ваш хост.
Шаг 3: Запуск и автоматизация Apache
После установки нужно запустить Apache и настроить его так, чтобы он автоматически запускался при старте системы:
[root@waky ~]# systemctl stop nginx
[root@waky ~]# systemctl start httpd
[root@waky ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@waky ~]#
Первая команда запустит сервер вручную, а вторая — настроит автоматический запуск сервиса при загрузке системы.
Шаг 4: Настройка файрвола (Firewall)
Чтобы ваш сервер был доступен по сети, необходимо открыть порты 80 (HTTP) и 443 (HTTPS):
[root@waky ~]# firewall-cmd --permanent --add-port=80/tcp
success
[root@waky ~]# firewall-cmd --permanent --add-port=443/tcp
success
[root@waky ~]# firewall-cmd --reload
success
[root@waky ~]#
Это обеспечит доступ к вашему веб-серверу со всех устройств.
Шаг 5: Проверка работы Apache
Чтобы убедиться, что Apache успешно запущен, откройте в браузере IP-адрес вашего сервера. Вы должны увидеть страницу по умолчанию.
Проверить статус службы через команду:
[root@waky ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Sat 2025-11-22 06:51:31 MSK; 5min ago
Docs: man:httpd.service(8)
Main PID: 52627 (httpd)
Status: "Total requests: 1; Idle/Busy workers 100/0;Requests/sec: 0.00313; Bytes served/sec: 8.3KB/sec"
Tasks: 230 (limit: 10656)
Memory: 19.8M (peak: 22.5M)
CPU: 529ms
CGroup: /system.slice/httpd.service
├─52627 /usr/sbin/httpd -DFOREGROUND
├─52628 /usr/sbin/httpd -DFOREGROUND
├─52629 /usr/sbin/httpd -DFOREGROUND
├─52630 /usr/sbin/httpd -DFOREGROUND
├─52631 /usr/sbin/httpd -DFOREGROUND
└─52830 /usr/sbin/httpd -DFOREGROUND
ноя 22 06:51:31 localhost systemd[1]: Starting The Apache HTTP Server...
ноя 22 06:51:31 localhost httpd[52627]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this m>
ноя 22 06:51:31 localhost systemd[1]: Started The Apache HTTP Server.
ноя 22 06:51:31 localhost httpd[52627]: Server configured, listening on: port 80
Шаг 6: Настройка Apache
Cоздайте отдельный конфигурационный файл в папке /etc/httpd/conf.d/ с названием вашего домена, например, example.com.conf.
Важно: для использования HTTPS нужно иметь SSL-сертификат. Если у вас его еще нет, можно получить бесплатные сертификаты у Let’s Encrypt.
В примере ниже предполагается, что сертификаты уже установлены и находятся по путям /etc/ssl/certs/example.com.crt и /etc/ssl/private/example.com.key соответственно.
Файл: /etc/httpd/conf.d/example.com.conf следующего содержания:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log combined
# Перенаправление всего трафика на HTTPS
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
Объяснение:
Первый блок <VirtualHost *:80> — отвечает за обработку входящих соединений по порту 80 (HTTP). Он автоматически перенаправляет все запросы на HTTPS.
Второй блок <VirtualHost *:443> — настроен для HTTPS с включением SSL, использует указанные сертификаты для безопасного соединения.
DocumentRoot — путь к папке, где расположены файлы сайта.
Не забудьте установить и настроить SSL-сертификаты прежде, чем активировать конфигурацию.
После редактирования файла перезапустите Apache:
[root@waky ~]# systemctl restart httpd
[root@waky ~]#
Заключение
Мы успешно установили и провели базовую настройку веб сервера Apache на хосте под управлением CentOS. Если вам нужно содержать несколько сайтов на одном сервере достаточно добавить дополнительные VirtualHost.