Тарифы Услуги Сим-карты

Веб-сервер Apache — что такое http Apache, для чего нужен, где скачать. Apache: установка и настройка веб-сервера

Этот материал написан специально для людей, которые только собираются примкнуть к стройным рядам веб-разработчиков или же просто хотят разобраться в некоторых тонкостях процесса. Здесь вы узнаете о том, что же такое сервер Apache, для чего он может быть нужен, где его взять и как правильно использовать. В дальнейшем мы постараемся как можно более тонко описать настройки Apache и его функциональные особенности, чтобы даже профессионалы смогли найти что-то новое для себя в этих материалах.

Для того чтобы в Интернете появился сайт, он должен быть размещен на сервере хостера или вашем собственном, подключенном к Сети и имеющем выделенный IP-адрес. Сервер представляет собой компьютер, на котором установлено специальное программное обеспечение, которое тоже называют "веб-сервером".

В мире существует огромное множество веб-серверов. Они отличаются друг от друга по функциональности и по предназначению. Сегодня мы поговорим о самом популярном из них, установленном на большинстве серверов хостинг-провайдеров. Сервер Apache удовлетворяет практически всем потребностям современных веб-разработок, но в то же время он достаточно прост, чтобы его устанавливали программисты для отладки своих программ.

В 1994 году сотрудник Национального центра приложений для суперкомпьютеров в Университете Иллинойса США (NCSA) Роб Маккул выложил в общее пользование первый веб-сервер, который так и назывался — NCSA HTTP daemon. Сервер получил популярность в узких кругах, но в середине 1994 года Маккул покинул университет, и разработки прекратились.

Небольшая группа заинтересованных веб-мастеров начала совместную работу над продуктом. Общаясь в дискуссионном листе по электронной почте, они разрабатывали "заплатки" и нововведения для сервера. Именно они и создали Apache Group, разработавшую первую версию Apache-сервера. Произошло это в апреле 1995 года, когда на основу (NCSA Server 1.3) были наложены все существующие "заплатки". Так появился первый официальный публичный релиз Apache 0.6.2.

Первая публичная версия Apache появилась в апреле 1995 года, а в декабре вышел релиз 1.0

Работа над сервером не прекращалась ни на день, и очень скоро он стал одним из самых популярных. После многочисленных испытаний 1 декабря 1995 года появилась версия 1.0, устойчивая и надежная. На протяжении всех этих лет и по сей день Apache остается совершенно бесплатным. Возможно, это тоже определило успех сервера, ведь, по данным NetCraft, Apache в данный момент установлен на 67% всех серверов в мире.

Сервер Apache сейчас установлен на 67% серверов по всему миру. В данный момент развивается сразу две ветки

В данный момент параллельно развиваются две ветки Apache – версии 2.0 и 1.3. Вторая версия претерпела значительное количество изменений, которые в первую очередь коснулись ядра программы и некоторых важных модулей. Так как модули, написанные сторонними разработчиками для версии 1.3, не будут работать в версии 2.0, "старый" Apache также поддерживается. Однако если вы собираетесь впервые установить Apache, то стоит присмотреться к новой версии.

Apache — полнофункциональный, расширяемый веб-сервер с открытым кодом

Итак, что же такое Apache? Это полнофункциональный, расширяемый веб-сервер, полностью поддерживающий протокол HTTP/1.1 и распространяющийся с открытым исходным кодом. Сервер может работать практически на всемх распространенных платформах. Существуют готовые исполняемые файлы сервера для Windows NT, Windows 9x, OS/2, Netware 5.x и нескольких UNIX-систем. При этом он очень прост в установке и конфигурации. В этом вы сможете убедиться несколько позднее.

Apache настраивается с помощью текстовых конфигурационных файлов. Основные параметры уже настроены "по умолчанию" и будут работать в большинстве случаев. Если вам не хватает функциональности штатного "Апача", то стоит присмотреться к распространяемым модулям, написанным Apache Group и сторонними разработчиками. Немаловажным преимуществом является то, что создатели активно общаются с пользователями и реагируют на все сообщения об ошибках.

