Сервер Apache

123 просмотра

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).