Установка Apache на CentOS: пошаговая инструкция для начинающих.

Если вам нужно запустить веб-сервер для сайта или приложения, один из лучших вариантов — использовать Apache.

Этот популярный сервер работает на многих операционных системах, включая CentOS — дистрибутив Linux, широко используемый для серверных решений.

В этой статье мы подробно расскажем, как установить Apache на CentOS простыми и понятными шагами.

Почему стоит выбрать 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.