Самая простая функция, которую может выполнять Apache – стоять на сервере и обслуживать обычный HTML-сайт. При получении запроса на определенную страницу сервер отправляет в ее ответ браузеру. Набираете адрес, открывается страница — все просто.

С помощью сервера Apache можно производить простую аутентификацию

Функция посложнее, которая заложена в протоколе HTTP/1.1 – аутентификация пользователей. С помощью штатных средств сервера Apache вы можете разграничить доступ к определенным страницам сайта для разных пользователей. Это нужно, например, для того чтобы сделать администраторский интерфейс к сайту. Для этого используются файлы.htaccess и.htpasswd, а также модули mod_auth и mod_access. Пользователи могут быть разбиты на группы, и для каждой из них можно назначить свои права доступа.

Сервер Apache поддерживает работу с технологией SSI

Для разделения дизайна и функциональной части сайта, а также для упрощения изменения статических объектов существует технология SSI. Она позволяет вам поместить всю повторяющуюся информацию в один файл (например, top.inc), а затем вставлять в страницы ссылку на нее. Затем, если понадобится изменить несколько строк в этой информации, то придется поменять их только в одном файле. Сервер Apache поддерживает эту технологию и позволяет использовать серверные включения в полном объеме.

На сервере Apache можно создавать пользовательские директории для веб-сайтов

Если на одном сервере с установленной операционной системой семейства Unix и сервером Apache заведено несколько пользователей, то каждому из них можно создать отдельную директорию. Точнее, она будет создаваться автоматически вместе с псевдонимом. Это делается с помощью модуля mod_userdir и директивы UserDir. Так, например, можно папке public_html в домашней папке пользователя сопоставить адрес www.site.ru/~user. В общем-то, так и делается на серверах большинства сайтов, предоставляющих бесплатный хостинг. Администратор сервера может разрешить или запретить определенным пользователям создавать домашние страницы, использовать SSI и другие функции сервера. Полноценный же хостинг обычно предусматривает создание отдельного виртуального сервера для каждого пользователя.

Вы можете настроить виртуальные хосты. Благодаря им на одном физическом сервере можно содержать несколько виртуальных

Сервер Apache был одним из первых серверов, которые начали поддерживать виртуальные сервера (хосты). Эта возможность позволяет размещать на одном физическом сервере несколько полноценных сайтов. У каждого из них может быть свой домен, администратор, IP-адрес и так далее.

Если вам нужно разместить на вашем сервере домены domain.ru и domain.com, то для начала надо сделать так, чтобы в системе DNS им был сопоставлен ваш IP-адрес. После этого в конфигурационном файле Apache создаете две директивы , где описываете каждый виртуальный хост. Таким образом, сервер будет знать, на какую папку "отправлять" пришедший запрос.

Apaсhe поддерживает работу со скриптами PHP, CGI и другими

В данный момент большинство интернет-страниц являются динамическими. Это значит, что их внешний вид и наполнение формируется с помощью программного скрипта, написанного на одном из "языков" (их нельзя в полной мере назвать языками, определение достаточно условно). В данный момент наиболее сильно распространены технологии CGI и PHP . Разумеется, в Apache существует поддержка и того, и другого, плюс возможность подключать другие языки.

Модуль mod_cgi позволяет вам размещать на сервере CGI-скрипты. Вообще, это всего-навсего исполняемые файлы, написанные на одном из допустимых языков программирования. Они могут содержаться как в откомпилированном виде (например, так делают, если пишут CGI на языке C++), так и в виде исходного текста (если на сервере установлен Perl, то программист может помещать и такие файлы. Иногда они имеют расширение.pl).

Что касается PHP, то возможность интеграции его в Apache предусмотрена разработчиками самого PHP. Apache же выполняет только функции посредника между скриптом и компилятором. Существует два способа интеграции PHP в Apache. Первый – установка специального модуля, расширяющего возможности сервера, и тогда он сам становится способным "компилировать" скрипты. И второй – установка в конфигурационных файлах связей между php-файлами и самим компилятором (он находится на диске в виде файлов.cgi или.exe).

