hostprofi.ru
Подобрать хостинг
Термин·буква К

Конфиг apache

краткое определение

Конфигурационный файл Apache — текстовый файл настроек веб-сервера Apache, где задаются виртуальные хосты, директивы обработки запросов, модули, правила безопасности, ограничения доступа и параметры производительности для корректной работы сайтов на хостинге.

Apache HTTP Server настраивается через иерархию конфигурационных файлов. Главный файл — httpd.conf (или apache2.conf в Debian-системах). Он включает дополнительные файлы через директиву Include. Отдельные виртуальные хосты описываются в файлах /etc/apache2/sites-available/*.conf.

Структура конфигурации

Конфигурация состоит из глобального раздела и контейнеров:

  • <VirtualHost *:80> — настройки для отдельного сайта.
  • <Directory /var/www/html> — права доступа к директории.
  • <Location /api> — настройки по URL-пути.
  • <Files "*.php"> — настройки для файлов по шаблону.

Ключевые директивы

ServerName example.com
DocumentRoot /var/www/html
DirectoryIndex index.php index.html
AllowOverride All  # разрешает .htaccess

# Перенаправление на HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

.htaccess

Файл .htaccess позволяет переопределять настройки Apache для конкретной директории без перезагрузки сервера. Широко используется CMS (WordPress, Joomla, Drupal) для ЧПУ (mod_rewrite). При AllowOverride None файл игнорируется. Минус: Apache читает .htaccess при каждом запросе, что снижает производительность — лучше переносить настройки в httpd.conf.

История

Apache HTTP Server создан в 1995 году на базе сервера NCSA HTTPd. Конфигурационный синтаксис с директивами и контейнерами сложился в версии 1.0. В 2000-х Apache занимал более 60% рынка. С 2012 года Nginx активно вытесняет Apache, но Apache остаётся стандартом для виртуального хостинга с .htaccess.

Связь с хостингом

На виртуальном хостинге с cPanel или ISPmanager .htaccess — основной инструмент настройки для клиентов без доступа к httpd.conf. Типичные задачи: редиректы, защита паролем, запрет хотлинкинга, настройка PHP-версии. При миграции с Apache на Nginx .htaccess-правила нужно конвертировать в директивы Nginx вручную.

Структура конфигурации Apache

Основной конфиг Apache: /etc/apache2/apache2.conf (Debian/Ubuntu) или /etc/httpd/conf/httpd.conf (RHEL/CentOS). Виртуальные хосты хранятся в /etc/apache2/sites-available/. Активируются через a2ensite. Модули: a2enmod rewrite ssl headers. Директория .htaccess позволяет переопределять конфиг на уровне директории без перезапуска Apache. Базовый VirtualHost для PHP-сайта с SSL и PHP-FPM: <VirtualHost *:443>, ServerName example.com, SSLEngine on, ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1. mod_rewrite позволяет создавать ЧПУ-URL через RewriteRule.

Apache vs Nginx в 2024 году

Nginx обошёл Apache по числу установок около 2019 года. Apache остаётся популярным из-за .htaccess -- это удобно для shared-хостинга, где у клиента нет доступа к основному конфигу. Nginx не поддерживает .htaccess, что требует переноса всех реврайтов в server-блок. Для новых проектов на VPS Nginx + PHP-FPM является более производительным выбором. Apache удобен при переезде сайта с shared-хостинга, где уже настроены .htaccess-правила. Конфиг Nginx и конфиг Apache имеют схожую структуру, но разный синтаксис.

Другие термины