Сервер Apache
Apache HTTP Server (или просто Apache) – некоммерческий кроссплатформенный веб-сервер, совместимый со всеми основными серверными ОС (Linux, FreeBSD, Windows Server). Своей популярностью «Апач» обязан надежности, гибкости в настройке и широкому спектру возможностей. Кроме того, это исторически первый веб-сервер, ставший настолько массовым.
Настройка поведения Apache
Поведением Apache можно управлять, внося необходимые директивы в конфигурационный файл .htaccess, находящийся в целевом каталоге. Дополнительные файлы .htaccess можно размещать в каждом подкаталоге. Присутствующие в них директивы будут иметь больший приоритет, а отсутствующие будут взяты из файла, расположенного на более высоком уровне. Данная возможность пригодится, например, если нужно закрыть внешний доступ к php-файлам в папке с плагинами. Вебмастеры чаще всего используют данный файл для настроек переадресации.
Основные возможности переадресации, доступные через файл .htaccess вебмастеру:
- автоматическая переадресация с http на https;
- автоматическая переадресация с/на www;
- настройка перенаправления при смене домена;
- корректировка url (удаление или добавление символа /, расширений .html, .php и т.п.);
- настройка любых других внутренних переадресаций (например, при переносе страницы в другой раздел сайта).
Обработка ошибок:
Веб-стандарты предусматривают ряд ситуаций, в которых сервер должен выдавать пользователю ошибку. В Apache можно настроить поведение для каждого типа ошибок, а также предусмотреть страницу, которая будет при этом показана пользователю.
Настройки безопасности:
- защита от инъекций;
- запрет доступа к каталогам и файлам;
- защита изображений от встраивания на других сайтах;
- блокировка по IP-адресу;
- запрет на обращение к файлам определенного типа (например, для защиты log-файлов от скачивания или php-файлов от внешнего исполнения);
- разное поведение для разных User-агентов.
Кодировка:
Если в html-страницах кодировку можно указать непосредственно в коде, то для некоторых текстовых файлов кодировку необходимо указывать явно в настройках сервера.
Улучшение работы сервера:
- ускорение работы сайта:
- работа с кэшем;
- настройка динамического сжатия.
Настройки PHP:
Некоторые параметры исполнения PHP-кода для конкретного сайта можно задать непосредственно в конфигурационных файлах Apache.
Особенности сервера Apache
Гибкие возможности конфигурирования, а также высокий уровень надежности и защищенности – главные преимущества Apache. За счет своей функциональности он остается наиболее распространенным веб-сервером, обслуживая порядка 39% активных сайтов. Проект является некоммерческим и полностью свободным. Интересно, что он по умолчанию встроен во многие коммерческие продукты от крупнейших IT-корпораций вроде Oracle и IBM.
К Apache можно подключать программные модули, настраивать любое количество переадресаций, ограничивать доступ к файлам и каталогам, защищать сайты от взлома, организовать доступ по протоколу IPv6. На одном IP можно запустить неограниченное количество сайтов, задав для каждого индивидуальную конфигурацию. С помощью специализированных модулей можно настроить учет и квотирование доступных серверных ресурсов, что удобно при предоставлении услуг хостинга.
Взаимодействие с внешними программами и скриптами
Посредством специализированных модулей Apache может взаимодействовать с различными внешними программами и языками программирования. Чаще всего в паре с ним используют такие языки как:
- PHP (модуль mod_php);
- Python (mod_python, mod_wsgi);
- Perl (mod_perl);
- ASP (apache-asp);
- Ruby (apache-ruby).
Кроме того, через протоколы GCI и FastCGI Apache может запускать внешние программные модули, написанные на любом языке программирования (например, C++ или Java).