В последней версии Apache существует модуль для работы с сильной криптозащитой SSL/TSL

На основе сервера Apache можно создавать не только простые любительские сайты, но и ресурсы, требующие серьезной криптографической защиты передаваемых данных. Специально для этого был разработан протокол SSL/TLS, а его поддержка была встроена в Apache 2.0. С помощью специального модуля можно осуществлять аутентификацию на основе именных сертификатов, что позволяет практически наверняка гарантировать подлинность пользователя.

Apache ведет подробные протоколы всего происходящего на сервере

Ну и, разумеется, сервер Apache может вести протокол всех действий, совершаемых с ним. Причем администратор может сам выбрать степень подробности протокола. Протоколы ведутся отдельно для ошибок, для успешных операций и для каждого виртуального хоста. Словом, полный набор для тщательного анализа появляющихся ошибок.

В рамках одного материала нам не удалось не то что бы подробно рассказать обо всех возможностях сервера Apache, но и просто их перечислить. Данная статья была предназначена для первого поверхностного ознакомления пользователей и будущих разработчиков с сервером Apache. В других материалах мы обязательно коснемся всех тонкостей сайтостроения на основе этого замечательного программного комплекса.

Что такое Apache? Это программное обеспечение с открытым исходным кодом, веб-сервер, который обеспечивает работу около 46% сайтов по всему миру. Официальное название – Apache HTTP Сервер , поддерживается и развивается компанией Apache Software Foundation.

Веб-сервер позволяет владельцам сайтов обслуживать их контент в интернете, о чём понятно с самого название “веб-сервер”. Apache один из самый старых и надёжный веб-серверов с первой версией выпуска более 20 лет назад в 1995 году.

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

В Hostinger в нашей инфраструктуре использует Apache в параллели с NGINX, другим популярным веб-сервером. Эта связка позволяет нам взять все преимущества от обоих. Это очень улучшает производительность путём компенсации слабых сторон одного сильными сторонами другого.

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

Работа веб-сервера – обслуживать сайт в интернете. Для этого он выполняет роль посредника между компьютером сервера и компьютером клиента. Он берёт контент с сервера на каждый запрос пользователя и доставляет его в сеть.

Самой большой задачей веб-сервера является одновременное обслуживание различных запросов от многих пользователей. Веб-сервер обрабатывает файлы написанные на разных языках программирования, таких как PHP, Python, Java и другие.

Он превращает их в статический файл HTML и отдаёт их на обслуживание в браузер пользователя. Когда вы слышите словосочетание веб-сервер, думайте о нём, как об инструменте для коммуникации между сервером и клиентом.

Как работает веб-сервер Apache?

Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.

Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу “О нас”, его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.

Apache хорошо и удобно настраиваемый поскольку имеет модульную структуру. Модули позволяют администраторам сервера включать или выключать дополнительную функциональность. У Apache есть модули безопасности, кэширования, редактирования URL, аутентификации по средством пароля и другие. Вы можете установить свою собственную конфигурацию через файл .htaccess , который является файлом настроек для Apache и поддерживается всеми тарифными планами Hostinger .

Apache и другие веб-сервера

Кроме Apache существует ещё довольно много веб-серверов. Каждое приложение веб-сервера создавалось для различных целей. Не смотря на то, что Apache является самый широко используемым, для него есть несколько альтернатив и конкурентов.

Если Apache всегда казался вам черным ящиком? Пришло время узнать, что происходит за кулисами!

Apache - самый популярный веб-сервер.

Задача веб-сервера заключается в том, чтобы принимать запросы от клиентов и отправлять ответы на эти запросы. Веб-сервер получает URL-ссылку, переводит его в имя файла (для статических запросов) и отправляет этот файл через Интернет с локального диска или, на пример, переводит его на имя программы (для динамических запросов), выполняет ее, а затем отправляет выходные данные этой программы обратно через Интернет запрашивающей стороне. Если по какой-либо причине веб-сервер не смог обработать и завершить запрос, вместо этого он отправит сообщение об ошибке. Слово, веб-сервер, может ссылаться на сам компьютер (компьютер / оборудование) или на программное обеспечение, которое получает запросы и отправляет ответы.

