Apache на Linux: встановлення, запуск і базове налаштування
02.03.2026Вступ
Apache HTTP Server — один із найпопулярніших вебсерверів у світі. У цій статті розглянемо, як встановити Apache на Debian/Ubuntu та RHEL/CentOS/Fedora, як запустити сервіс і виконати базове налаштування: документний корінь, віртуальні хости, журнали та прості заходи безпеки.
Встановлення Apache
Debian / Ubuntu
- Оновіть список пакетів:
sudo apt update - Встановіть пакет:
sudo apt install apache2
RHEL / CentOS / Fedora
- Для RHEL/CentOS (dnf або yum):
sudo dnf install httpd - Для старіших версій з yum:
sudo yum install httpd
Запуск і керування сервісом
Сучасні дистрибутиви використовують systemd. Основні команди:
- Запустити:
sudo systemctl start apache2 # Debian/Ubuntu sudo systemctl start httpd # RHEL/CentOS/Fedora - Увімкнути автозапуск при старті системи:
sudo systemctl enable apache2 sudo systemctl enable httpd - Перевірити статус:
sudo systemctl status apache2 sudo systemctl status httpd - Перезавантажити конфіг:
sudo systemctl reload apache2 sudo systemctl reload httpd
Перевірка роботи
Після запуску відкрийте у браузері http://localhost або виконайте:
curl -I http://localhost
Повинна повернутися HTTP 200 та заголовки сервера. За замовчуванням на Debian файл index.html розміщується у /var/www/html.
Основні конфігураційні файли і структура
- Debian/Ubuntu: конфіг знаходиться у /etc/apache2; віртуальні хости у /etc/apache2/sites-available та /etc/apache2/sites-enabled.
- RHEL/CentOS/Fedora: основний файл /etc/httpd/conf/httpd.conf; додаткові конфіги та віртуальні хости у /etc/httpd/conf.d/.
- Документний корінь: /var/www/html або вказаний у віртуальному хості.
- Журнали: /var/log/apache2 (Debian) або /var/log/httpd (RHEL).
Налаштування простого віртуального хоста
Приклад конфігурації для Ubuntu/Debian у файлі /etc/apache2/sites-available/example.conf:
<VirtualHost *:80>
ServerName example.local
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Після створення директорії та поміщення файлів:
- Дозвольте сайт:
sudo a2ensite example.conf - Перезавантажте Apache:
sudo systemctl reload apache2
На RHEL створіть аналогічний файл у /etc/httpd/conf.d/example.conf та перезапустіть httpd.
Права на файли та власник
Документний корінь повинен бути доступний користувачу вебсервера (www-data на Debian, apache на RHEL). Приклад:
sudo mkdir -p /var/www/example
sudo chown -R www-data:www-data /var/www/example
sudo chmod -R 755 /var/www/example
Це дозволяє вебсерверу читати файли й виконувати директорії, але не дає надмірних прав іншим користувачам.
Логи та діагностика
- Помилки: перевіряйте error.log при проблемах зі стартом або виконанням скриптів.
- Доступ: access.log допомагає бачити запити та коди відповіді.
- Команди для перегляду:
sudo tail -f /var/log/apache2/error.log sudo tail -f /var/log/apache2/access.log
Модулі та додаткові параметри
На Debian/Ubuntu можна вмикати модулі командою a2enmod, наприклад:
sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2
На RHEL перевірте список модулів командою httpd -M та вмикайте/налаштовуйте модулі через конфігурацію.
Базова безпека
- Приберіть зайві модулі, які не потрібні.
- Вимкніть відображення списку директорій: переконайтеся, що директива Options не містить Indexes.
- Встановіть дружні заголовки сервера: ServerTokens і ServerSignature можна зменшити, щоб не розголошувати версію.
- Якщо використовуєте брандмауер: відкрийте порт 80 і 443 (ufw або firewalld).
Підсумок
Запуск Apache на Linux — нескладна задача: встановлення, старт, перевірка доступності і створення простого віртуального хоста. Далі можна додавати SSL, оптимізувати продуктивність і поглиблювати безпеку. Ця інструкція дає базову дорожню карту для швидкого старту з Apache на популярних дистрибутивах Linux.