Apache является самым популярным веб-сервером (после него идет Microsoft IIS). Можно назвать несколько причин его популярности:

  1. Его можно бесплатно скачать и установить.
  2. У него открытый исходный код: он доступен всем и каждому, что в принципе позволяет любому человеку (кому это по силам) настроить код, оптимизировать его и исправить ошибки и недочеты в безопасности. Пользователи могут добавлять новые функции и писать новые модули.
  3. Он подходит для любых потребностей: Apache можно использовать для небольших сайтов с одной или двумя страницами или для больших веб-сайтов с сотнями и тысячами страниц, который каждый месяц обслуживает миллионы постоянных посетителей. Он может обслуживать как статический, так и динамический контент.

Что такое Apache?

Функциональность, которая вам не нужна или важна, может быть легко удалена.

HTTP-сервер Apache - это программное обеспечение (или программа), которое работает в фоновом режиме в соответствующей операционной системе, поддерживает многозадачность и предоставляет услуги для других приложений, которые к ней подключаются, например, клиентские веб-браузеры. Apache был впервые разработан для работы с операционными системами Linux / Unix, но позже был адаптирован для работы в других системах, включая Windows и Mac. Бинарный файл Apache, работающий под UNIX, называется HTTPd (сокращенно для HTTP-daemon), а под win32 называется Apache.exe .

Установка Apache на Linux не требует много навыков программирования (хотя это не слишком легко). Его установка на платформе Windows прямолинейна, так как вы можете запускать ее через графический интерфейс пользователя.

Оригинальное ядро ​​Apache является довольно простым и содержит ограниченное количество функций. Его сила скорее связана с дополнительной функциональностью, внедренной во многие модули, которые написаны программистами и могут быть установлены для расширения возможностей сервера. Чтобы добавить новый модуль, все, что вам нужно сделать, это установить его и перезапустить сервер Apache. Функциональность, в которой вы не нуждаетесь или хотите, может быть легко удалена, что на самом деле считается хорошим моментом, так как она делает сервер маленьким и легким, он начинает работать быстрее, потребляет меньше системных ресурсов и памяти и делает сервер менее подверженным уязвимостям в плане безопасности. Сервер Apache также поддерживает сторонние модули, некоторые из которых были добавлены в Apache 2 как постоянные функции. Сервер Apache очень легко интегрируется с другими приложениями с открытым исходным кодом, такими как PHP и MySQL, что делает его еще более мощным, чем он есть.

Веб-сервер в его простейшей форме - это компьютер со специальным программным обеспечением и подключением к Интернету, которое позволяет ему взаимодействовать с другими устройствами.

Каждое устройство, подключенное к сети, имеет IP-адрес, через который другие подключаются к нему и общаются с ним. Этот IP-адрес похож на обычный адрес, который вам нужен в реальной жизни, чтобы позвонить или посетить кого-то. Если у них нет адреса, вы не знаете, как позвонить или связаться с ними. IP-адреса служат точно для такой же цели. Если у устройства не было такого устройства, другие компьютеры в той же сети не знали бы, как его достичь.

Сервер Apache предлагает ряд услуг, которые клиенты могут использовать. Эти службы предлагаются с использованием различных протоколов через разные порты и включают в себя: протокол передачи гипертекста (HTTP), обычно через порт 80, простой протокол передачи почты (SMTP), обычно через порт 25, службу доменных имен (DNS) для сопоставления доменных имен их соответствующие IP-адреса, обычно через порт 53 и протокол передачи файлов (FTP) для загрузки и скачивания файлов, обычно через порт 21.

Как работает Apache

Основная роль Apache связана с коммуникацией по сетям и использует протокол TCP / IP (протокол управления передачей / интернет-протокол, который позволяет устройствам с IP-адресами в одной сети взаимодействовать друг с другом).

Протокол TCP / IP представляет собой набор правил, которые определяют, как клиенты обрабатывают запросы и как реагируют серверы, и определяют, как данные передаются, доставляются, принимаются и подтверждаются.

Сервер Apache настроен для работы через файлы конфигурации, в которые добавляются директивы для управления его поведением. В своем состоянии ожидания Apache прослушивает IP-адреса, указанные в его файле конфигурации (HTTPd.conf). Всякий раз, когда он получает запрос, он анализирует заголовки, применяет правила, указанные для него в файле Config, и принимает меры.

Но на одном сервере может размещаться множество веб-сайтов, а не только один, но для внешнего мира они кажутся отделенными друг от друга. Чтобы достичь этого, каждому из этих сайтов должно быть присвоено другое имя, даже если все они будут отображаться в конечном итоге на одном и том же компьютере. Это достигается за счет использования так называемых виртуальных хостов.

Поскольку IP-адреса трудно запомнить, мы, как посетители определенных сайтов, обычно вводим соответствующие им имена доменов в поле URL-адреса в наших браузерах. Затем браузер подключается к DNS-серверу, который переводит имена доменов на их IP-адреса. Затем браузер берет возвращаемый IP-адрес и подключается к нему. Браузер также отправляет Host header с запросом, чтобы, если сервер размещает несколько сайтов, он будет знать, какой из них должен обслуживать.

Например, ввод текста на www.google.com в поле адреса вашего браузера может отправить следующий запрос на сервер по этому IP-адресу:

GET / HTTP/1.1 Host: www.google.com

Первая строка содержит несколько фрагментов информации. Во-первых, существует метод (в данном случае это GET), URI, который указывает, какую страницу нужно извлечь или какую программу нужно запустить (в этом случае это корневой каталог, обозначенный /), и, наконец, есть HTTP-версия (которая в данном случае является HTTP 1.1).

HTTP - это протокол без ответа.

HTTP - это протокол без ответа. Это набор правил, регулирующих связь между клиентом и сервером. Клиент (обычно, но не обязательно веб-браузер) делает запрос, сервер отправляет ответ, а связь прекращается. Сервер не ожидает дополнительной связи, как в случае с другими протоколами, которые остаются в состоянии ожидания после завершения запроса.

Если запрос выполнен успешно, сервер возвращает код состояния 200 (что означает, что страница найдена), заголовки ответов вместе с запрошенными данными. . Заголовок ответа сервера Apache может выглядеть примерно так:

HTTP/1.1 200 OK Date: Sun, 10 Jun 2012 19:19:21 GMT Server: Apache Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache Last-Modified: Sun, 10 Jun 2012 19:19:21 GMT Vary: Accept-Encoding,User-Agent Content-Type: text/html; charset=UTF-8 Content-Length: 7560

Первая строка в заголовке ответа - это строка состояния. Он содержит версию HTTP и код состояния. Далее следует дата, а затем некоторая информация о хост-сервере и извлеченных данных. Заголовок Content-Type позволяет клиенту узнать тип извлеченных данных, чтобы он знал, как его обрабатывать. Content-Lengthlets клиент знает размер тела ответа. Если запрос не пошел, клиент получит код ошибки и сообщение, например, следующий заголовок ответа в случае ошибки страницы, не найденной:

HTTP/1.1 404 Not Found

Протокол TCP / IP

TCP / IP - это фактически два протокола, построенные один поверх другого.

TCP / IP - это фактически два протокола, построенные один поверх другого. IP-протокол отвечает за передачу переданных данных из одной точки в другую. Он переносит данные между двумя точками, разбивает их на меньшие пакеты, присоединяет исходный и целевой адреса к каждому пакету и передает данные.

TCP обрабатывает часть, которая включает установление соединения между двумя сторонами, следя за тем, чтобы данные доходили до места назначения, заботясь о любой потере данных и управлении восстановлением данных.

После получения сообщения сторона-получатель отправляет сообщение с подтверждением (ACK) отправителю, если все идет хорошо, сообщая ему о прибытии данных. Если что-то пойдет не так, как, например, возникновение ситуации с потерей данных, адресат отправляет сообщение Not Acknowledged (NAK), сообщая об этом отправляющему узлу проблемы и информируя его о необходимости повторной передачи пакета данных.

Как обсуждалось ранее, Apache предлагает множество сервисов, с которыми клиенты могут захотеть подключиться, чтобы использовать или извлекать выгоду. TCP управляет каждой службой, так что к ней осуществляется доступ через определенный порт для различения различных служб. Таким образом, он гарантирует, что любой данный интерфейс (или хост) может предлагать несколько сервисов. . Поэтому, когда клиент подключается к хосту, он передает номер порта вместе с IP-адресом. Браузеры используют протокол HTTP, который по умолчанию использует порт 80, поэтому нет необходимости в дальнейшей спецификации.

Следующее изображение представляет собой быстрый снимок моего FTP-программного обеспечения (WinScp). Как вы видите, для FTP-сервера мне не только нужно указать IP-адрес (или ввести имя домена), но мне также необходимо указать номер порта, через который мой сервер предоставляет услугу. В случае FTP номер порта равен 21. В случае SFTP (защищенный FTP) номер порта равен 22.

В UNIX список сервисов, предлагаемых вместе со своими номерами портов, можно найти в файле / etc / services. Следующая команда отобразит содержимое файла:

More /etc/services

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

Под окнами файл называется Services, и его можно найти в папке C: \ WINNT \ system32 \ drivers \ etc \

Inetd

Чтобы сохранить системные ресурсы, UNIX обрабатывает многие свои службы через internet-daemon (inetd), отличие от постоянно работающего daemon. Inetd - суперсервер, который слушает различные порты и обрабатывает запросы на соединение, получая их, инициируя новую копию соответствующего daemon (программы). Новая копия программы затем берет ее оттуда и работает с клиентом, а inted возвращается к прослушиванию портов сервера, ожидающих обработки новых клиентских запросов. После того, как запрос обработан и связь завершена, daemon завершает работу.

Общая структура

Как уже упоминалось ранее, Apache может быть установлен в различных операционных системах. Независимо от используемой платформы, размещенный веб-сайт, как правило, имеет четыре основных каталога: htdocs , conf , logs , cgi-bin .

htdocs является каталогом документов веб-сервера Apache по умолчанию, то есть это общедоступный каталог, содержимое которого обычно доступно для клиентов, подключающихся через Интернет. Он содержит все статические страницы и динамический контент, которые будут обслуживаться после получения HTTP-запроса для них. Поскольку файлы и подкаталоги в htdocs доступны для общественности, правильная обработка разрешений на файлы имеет большое значение, чтобы не поставить под угрозу безопасность и безопасность сервера.

conf - это каталог, в котором расположены все файлы конфигурации сервера. Файлы конфигурации в основном представляют собой текстовые файлы, в которых добавляются директивы для управления поведением и функциональностью веб-сервера. Каждая директива обычно помещается в отдельную строку, а хеш (#) указывает комментарий, поэтому строка, пройденная им, игнорируется.

logs - это каталог, в котором хранятся журналы сервера, журналы доступа Apache и журналы ошибок. HTTP-сервер Apache предоставляет множество различных механизмов для регистрации всего, что происходит на нем, от первоначального запроса через процесс сопоставления URL-адресов до окончательного разрешения соединения, включая любые ошибки, которые могли произойти в процессе. В дополнение к этому сторонние модули могут предоставлять возможности ведения журнала или вводить записи в существующие файлы журналов, а приложения, такие как скрипты PHP или другие обработчики, могут отправлять сообщения в журнал ошибок сервера.

cgi-bin - это каталог, в котором хранятся скрипты CGI. CGI (Common Gateway Interface) определяет способ взаимодействия веб-сервера с внешними программами создания контента, которые часто называются CGI-программами или CGI-скриптами. Это программы или сценарии оболочки, которые написаны для выполнения Apache от имени своих клиентов.

Важно отметить, что вышеупомянутые имена файлов и каталогов (а также местоположения) могут отличаться от одного сервера к другому в зависимости от установленного аромата Apache и операционной системы, в которой он работает. Роли, однако, остаются прежними.

Вывод

С более чем половиной сайтов в Интернете, работающих на нем.

Apache был самым популярным веб-сервером в Интернете с 1996 года, связанный с более чем половиной сайтов в Интернете, работающих на нем. Он сыграл ключевую роль в формировании и создании World Wide Web, чем он и является до сегодняшнего дня. Причины его успеха очевидны и, как видно, он, вероятно, останется в лидерах, по крайней мере, в течение довольно долгого времени. Наш сегодняшний туториал должен стать вводной сессией для этого мощного программного обеспечения, и я надеюсь, что мы помогли понять, насколько Apache отличный инструмент и как он работает.

Apache HTTP-сервер - это так называемый свободный веб-сервер, представляющий собой кросплатформенное программное обеспечение. Apache поддерживает следующие операционные системы: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Как правильно настроить Apache?

Обычно настройка Apache-сервера происходит через файл.htaccess (детальная инструкция). Этот файл лежит на сервере, на котором находится ваш сайт. А сам сервер считывает его содержимое и применяет настройки, которые там указаны. Ниже мы перечислим основные параметры которые изменяются в файле.htaccess и будут полезны для вебмастеров.

Автоматические перенаправления с одной страницы на другую

  • Перенаправление с http://www.site.com на http://site.com
  • Обратное перенаправление с http://site.com на http://www.site.com
  • Переезд со старого домена на новый
  • site.com/page или site.com/page/ перенаправляем на site.com/page.html
  • Обратное с site.com/page.html на site.com/page
  • Убираем слеш в конце url-а (было site.com/page/, стало site.com/page)
  • Перенаправление всех страниц одного раздела site.com/razdel-1/razdel-2/page на на страницы другого раздела site.com/razdel-1/page

Обработка ошибок

  • Если произойдет ошибка, то пользователю вместо стандартной лабуды, покажет красивую страничку, которую зададите вы.

Настройка безопасности сайта

  • Защита от инъекций
  • Защита от кражи картинок
  • Блокирование пользователей по IP
  • Защита файлов и папок
  • Работа с User-агентами

Кодировка страниц сайта

  • Работа с кодировкой страниц сайта, на уровне сервера.

Оптимизация работы сайта

  • Ускорение работы сайта
  • Работа с кэшированием
  • Изменение главной страницы сайта

Настройки PHP

  • Работа с параметрами PHP, которые задаются на уровне сервера.

Информация про Apache

Надежность и гибкость конфигурации главные достоинства Apache. Благодаря этому ПО можно осуществлять подключение внешних модулей, использующихся для предоставления данных, модифицировать сообщения об ошибках, применять СУБД для аутентификации пользователей. Apache поддерживает IPv6.

Начиная с апреля 1996 года и до настоящего времени Apache является самым распространенным и популярным HTTP-сервером в сети Интернет. Согласно статистическим данным в августе 2007 HTTP-сервером работал на 51% всех веб-серверов, в мае 2009 года этот показатель снизился до 46%, а в январе 2011 года вырос до 59%. На сегодняшний день более 59% от общего количества веб-сайтов обслуживаются веб-сервером Apache. Разработкой и поддержкой Apache занимаются специалисты открытого сообщества разработчиков под эгидой Apache Software Foundation. Apache включен в большинство программных продуктов, среди которых IBM WebSphere и СУБД Oracle.

Apache оснащен встроенным механизмом виртуальных хостов. Благодаря этому на одном IP-адресе можно обслуживать большое количество веб-проектов (доменных имен), при этом отображая для каждого из них свое содержимое. Для каждого виртуального хоста имеется возможность указать свои настройки модулей и ядра, а также установить ограничения к доступу ко всему сайту либо некоторым файлам. С помощью Apache-ITK для каждого виртуального хоста можно запускать процесс httpd с идентификаторами gid и uid. Также есть модули, которые позволяют ограничивать и учитывать ресурсы сервера (трафик, RAM, CPU) отдельно для каждого виртуально хоста.

Apache (Apache HTTP Server), название самого известного и распространенного web-сервера поддерживающего протокол HTTP/1.1. По сути веб-сервер (web-server) это мощная программа, предназначенная для обработки http запроса из адресной строки браузера и возвращения по этому запросу нужных файлов. Если упростить, то веб-сервера позволяют наладить общение между браузером и сервером, по следующей схеме, браузер просит отдать ему файлы сайта по адресу, а веб-сервер ему это отдает. Это очень упрощенно. «Общение» проходит по протоколу HTTP.

Веб-сервера, в том числе Apache, специально разрабатывались для этих целей и не одно программное обеспечение сервера или хостинга не сможет работать без веб-сервера работающего по HTTP протоколу.

Совсем недавно, Apache был практически монополистом для решения своих задач. Сейчас его поджимает, веб-сервер Nignix. Всё чаще используется симбиоз Apache и Nignix.

Не обойтись без веб-сервера и сборки локального сервера. На сегодня, ситуация такова, что Apache используется и больше того, доминирует во всех сборках локальных серверов, как для Windows, так и для Linux.

Управление Apache

Для знакомства с веб-сервером Apache стоит ознакомиться, как управляется сервис Apache со стороны клиента.

Вероятно, что именно простота внешнего управления веб-сервисом Apache и сделало его таким популярным (или это одна из причин). Для управления веб-сервисом Apache есть специальный файл, под именем.htaccess (с точкой в начале). По своему функциональному назначению, он похож на файл robots.txt для поисковых роботов. Специальными директивами, записанными в этот файл вы можете, как пользователь, не углубляясь в программное обеспечение сервера, управлять выдачей страниц своего сайта, создавать перенаправления и т.п. Кроме файла.htaccess, для управления Apache есть файл htpasswd (тоже с точкой вначале) и еще модули mod_auth и mod_access.

Но вернемся к локальным серверам. Для установки (создания) локального сервера на свой компьютер без Apache не обойтись. Не в лишний раз напомню, что в аббревиатурах и LAMP, буква [A] это и есть веб-сервер, Apache.

Во всех сборках локальных серверов, таких как, Денвер, Open-server, XAMPP и др. веб-сервер Apache присутствует априори. Если собираем сервер самостоятельно, что мы и делаем, Apache нужно устанавливать самостоятельно.

Какую версию Apache нужно ставить

Развитие Apache шло двумя ветками (версиями) Apache 1.3 и Apache 2.x. Старую версию 1.3 ставить незачем, поэтому работаем с версией 2.x.

Теперь, самое запутанное. Вам знакомо, что почти любую программу можно ставить двумя вариантами:

  • С помощью автоустановщика (инсталлятора), файл ;
  • Напрямую, закачав каталоги и файлы программы в нужную директорию диска.

С Apache ситуация следующая:

  • Последняя версия Apache 2.4.26 (выпущено 2017-06-19) есть только в варианте ручной установки (ссылка внизу);
  • В варианте инсталлятора последняя версия Apache 2.2.25.

На этом всё! Первое знакомство с Apache состоялось. В следующих статьях я расскажу, как установить обе версии Apache на локальный компьютер.

В завершении нужные ссылки

Навигация на сайте Apache веб сервер (http) несколько запутанная, поэтому приведу нужные ссылки:

  • Сайт Apache веб-север (http://httpd.apache.org/ ).
  • Скачать Apache веб-север (http://httpd.apache.org/download.cgi )
  • Скачать Стабильную версию — последняя версия: 2.4.26 (выпущено 2017-06-19) (для Windows).
  • Скачать устаревший выпуск — 2.2 серия. 2.2.32 (выпущено 2017-01-13)
  • Бинарные версии: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)