Разное

Веб сервер apache: Что такое Apache? Подробный обзор веб-сервера Apache

31.03.1970

Содержание

Что такое Apache? Подробный обзор веб-сервера Apache

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

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

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

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

Попробуйте хостинг от Hostinger. Верните ваши деньги в течение 30 дней, если вас что-то не устроит. Воспользуйтесь предложением и разместите сайт до 85% дешевле!

К предложению

Что такое веб-сервер?

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

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

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

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

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

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

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

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

Знаете ли вы, что в Hostinger есть специальные предложения? Посетите нашу страницу купонов и сэкономьте до 75%! Не стоит забывать, что это предложение ограничено во времени!

Использовать купон

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

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

Apache или NGINX

Nginx произносится как Engine-X, это более новое веб-серверное программное обеспечение с первым релизом в 2004 году. Как на сегодня он добился большой популярности среди владельцев сайтов. Nginx был создан для решения так называемой проблемы c10k – проблемы 10 тысяч соединений, что означает, что веб-сервера, использующие потоки не могут обрабатывать запросы пользователей более, чем с 10 000 подключений одновременно.

  1. Так как Apache использует структуру основанную на потоках, владельцы сайтов с высоким трафиком могли столкнуться с проблемой производительности. Nginx один из веб-серверов, который был нацелен на решение проблемы c10k и возможно это одно из самых успешных решений.
  2. Nginx имеет событийно ориентированную архитектуру, которая не создаёт новый процесс для каждого запроса. Вместо этого он обрабатывает каждый входящий запрос в едином потоке. Этот главный процесс управляет несколькими рабочими процессами, которые выполняют непосредственную обработку запросов. Модель Nginx, основанная на событиях распространяет запросы пользователей среди рабочих процессов эффективным путём, что приводит к лучшей масштабируемости.
  3. Если вам нужно обслуживание сайта с высокой посещаемостью, то Nginx – отличный выбор, поскольку он может сделать это, затратив минимальные ресурсы. И не случайно он используется сайтами с большим количеством показов, такими как: Netflix, Hulu, Pinterest и Airbnb.
  4. Однако для мелких и средних игроков, Apache имеет несколько преимуществ в сравнении с Nginx, среди которых: более простая настройка, множество модулей и среда дружественная для начинающих.

Apache или Tomcat

Tomcat – это веб-сервер также разработанных Apache Software Foundation, поэтому его официальное название Apache Tomcat. Это тоже HTTP-сервер, однако он обрабатывает приложения Java вместо статических сайтов. Tomcat может запускать несколько Java спецификаций, таких как: Java Servlet, Java Server Pages (JSP), Java EL и WebSocket.

  1. Tomcat был разработан специально для приложений на Java, в то время как Apache позиционируется как HTTP-сервер. Вы можете использовать Apache совместно с другими языками программирования (PHP, Python, Perl и т. д.) с помощью специального модуля Apache (mod_php, mod_python, mod_perl и др.).
  2. Хотя вы и можете использовать сервер Tomcat для статических веб-страниц, но это будет менее эффективно, чем использование Apache. Например, Tomcat заранее загружает виртуальную машину Java и другие Java-библиотеки, которые могут быть ненужными для работы вашего сайта.
  3. Tomcat также хуже настраиваемых в сравнении с другими веб-серверами. Например, для запуска WordPress, лучшим выбором будет стандартный HTTP-сервер, такой как Apache или NGINX.

Apache: преимущества и недостатки

Веб-сервер Apache может быть прекрасным выбором для запуска вашего сайта на стабильной и универсальной платформе. Но у него есть и свои недостатки, на которые стоит обратить внимание.

Преимущества:

  1. Бесплатный даже для использования в коммерческих целях.
  2. Надёжный, стабильное программное обеспечение.
  3. Часто обновляемый, регулярные патчи безопасности.
  4. Гибкий благодаря своей модульной структуре.
  5. Легко настраиваемый, дружелюбный для начинающих.
  6. Кроссплатформенный (работает одинаково хорошо на Unix и на Windows серверах).
  7. Работает для сайтов на WordPress сразу после установки без дополнительных настроек.
  8. Большое сообщество и легко доступная поддержка в случае любой проблемы.

Недостатки:

  1. Проблемы производительности на сайтах с большим трафиком.
  2. Слишком много параметров конфигруации могут привести к уязвимостям в безопасности.

Что ещё почитать?

Хотите узнать больше об основах хостинга сайтов и разработке? Познакомьтесь с нашими руководствами:

Итак, что такое Apache?

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

Вы можете установить сайт WordPress на веб-сервере Apache без каких-либо настроек. Кроме того, Apache прекрасно работает со многими другими системами управления контентом (Joomla, Drupal и др. ), веб-фреймворками (Django, Laravel и др.) и языками программирования. Это делает его уверенным решением для всех типов хостинг платформ, таких как VPS или общий хостинг.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

что это такое и как им пользоваться

Apache – один из самых популярных в мире веб-серверов. Начинающие вебмастера не всегда понимают, что представляет собой Apache и как происходит взаимодействие с таким программным обеспечением.

Далее я постараюсь максимально подробно рассказать о нем, приводя объяснения общим терминам.

Понятие «веб-сервер‎»

Перед тем как переходить непосредственно к разбору Apache, кратко затрону понятие веб-сервера, ведь рассматриваемое программное обеспечение таковым и является.  

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

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

Работа веб-сервера Apache

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

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

Все остальное зависит от подключаемых модулей, которые существуют для Apache Web Server, то есть его можно назвать модульным (собираемым из разных дополнений, расширяющих функциональность). Здесь уже создатель сайта сам решает, какие дополнения установить, редактируя конфигурацию через специальный файл под названием .htaccess. Дополнений существует множество – начиная со средств повышения безопасности и заканчивая модулями аутентификации пользователей при вводе учетных данных.

Пример использования файла .htaccess

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

Самая простая строка кода, вводимая в этот файл выглядит так:


AddType "text/html; charset=koi8-r" .html .htm .shtml

Ее основное предназначение – указать Apache кодировку, в которой нужно возвращать текст пользователю. Такое изменение делается в тех случаях, когда стандартный вывод вас не устраивает.

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

Если вы нуждаетесь в получении дополнительной информации о виртуальном хостинге с этим веб-сервером, ознакомьтесь с документацией Virtual Apache Host на официальном сайте разработчика ПО.

Подробнее: Apache Virtual Host documentation

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

Есть и другие веб-серверы, обладающие своими преимуществами и недостатками. Обо всех них в рамках этой статьи говорить не будем, рассмотрим лишь пару достойных конкурентов.

Начнем с самого известного решения – Nginx. Здесь сказать можно только одно – его главным преимуществом является преодоление барьера в 10 000 одновременных соединений. Apache не может обработать такой большой поток трафика сразу, поэтому многие вебмастера и переключились на альтернативу, когда масштабы их проекта значительно увеличились. Связано это с поточной структурой Apache и невозможностью реализовать прохождение такого барьера. Однако в некотором плане Апач превосходит Nginx, если говорить о простоте настройки, подключении модулей и юзерфрендли-подходе от разработчиков.

Примечание. Хостинг Timeweb на своих серверах использует связку Nginx+Apache: Nginx отдает статический контент, а Apache подключается позже и отвечает за обработку динамического контента.

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

Установка Apache на компьютер

Если вы хотите самостоятельно попробовать Apache, организовав полноценно работающий сайт с веб-сервером, базой данных и другими компонентами, воспользуйтесь информацией, предоставленной на официальном сайте. Там вы найдете все необходимые файлы для Windows, архивы и команды инсталляции для Linux, а также объяснения всех тонкостей, связанных с настройкой данного компонента.

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

Подробнее: Как использовать Apache в качестве обратного прокси при помощи mod_proxy на Ubuntu 16.04

Преимущества и недостатки Apache

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

Плюсы

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

  • Открытый исходный код. Он позволяет не только бесплатно скачивать программу, но и изменять ее под свои цели, чем и занимаются многие компании по всему миру, составляя уникальные конфигурации.
  • Простота настройки. Помимо того, что в Apache есть огромное количество настроек, их редактирование остается таким же простым, а за вспомогательной информацией всегда можно обратиться к официальной документации.
  • Модульная структура. Считаю, что возможность подключения любого количества модулей значительно расширяет функциональность веб-сервера, делая его универсальным.
  • Кроссплатформенность. Скачать веб-сервер можно для любой операционной системы (но не для мобильной). При этом процесс настройки не меняется, различается только принцип инсталляции и расположение каталогов. Остается таким же и создание сайтов. Apache можно освоить как в Windows, так и в Linux или macOS.
  • Масштабируемость. Данный веб-сервер подойдет как для одного сайта, так и для нескольких, расположенных на одном виртуальном хостинге.

Минусы

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

  • Влияние трафика на производительность. Apache работает медленно, если наплыв пользователей слишком большой.
  • Дыры в безопасности. Это относится только к тем случаям, когда к веб-серверу подключено огромное количество модулей. Чем их больше, тем сложнее процесс конфигурирования, появляются уязвимые места и дыры.
  • Редактирование файлов в Linux. Управление конфигурационными файлами в этих дистрибутивах осуществляется вручную без графического интерфейса, что не всегда удобно (в качестве рекомендации могу подсказать приложение Apache GUI, благодаря которому настройку можно выполнить через веб-обозреватель).

Apache – несомненно, один из лучших веб-серверов, в чем вы смогли сами убедиться, дочитав мой обзор. 

Начало работы — HTTP сервер Apache Версия 2.4

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

См. также

Адреса в Интернете записываются с помощью URL — Uniform Resource Locator (унифицированный указатель ресурса), который указывает на используемый протокол (например, http), имя сервера (например,

www. apache.org), URL-путь (например, /docs/current/getting-started.html) и, возможно, строку запроса (например, ?arg=value), используемую для передачи серверу дополнительных аргументов.

Клиент (например, веб-браузер) подключается к серверу (например, вашему HTTP-серверу Apache), используя определённый протокол, и отправляет запрос на ресурс, используя URL-путь.

URL-путь может обозначать множество вещей на сервере. Это может быть файл (как getting-started.html), обработчик (как server-status) или файл какой-то программы (как index.php). Мы рассмотрим это подробней ниже, в разделе Контент веб-сайта.

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

Детали транзакции и условия возникновения ошибки записываются в файлы журналов. Это описывается более подробно ниже, в разделе Файлы журналов и устранение неполадок.

Для того чтобы соединиться с сервером, клиент сначала должен преобразовать имя сервера в IP-адрес — место в Интернете, где находится сервер. Таким образом, чтобы ваш веб-сервер был доступен, необходимо, чтобы имя сервера было в DNS.

Если вы не знаете как это сделать, вам нужно обратиться к сетевому администратору или поставщику услуг Интернета (провайдеру). Они могут сделать это для вас.

Несколько хостов могут указывать на один и тот же IP-адрес, а один физический сервер может иметь больше одного IP-адреса. Таким образом на одном физическом сервере вы можете запустить больше одного сайта с помощью особенности: виртуальные хосты.

Если вы тестируете сервер, не имеющий выхода в Интернет, можете поместить имена хостов в файл hosts для того что бы имя разрешалось локально. Например, вы можете добавить запись для отправки запросов к www. example.com на локальный компьютер, для тестирования. Эта запись будет выглядеть так:

127.0.0.1 www.example.com

Файл hosts, скорее всего, расположен в /etc/hosts или C:\Windows\system32\drivers\etc\hosts.

Вы можете узнать больше о файле hosts и больше о DNS.

HTTP-сервер Apache настроен с помощью простых текстовых файлов. Эти файлы могут располагаться в разных местах, в зависимости от того как вы установили сервер. Общие места расположения файлов можно найти в Вики HTTP-сервера Apache. Если вы установили httpd из исходного кода, то расположение файлов конфигурации по умолчанию следующее: /usr/local/apache2/conf. По умолчанию файл конфигурации называется httpd.conf. Это тоже может варьироваться в сторонних дистрибутивах сервера.

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

Сервер настраивается путём размещения директив конфигурации в этих файлах конфигурации. Директива — это ключевое слово с одним или несколькими аргументами, устанавливающими её значение.

На вопрос: «Где я должен прописать эту директиву?» – обычно отвечают, там где ты хочешь использовать её. Если это глобальная настройка, она должна располагаться в конфигурационном файле вне разделов <Directory>, <Location>, <VirtualHost> или других разделов. Если настройка относится только к конкретному каталогу, значит она должна быть внутри секции <Directory>, которая описывает этот каталог, и так далее. Смотри документ Разделы конфигурации с подробным описанием вышеуказанных разделов.

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

Содержимое сайта может принимать различные формы, но в широком смысле разделяется на статический и динамический контент.

Статический контент — это, например, HTML-файлы, файлы изображений, CSS-файлы и другие файлы, которые просто лежат на диске. Директива DocumentRoot указывает где в вашей файловой системе, вы должны разместить эти файлы. Эта директива устанавливается глобально или отдельно для каждого виртуального хоста. Посмотрите в своём файле(ах) конфигурации, чтобы узнать, как именно эта директива используется на вашем сервере.

Обычно, когда запрашивается каталог, без указания имени файла, то будет отдан документ с именем index. html. Например, если для директивы DocumentRoot установлено значение /var/www/html и приходит запрос на адрес http://www.example.com/work/, то файл расположенный по пути /var/www/html/work/index.html будет отдан клиенту.

Динамический контент — это всё что генерируется во время запроса и может изменяться от запроса к запросу. Существует множество способов создания динамического контента. Различные обработчики доступны для генерации содержимого. Могут быть написаны специальные CGI программы для генерации контента на сайте.

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

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

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

Больше о логирование вы можете узнать в документации о журналах.

Теперь, когда вы знакомы с основами, пора двигаться дальше.

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

Веб-сервер Apache: установка, настройка и применение

Web-сервером называют и физический «компьютер-сервер», и специализированное программное обеспечение (ПО), принимающее запросы пользователей с браузеров и выдающее им ответы, используя протокол http/https. Практически у всех провайдеров услуг виртуального хостинга в качестве программного обеспечения для работы сайтов используется web-сервер Apache (также известный как httpd).  

Apache — это свободное программное обеспечение, которое работает на ОС Linux и Windows и распространяется в виде файлов, готовых к установке.

Часто Apache используется на хостингах в виде backend web-сервера — работающего с запросами, которые поступили из форм на сайте (например, из корзины товаров).

Backend-сервер работает в связке с frontend web-сервером, который отвечает за отдачу статического контента, видимого пользователю в браузере (HTML, CSS, JavaScript). Таким fronted-сервером является Nginx, который устанавливают вместе с веб-сервером Apache. Они распределяют между собой нагрузку, что ускоряет работу сайта.

Для Linux

Web-сервер Apache на платформе Linux используется вместе с:

Все вместе это называется технологией LAMP (Linux-Apache-MySQL-PHP). На применение связки LAMP ориентируется большинство провайдеров виртуального хостинга.

Apache поддерживает панели управления сервером:

Для Windows

На платформе Windows Apache вместе с другими веб-серверами включен в состав популярных наборов для локального хостинга на компьютере пользователя и разработки web-сайтов Denwer и AMPPS. Вы можете установить себе на компьютер любой из них, включая Apache.

На реальных хостинг-серверах с ОС Windows в большинстве случаев используется веб-сервер IIS.

Принципы работы Apache

Как было сказано выше, основная задача Apache — это обработка запросов web-браузеров на выдачу информации по http/https-протоколу.

Информация — это:

  • HTML-страницы;
  • изображения;
  • файлы;
  • медиапотоки.

Работает это так: 

1. При использовании http/https браузер запрашивает страницу по определенному адресу — URL (Universal Resource Locator). 
2. Web-сервер обрабатывает запрос и либо отправляет обратно в браузер запрошенную информацию, либо возвращает код ошибки.

Apache основан на модульной архитектуре и содержит в своем составе более 500 разнообразных компонентов-модулей, среди которых:

  • PageSpeed — отвечает за оптимизацию веб-сервера и контента сайта.
  • mod_security — отвечает за безопасность, а именно фильтрацию нежелательных видов трафика.
  • mod_status — используется для мониторинга запросов и нагрузки на веб-сервер.
  • mod rewrite — самый популярный модуль, который отвечает за редиректы и URL на сайте.

Принцип работы Apache: каждый http/https-запрос создает отдельный процесс, который обрабатывает данный запрос.  Если на сайт перешли условно 5 пользователей и нажали на кнопку «заказать», то на сервере будет активно 5 процессов. Пока они не закончатся, другие процессы не могут быть запущены.

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

Плюс системы: разделение запросов между процессами способствует безопасности и скорости работы web-сервера.
Минус системы: такой подход приводит к относительно большому потреблению оперативной памяти.

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

Отдельные строки-команды конфигурации Apache называются директивами. 

Основной конфигурационный файл Apache, в зависимости от операционной системы, называется httpd.conf или apache2.conf.

Виртуальные хосты Apache

Компьютер-сервер, на котором размещаются web-сайты, имеет лишь один IP-адрес. Чтобы знать, к какому именно сайту идет запрос, в протоколе http/https для web-браузера указывается название конкретного сайта, а не IP-адреса.

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

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

При поступлении http/https-запроса по доменному имени Apache “смотрит”, какому из виртуальных хостов соответствует запрос.

Если в конфигурации найден совпадающий по названию виртуальный хост, то запрос обрабатывается, согласно его конфигурации.

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

Также настройки по умолчанию применяются в том случае, если был http/https-запрос на IP-адрес сервера без указания конкретного доменного имени.

#Прием запросов на порт 80
Listen 80

#Секция настроек виртуального хоста для сайта www.example.com
<VirtualHost 172.20.30.40:80>
    ServerName www.example.com
    DocumentRoot «/www/example»
</VirtualHost>

Секция настроек виртуального хоста для сайта www.example2.com
<VirtualHost 172.20.30.40:80>
    ServerName www.example2.com
    DocumentRoot «/www/example2»
</VirtualHost>

Пример конфигурации Apache для нескольких сайтов (виртуальных хостов)

Apache и виртуальный хостинг

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

Изменение глобальной конфигурации web-сервера недоступно для отдельных пользователей. 

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

Apache на собственном сервере

Пользователи услуг VPS/VDS и выделенных серверов на платформе Linux могут применять Apache для размещения на сервере web-сайтов.

На платформе Linux web-сервер Apache устанавливается из командной строки так же, как и другие программы.

В зависимости от версии Linux команда для установки Apache может иметь вид:

# yum install httpd

или

# apt install apache2

Чтобы упростить настройки серверов, вы также можете использовать панели управления сервером, которые в автоматическом режиме устанавливают Apache, PHP, MySQL и другие программные компоненты.

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

Пример: добавление на сервер нового сайта через панель управления хостингом ISPmanager

Безопасность работы Apache

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

Web-сервер Apache предоставляет различные способы обеспечения безопасного размещения сайтов. 

1. Каждый web-сайт на сервере имеет свою собственную основную папку, в которой находятся его файлы. Пользователь по протоколу http/https может получить доступ только к информации, содержащейся внутри этой папки (включая вложенные в нее папки). Соответственно, из соображений безопасности, папки разных сайтов не пересекаются друг с другом.

2. Apache использует систему прав доступа к файлам, которую предоставляет файловая система Linux. Обычно Apache работает на сервере с правами специального служебного пользователя (httpd или apache), но с помощью специальных модулей (например, mpm_itk_module) можно настроить Apache таким образом, чтобы его отдельные процессы, обслуживающие сайты конкретных пользователей, работали строго с их правами. 

3. При необходимости в Apache можно закрыть доступ к определенной папке сайта с помощью пароля. Есть возможность настройки доступа для определенных IP-адресов и фильтрации подозрительных запросов по ключевым словам.

Модуль перенаправления Mod_rewrite

В состав Apache входит специальный модуль mod_rewrite, обеспечивающий перенаправление запросов, в зависимости от URL.

С помощью данного модуля вы сможете:

  • гибко управлять переадресацией запросов к отдельным страницам сайта;
  • перенаправлять пользователей на другие документы сайта или внешние адреса;
  • обрабатывать случаи обращения к отсутствующим на сервере файлам и папкам. 

Mod_rewrite настраивается с помощью служебного файла .htaccess, который содержит набор конфигурационных директив, используемых для управления работой конкретного сайта.

Поддержка PHP

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

Apache предоставляет возможность управления настройками PHP для конкретных сайтов с помощью конфигурационных директив, указываемых в служебном файле .htaccess.

Аналогично PHP существуют модули для взаимодействия Apache со скриптами, написанными на языках программирования:

Выводы

Преимущества
1. Apache распространяется бесплатно.
2. Это кроссплатформенное ПО.
3. Наличие обширного функционала и возможность его расширения с помощью модулей. 
4. Поддержка модулей для различных языков программирования позволяет Apache обслуживать сложные динамические сайты.
5. Для владельцев web-сайта доступен удобный способ управления конфигурацией web-сервера с помощью служебного файла .htaccess.

Недостатки
1. Относительно высокое использование оперативной памяти сервера, особенно в связке с mod_php. 
2. Для изменения конфигурации web-сервера требуется ручное редактирование текстовых файлов.

Установка Apache HTTP Server 2.2.22

Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.

Авторы: Виктор Волков, Иван Шумилов

Содержание:


Сайт разработчика: http://www.apache.org/
Дистрибутив (Apache 2.2 Win32 Binary): http://www.apachelounge.com/download/
Прямая ссылка: httpd-2.2.22-win32.zip

Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. 🙂 Но мы с вами люди, крепких нервов и стальных желудков — поэтому, поехали.

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂

Правка файла httpd.conf

  1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
    LoadModule php5_module «C:/php/php5apache2_2.dll»
  3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
    PHPIniDir «C:/php»
  4. Найдите и раскомментируйте строку:
    ServerName www.example.com:80
    Отредактируйте ее следующим образом установив изначальное имя сервера:
    ServerName localhost:80
  5. Найдите строку:
    DocumentRoot «c:/Apache2/htdocs»
    Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
    DocumentRoot «C:/apache»
  6. Найдите данный блок:
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>
    И замените его на нижеследующий:
    <Directory />
    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
    </Directory>
  7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
    <Directory «c:/Apache2/htdocs»>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  8. Найдите блок:
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    Замените его на:
    <IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php
    </IfModule>
  9. Найдите строку:
    ErrorLog «logs/error.log»
    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
    ErrorLog «C:/apache/error.log»
  10. Найдите строку:
    CustomLog «logs/access.log» common
    Замените на:
    CustomLog «C:/apache/access.log» common
  11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  12. Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. И, наконец, найдите и раскомментируйте строки:
    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex.conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common
</VirtualHost>

Сохраните изменения и закройте файл «httpd-vhosts.conf»

Настройка конфигурационных файлов завершена, теперь необходимо установить сервис Apache2.2.

Установка сервиса Apache2.2 в картинках

Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

Вот что мы должны увидеть при успешной установке сервиса Apache2.2.

Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

Создание структуры каталогов виртуальных хостов

В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

Пример создания виртуального хоста

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common
</VirtualHost>

Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru

Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

Установка и настройка веб-сервера Apache – завершена.

Создание пакетных файлов для запуска и остановки сервисов

Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

Файл vhosts-off.txt (может содержать одну единственную строку):
127.0.0.1 localhost

Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru

В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

Файл запуска start-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
NET start MySQL

Файл остановки stop-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-off.txt goto no_vhosts
echo Restore hosts file:
copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2.2
NET stop MySQL

В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

start «» «C:\Apache2\bin\ApacheMonitor.exe»

Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

Apache HTTP Server | Русскоязычная документация по Ubuntu

Apache HTTP Server — проект, развиваемый The Apache Software Foundation, в рамках которого разрабатывается кроссплатформенный HTTP сервер с открытым исходным кодом. Входит в состав LAMP и XAMPP.

Версии Apache в Ubuntu

Ubuntu Apache
12.04 LTS (Precise) 2.2
14.04 LTS (Trusty) 2.4
15.10 (Wily) 2.4
16.04 LTS (Xenial) 2.4

Хостинг сайтов

Можно реализовать четырьмя способами:

  1. по умолчанию в папке /var/www/html. Доступом является http://localhost/

  2. настройки основного хостинга. Например, http://localhost/phpmyadmin

  3. в любой папке с помощью модуля виртуальных хостов. Например, http://mysite/

  4. в папке пользователя public_html (модуль userdir). Например, http://localhost/~username

Установка

Для установки Apache выполните в терминале:

sudo apt-get install apache2

Настройка

Для применения изменений в настройках необходимо перезапустить демон Apache:
sudo service apache2 restart

В Ubuntu конечный файл настройки (apache2.conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.

       /etc/apache2/
       |-- apache2.conf
       |       `--  ports.conf
       |-- mods-enabled
       |       |-- *.load
       |       `-- *.conf
       |-- conf-enabled
       |       `-- *.conf
       `-- sites-enabled
               `-- *.conf

Настройки модулей расположены в директории /etc/apache2/mods-available. Для подключения или отключения модулей (настроек модулей) следует использовать соответствующие команды a2enmod или a2dismod. Пример подключения модуля:

sudo a2enmod <mod-name>

Свои настройки следует сохранять в файлы, расположенные в директории /etc/apache2/conf-available. Для подключения или отключения своих настроек следует использовать соответствующие команды a2enconf или a2disconf. Пример подключения файла со своими настройками:

sudo a2enconf <config-name>

Настройки виртуальных хостов следует сохранять в файлы, расположенные в директории /etc/apache2/sites-available. Для подключения виртуальных хостов следует использовать соответствующие команды a2ensite или a2dissite. Пример подключения виртуального хоста:

sudo a2ensite <site-name>

Кодировка по умолчанию

Для указания кодировки по умолчанию следует использовать директиву AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):

AddDefaultCharset UTF-8

Виртуальные хосты

Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Вы можете использовать этот виртуальный хост в качестве примера.

Пример настройки виртуального хоста:

<VirtualHost *:80>
    #Имя хоста
    ServerName host1.server1
    #Корневая папка хоста
    DocumentRoot /var/www/host1.server1
    <Directory /var/www/host1.server1>
        #Разрешение на перезапись всех директив при помощи .htaccess
        AllowOverride All
    </Directory>
</VirtualHost>

Назовите файл настройки именем вашего хоста host1.server1.conf и сохраните.

После создания файла настроек допишите в /etc/hosts имя вашего хоста:

127.0.0.1    host1.server1

Для включения созданного виртуального хоста используется утилита a2ensite:

sudo a2ensite host1.server1

Отключается хост аналогично утилитой a2dissite:

sudo a2dissite host1.server1

Модули

mod_userdir

Модуль mod_userdir позволяет использовать директории, находящиеся в домашних директориях пользователей для хранения веб страниц. По умолчанию Apache ищет запрашиваемые страницы в директории ~/public_html

mkdir ~/public_html

Чтобы включить mod_userdir, выполните:

sudo a2enmod userdir

и добавьте необходимого пользователя в группу www-data:

sudo adduser $USER www-data

после чего перезагрузите Apache:

sudo service apache2 restart

Страницы будут доступны по адресу http://localhost/~username, где username — имя пользователя.

Настройка public_html подробно.

CGI

Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой

sudo a2enmod cgi

По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.

Eсли ваш сервер работает во внешней сети, то в целях безопасности настоятельно рекомендуется размещать cgi-скрипты вне корневой директории виртуального хоста

Настройка HTTPS в Apache

Веб-сервер Apache полностью поддерживает работу по HTTPS. Чтобы активировать поддержку HTTPS на уже установленном Apache, необходимо выполнить следующее.

Создание ключа и ssl-сертификата

Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преимуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанный компанией-сертификатором (Certificate authority), стоит денег.

Для создания ключа и сертификата вводим команду:

openssl req -new -x509 -days 30 -keyout server.key -out server.pem

На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем.

На все последующие вопросы отвечаем произвольно, можно просто щелкать по Enter, соглашаясь с предложенными вариантами, только на вопрос «Common Name (eg, YOUR name) []:» отвечаем именем сайта, для которого создаем сертификат, например www.example.com.

После ответа на все вопросы в директории должны появиться два новых файла — server.pem (ключ) и server.crt (сертификат).

Чтобы использовать сгенерированный ключ, нужно знать пароль, введённый нами, и Apache будет спрашивать его у нас при загрузке, а к чему нам лишние вопросы от демонов? 🙂 Поэтому снимаем пароль с ключа:

cp server.key{,.orig}
openssl rsa -in server.key.orig -out server.key
rm server.key.orig

Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

sudo cp server.pem /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/server.key

Настройка Apache

Для начала необходимо активировать mod_ssl:

sudo a2enmod ssl

А затем включить настройки HTTPS сайта по умолчанию:

sudo a2ensite default-ssl

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или /etc/apache2/sites-enabled/default-ssl.conf).

В этом файле рекомендуется после директивы

SSLEngine on

добавить строчку

SSLProtocol all -SSLv2

чтобы запретить использование устаревшего протокола SSLv2.

Дальше вам необходимо отредактировать параметры, ответственные за сертификаты.

# Публичный сертификат сервера
SSLCertificateFile    /etc/ssl/certs/server.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/ssl/private/server.key

Теперь просто перезагрузите Apache:

sudo service apache2 restart

И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.

Протокол HTTPS работает по 443 порту, поэтому если сервер находится за шлюзом, то необходимо на нём пробросить данный порт.

Перенаправление HTTP запросов на HTTPS

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Сделаем это с помощью mod_alias. Если он не включён — включаем:

sudo a2enmod alias
sudo service apache2 restart

Затем изменяем файл /etc/apache2/sites-enabled/000-default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву

Redirect / https://example.com/

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

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

Ссылки

Возможные проблемы

Если при запуске появляется ошибка

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

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

ServerName localhost

Смотрите также

Ссылки

Установка Web-сервера Apache в среде Windows

Внимание: Данная публикация является устаревшей, поскольку версии серверного программного обеспечения значительно выше, описываемых здесь. Но, если вы используете операционную систему Windows XP, тогда продолжайте чтение, поскольку новые версии продуктов не работают на данной системе. Актуальную информацию смотрите на странице: Установка Web-сервера Apache 2.4 VC15 с интерпретатором PHP 7 в среде Windows
Всем web-разработчикам, как и другим специалистам в определенном деле, необходимо быть вооруженными нужными пакетами программ. Сердцем Web программирования является, конечно, Веб-сервер Apache, который разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включен во множество программных продуктов.

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

Начнем конечно с самого дистрибутива. Скачать его Вы можете с официального сайта Apache. (http://httpd.apache.org/)

Мы рассмотрим процесс установки на примере стабильного дистрибутива Apache 2.2.25. Полное название на момент скачивания: httpd-2.2.25-win32-x86-no_ssl.msi.

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

После загрузки на домашний компьютер файла установщика, можно начать установку Web-сервера.

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

Запускаем файл инсталлятора и в первом открытом окне Приветствие нажимаем «Next«.

В новом окне программа установки попросит ознакомиться с лицензионным соглашением и принять или отклонить ее условия. Если Вы отклоните условия лицензионного соглашения, программа просто завершит свою работу. Поэтому, если Вы хотите все-таки установить веб-сервер на свой компьютер, придется согласиться с условиями лицензии Apache. Выбираем «I accept the terms in the license agreement» и нажимаем «Next«.

В следующем окне будет вкратце рассказано о том, что такое Apache HTTP Server. Опять нажимаем «Next«:

В следующем окне (Информация о сервере) Вам необходимо задать некоторые настройки Вашего веб-сервера.

Рассмотрим поля приведенной формы:

Network Domain (eg somenet.com) — имя вашего сервера DNS, в котором Ваш Веб-сервер будет зарегистрирован. Например, если Ваш полный домен выглядит как www.somehost.com, Вам следует указать здесь somehost.com. В случае, если Вы хотите использовать веб исключительно для личных нужд только на локальном компьютере — укажите здесь домен localhost.

Server Name (eg www.somenet.com). Имя Вашего сервера. Исходя из приведенного примера, здесь следует указать www.somehost.com. Опять же, если Вы предполагаете использовать Apache исключительно на локальной машине — укажите localhost.

Administrator’s Email Address (eg [email protected]). Адрес администратора сервера. Отображается при ошибках работы веб-сервера, никакой другой функции на этот адрес не положено. Так как администратором в данном случае будете Вы сами, то адрес можно пропустить. Ставим «@«.

Следующая настройка «Install Apache HTTP Server 2.2 programs and shortcuts for:» позволяет задать как Apache работать в Вашей системе — исключительно под Вашим системным аккаунтом, или для всех пользователей Вашего компьютера. В данном случае выбираем второй вариант — для всех пользователей. Нажимаем кнопку «Next» и переходим к следующему шагу.

В новом окне выбираем тип установки:

Вам будет предложено выбрать один из 2-х типов установки:

Typical (обычная установка). Обычная установка позволяет пропустить следующий шаг и приступить непосредственно к установке веб-сервера. При этом будут установлены только основные компоненты программы, исключая файлы заголовков и библиотеки для компиляции модулей.

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

В нашем примере мы выбираем «Typical» и жмем «Next«.

Если Вы хотите установить Apache в папку, отличную от указанной по умолчанию — нажмите кнопку «Change…«

Откроется следующее диалоговое окно выбора пути установки:

В поле «Folder name» Вы указываете папку, где будет размещен веб-сервер Apache, в нашем случае это «C:\web_server\apache«.

Вы можете прописать имя папки вручную или использовать проводник диалога, выберите его с помощью курсора мыши. После того, как путь установки программы будет избран, нажмите кнопку «ОК«. Если Вы передумали менять путь — нажмите «Cancel«.

В следующем окне нажимаем «Next«.

Следующее окно предупреждает о том, что все сведения, необходимые для установления веб-сервера, собраны. Если Вы хотите что-либо изменить — это Ваш последний шанс вернуться назад и внести изменения. Для возврата назад воспользуйтесь кнопкой «Back«. Если Вы уверены, что все настроено верно, смело нажимайте «Install» и переходите непосредственно к процессу установки веб-сервера.

Установка будет длиться меньше минуты.

В случае успешного завершения, мастер установки отобразит Вам окно, как показано на рисунке ниже. Все что Вы можете сделать — нажать кнопку «Finish«.

Поздравляем! Вы успешно установили веб-сервер Apache на Ваш компьютер. В панели появится значок веб-сервера.

Для того, чтобы протестировать работу веб-сервера, запустите Ваш браузер и наберите в адресной строке «http://localhost/» . Если Вы видите страницу с сообщением «It works!» — значит Вам действительно успешно удалось установить веб-сервер.

Следует также напомнить, что установка Web-сервера Apache, это только первый шаг. Еще нужно установить модуль PHP (Установка интерпретатора PHP), а также сделать основные настройки (Настройка Apache и PHP).

Проект HTTP-сервера Apache

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

В основном дистрибутиве доступны только текущие рекомендуемые выпуски сайт и его зеркала. Исторические выпуски, включая 1.3, 2.0 и 2.2 семейства выпусков доступны в архив скачать сайт.

Apache httpd для Microsoft Windows доступен по адресу ряд сторонних поставщиков.

Стабильная версия

— Последняя версия:

Если вы загружаете дистрибутив Win32, прочтите эти важные заметки.

Текущее выбранное зеркало https://apache-mirror.rbc.ru/pub/apache/ . Если у вас возникла проблема с этим зеркалом, выберите другое зеркало. Если все зеркала выходят из строя, есть резервных зеркал (на конец списка зеркал), которые должны быть доступны.

Вы также можете ознакомиться с полным списком зеркала.

Проект HTTP-сервера Apache рад объявить выпуск версии 2.4.48 HTTP-сервера Apache («Apache» и «httpd»). Эта версия Apache является нашим последним выпуском GA нового поколения 2.4.x ветвь Apache HTTPD и представляет пятнадцать лет инноваций проект и рекомендуется по сравнению со всеми предыдущими выпусками!

Подробнее см. Официальный Объявление и ИЗМЕНЕНИЯ_2.4 и ИЗМЕНЕНИЯ_2.4.48 списков.

Apache Software Foundation и проект HTTP-сервера Apache рад сообщить о выпуске версии 2.3.9 mod_fcgid, FastCGI реализация для Apache HTTP Server версий 2.2 и 2.4. Этот версия mod_fcgid — это релиз безопасности.

Для получения информации об этом подпроекте модуля см. Модуль mod_fcgid страница проекта.

Проект HTTP-сервера Apache рад объявить о выпуске Apache Модуль FTP для HTTP-сервера Apache, версия 0.9.6 как бета.

Пользователям предлагается протестировать и оставить отзывы об этой бета-версии. Для информацию об этом подпроекте модуля см. в проекте модуля mod_ftp страница.

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

Что такое апач? Углубленный обзор веб-сервера Apache

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

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

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

Архитектура веб-приложений Apache

Apache — это всего лишь один компонент, который необходим в стеке веб-приложений для доставки веб-контента. Один из наиболее распространенных стеков веб-приложений включает LAMP или Linux, Apache, MySQL и PHP.

Linux — это операционная система, которая обрабатывает операции приложения. Apache — это веб-сервер, который обрабатывает запросы и обслуживает веб-ресурсы и контент через HTTP. MySQL — это база данных, в которой хранится вся ваша информация в удобном для запроса формате.PHP — это язык программирования, который работает с apache и помогает создавать динамический веб-контент.

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

Брандмауэры

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

Простой мониторинг и устранение неполадок веб-активности Apache

Получите лучшее представление о системной инфраструктуре и взаимодействии ваших клиентов и клиентов с вашим веб-сайтом и приложениями.

Пейзаж веб-сервера

Интернет состоит из множества различных технологий, и не все из них одинаковы. Хотя Apache, возможно, является одним из самых популярных веб-серверов в сети, есть много других игроков, и ситуация постоянно меняется.Еще в конце 90-х — начале 2000-х годов доминирование Apache было очень сильным, обслуживая более 50% активных веб-сайтов в Интернете. IIS (Internet Information Services) от Microsoft также был вариантом, но не таким популярным.

Сегодня Apache по-прежнему обслуживает большую часть активных веб-сайтов, но их доля в этой области сократилась с 50% до чуть менее 40% по состоянию на 2018 год, а NGINX, относительно новый игрок на игровом поле веб-серверов, находится на втором месте. примерно 35%, а Microsoft IIS колеблется в районе 8-10%.Каждый год появляется новый урожай веб-приложений с новыми стеками и серверами, поэтому ситуация постоянно меняется.

Почему веб-серверы Apache?

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

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

Некоторые из самых популярных модулей, которые могут быть добавлены, — это SSL, поддержка программирования на стороне сервера (PHP) и конфигурации балансировки нагрузки для обработки больших объемов трафика.Apache также можно развернуть в Linux, MacOS и Windows. Если вы узнаете, как настроить Apache в Linux, вы сможете администрировать Apache в Windows и Mac. Единственная разница — это пути к каталогам и процессы установки.

Особенности веб-сервера Apache

  • Обработка статических файлов
  • Загружаемые динамические модули
  • Автоиндексирование
  • .htaccess
  • Совместимость с IPv6
  • Поддерживает HTTP / 2
  • FTP-соединения
  • Сжатие и декомпрессия Gzip
  • Регулирование полосы пропускания
  • Perl, PHP , Сценарии Lua
  • Балансировка нагрузки
  • Отслеживание сеанса
  • Перезапись URL
  • Геолокация на основе IP-адреса

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

Apache функционирует как способ связи по сети от клиента к серверу с использованием протокола TCP / IP.Apache можно использовать для самых разных протоколов, но наиболее распространенным является HTTP / S. HTTP / S или протокол передачи гипертекста (S означает «безопасный») — один из основных протоколов в Интернете, а также самый известный протокол Apache.

HTTP / S используется для определения того, как сообщения форматируются и передаются через Интернет, с инструкциями для браузеров и серверов о том, как отвечать на различные запросы и команды. Безопасный протокол передачи гипертекста обычно осуществляется через порт 443, а незащищенный протокол — через порт 80.

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

С помощью директивы Listen Apache может принимать и направлять определенный трафик на определенные порты и домены на основе определенных запросов комбинации адреса и порта. По умолчанию Listen работает на порту 80, но Apache может быть привязан к разным портам для разных доменов, что позволяет размещать множество разных веб-сайтов и доменов на одном сервере.Вы можете настроить domain1.com на порт 80, domain2.com на порт 8080 и domain3.com на порт 443, используя HTTPS на Apache.

Как только сообщение достигает места назначения или получателя, оно отправляет уведомление или сообщение ACK, в основном подтверждая первоначальному отправителю, что его данные успешно доставлены. Если произошла ошибка при получении данных или некоторые пакеты были потеряны при передаче, хост или клиент назначения отправляет сообщение Not Acknowledged или NAK, чтобы сообщить отправителю, что данные необходимо повторно передать.

Кто использует веб-сервер Apache?

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

Альтернативы для HTTP-сервера Apache

Хотя веб-серверы Apache очень популярны, они не единственные веб-серверы на рынке. Ниже приведен ряд альтернатив для HTTP-серверов Apache.

  • Nginx
  • Apache Tomcat
  • Node.js
  • Lighttpd
  • Cherokee
  • Microsoft IIS
  • Appweb
  • Hiawatha

HTTP-сервер Apache против Tomcat

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

Заключение: веб-сервер Apache

За последние несколько десятилетий Apache оказался основным продуктом во многих популярных стеках и основой первого года Интернета. Несмотря на то, что его популярность снижается, а возможности выбора веб-серверов увеличиваются, Apache по-прежнему играет ключевую роль во многих технологических стеках и системной инфраструктуре компаний. Даже с учетом того, что новые технологии и серверы постоянно появляются, Apache по-прежнему остается технологией, с которой каждый разработчик должен научиться обращаться и настраивать.

Простой мониторинг и устранение неполадок веб-активности Apache

Sumo Logic помогает определить основные проблемы, сократить время простоя, повысить доступность и улучшить общую производительность системы и удобство работы пользователей.

Что такое веб-сервер Apache? Что это такое и как работает

Apache — это популярный кроссплатформенный веб-сервер с открытым исходным кодом, который, по количеству, является самым популярным из существующих веб-серверов.Его активно поддерживает Apache Software Foundation.

Некоторые известные компании, использующие Apache, включают Cisco, IBM, Salesforce, General Electric, Adobe, VMware, Xerox, LinkedIn, Facebook, Hewlett-Packard, AT&T, Siemens, eBay и многие другие (источник).

Помимо популярности, это еще и один из старейших веб-серверов, первый выпуск которого состоялся еще в 1995 году. Многие хосты cPanel сегодня используют Apache. Как и другие веб-серверы, Apache обеспечивает скрытые аспекты обслуживания файлов вашего веб-сайта для посетителей.

Поскольку Apache не работает так же хорошо в некоторых тестах, особенно для статических веб-сайтов или веб-сайтов с высоким трафиком, Kinsta использует веб-сервер NGINX вместо Apache. Хотя NGINX не существует так долго, как Apache, его популярность и доля на рынке быстро выросли с момента его запуска в 2004 году.

Как работает Apache? Основные сведения о веб-сервере

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

Веб-сервер Apache имеет модули, которые добавляют дополнительные функции к его программному обеспечению, такие как MPM (для обработки многопроцессорных режимов) или mod_ssl для включения поддержки SSL v3 и TLS (рекомендуемая литература: TLS vs SSL). Вот некоторые общие особенности Apache:

  • .htaccess
  • IPv6
  • FTP
  • HTTP / 2
  • Perl, Lua и PHP
  • Регулирование полосы пропускания
  • WebDAV
  • Балансировка нагрузки
  • Перезапись URL
  • Отслеживание сеанса
  • Геолокация на основе IP-адреса

Хотя веб-сервер является неотъемлемой частью любого веб-сайта, важно отметить, что обычные пользователи WordPress вряд ли большую часть времени будут напрямую взаимодействовать со своим веб-сервером.

Статистика использования Apache и Nginx

Если вы посмотрите на каждый веб-сайт в Интернете, Apache — самый популярный веб-сервер. По данным W3Techs, он поддерживает 47% веб-сайтов с известным веб-сервером.

Однако использование Apache значительно снижается, когда вы начинаете смотреть на сайты с наибольшей посещаемостью. Только Apache мощности:

  • 27,1% из 100 000 самых популярных сайтов
  • 21,5% из 10 000 самых популярных сайтов
  • 16,2% из 1000 самых популярных сайтов

Это снижение, вероятно, связано, по крайней мере частично, с более низкими показателями Apache для веб-сайтов с высокой посещаемостью.

И наоборот, NGINX, веб-сервер, который использует Kinsta, используется большинством сайтов с высоким трафиком, включая:

  • 56,1% из 100 000 самых популярных сайтов
  • 63,2% из 10 000 самых популярных сайтов
  • 57% из 1000 самых популярных сайтов

Если вы посмотрите тенденции поиска в Google с 2004 года, то увидите, что эта тенденция проявляется там, где популярность Apache ( как поисковый запрос ) снижается, а популярность NGINX растет.

Apache и NGINX Результаты Google Trends с 2004 г.

Как проверить, какой веб-сервер вы используете

Если вы хотите узнать, используете ли вы Apache или NGINX, вы можете часто (но не всегда) просматривать HTTP-заголовок вашего сайта.

Чтобы просмотреть HTTP-заголовок своего сайта, вы можете:

  • Используйте вкладку Network в Chrome Developer Tools
  • Используйте такой инструмент, как Pingdom или GTmetrix

HTTP-заголовок Apache

Однако этот метод может не работать, если вы используете такой сервис, как Cloudflare.

Apache и логотип Apache с пером являются товарными знаками Apache Software Foundation.


Если вам понравилось это руководство, то вам понравится наша поддержка.Все планы хостинга Kinsta включают круглосуточную поддержку наших опытных разработчиков и инженеров WordPress. Общайтесь с той же командой, которая поддерживает наших клиентов из списка Fortune 500. Ознакомьтесь с нашими тарифами

Что такое апач? Углубленный обзор веб-сервера Apache

HTTP-сервер Apache — это бесплатное программное обеспечение с открытым исходным кодом, которое позволяет пользователям размещать свои веб-сайты в Интернете. Это одно из старейших и наиболее надежных программных веб-серверов, поддерживаемых Apache Software Foundation, первая версия которого была выпущена в 1995 году.

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

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

Прочтите больше, чтобы узнать, что такое Apache, его сравнение с другими веб-серверами, такими как NGINX и Tomcat, а также его плюсы и минусы.

Что такое веб-сервер?

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

Задача веб-сервера — обслуживать веб-сайты в Интернете. Для достижения этой цели он действует как посредник между сервером и клиентскими машинами. Он извлекает контент с сервера по каждому запросу пользователя и доставляет его в Интернет.

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

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

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

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

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

Сервер и клиент обмениваются данными по протоколу HTTP, а веб-сервер Apache отвечает за бесперебойную и безопасную связь между двумя машинами.

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

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

Для настройки Apache вам потребуется доступ .htaccess. Этот файл конфигурации Apache поддерживается всеми планами Hostinger.

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

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

Apache против NGINX

Nginx, произносится как Engine-X, является бесплатным программным обеспечением с открытым исходным кодом. По сравнению с Apache, это более новое приложение веб-сервера, выпущенное в 2004 году.

Nginx был создан для решения так называемой проблемы c10k, что означает, что веб-сервер, использующий потоки для обработки пользовательских запросов, не может одновременно управлять более чем 10 000 подключений.

  1. Поскольку Apache использует структуру на основе потоков, владельцы веб-сайтов с высокой посещаемостью могут столкнуться с проблемами производительности.Nginx — один из веб-серверов, решающих проблему c10k, и, вероятно, самый успешный из них.
  2. Nginx имеет архитектуру, управляемую событиями, которая не создает новый процесс для каждого запроса. Вместо этого он обрабатывает каждый входящий запрос в одном потоке. Этот главный процесс управляет несколькими рабочими процессами, которые выполняют фактическую обработку запросов. Модель Nginx, основанная на событиях, эффективно распределяет пользовательские запросы между рабочими процессами, что обеспечивает лучшую масштабируемость.
  3. Если вам нужно управлять веб-сайтом с высоким трафиком, Nginx — отличный выбор, поскольку он может делать это с минимальными затратами ресурсов. Не может быть совпадением, что его используют многие популярные веб-сайты, такие как Netflix, Hulu, Pinterest и Airbnb.
  4. Однако для малых и средних игроков Apache имеет ряд преимуществ перед Nginx, таких как простая конфигурация, множество модулей и удобная для новичков среда.

Apache против Tomcat

Tomcat — популярный веб-сервер, также разработанный Apache Software Foundation, поэтому его официальное название — Apache Tomcat.Как и Apache, Tomcat — это HTTP-сервер. Тем не менее, его основная функция — поддержка приложений Java вместо статических веб-сайтов. Tomcat может запускать несколько различных спецификаций Java, таких как Java Servlet, JavaServer Pages (JSP), Java EL и WebSocket.

  1. Tomcat был создан специально для обслуживания динамического веб-контента, который запускается в приложениях Java, в то время как Apache является HTTP-сервером общего назначения. Вы можете использовать Apache вместе с разными языками программирования (PHP, Python, Perl и т. Д.).) с помощью соответствующих модулей Apache (mod_php, mod_python, mod_perl и т. д.).
  2. Хотя вы можете использовать сервер Tomcat и для обслуживания статических веб-страниц, он менее эффективен для этой цели по сравнению с сервером Apache. Например, Tomcat предварительно загружает виртуальную машину Java и другие библиотеки, связанные с Java, которые вам не понадобятся на большинстве веб-сайтов.
  3. Tomcat также менее настраиваем по сравнению с другими веб-серверами. Например, для запуска WordPress лучшим выбором будет HTTP-сервер общего назначения, такой как Apache или NGINX.

Плюсы и минусы Apache

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

Плюсы :

  1. С открытым исходным кодом и бесплатно, даже для коммерческого использования.
  2. Надежное, стабильное программное обеспечение.
  3. Часто обновляемые исправления безопасности.
  4. Гибкость благодаря модульной структуре.
  5. Простота настройки, удобство для новичков.
  6. Кросс-платформенный (работает как на серверах Unix, так и на Windows).
  7. Оптимальная доставляемость статических файлов и совместимость с любым языком программирования (PHP, Python и т. Д.)
  8. «Из коробки» работает с сайтами WordPress.
  9. Огромное сообщество и доступная поддержка в случае возникновения каких-либо проблем.

Минусы :

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

Дополнительная литература

Хотите узнать больше о хостинге и разработке веб-сайтов? Ознакомьтесь с этими руководствами:

Итак, что такое Apache?

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

Принцип работы HTTP-сервера Apache заключается в том, что он принимает запросы от веб-браузера, такого как Google Chrome и Microsoft Edge, и превращает программные сценарии в веб-страницы, содержимое которых видно посетителям.

Вы можете установить веб-сайт WordPress на веб-сервер Apache без каких-либо настроек. Кроме того, сервер Apache без проблем работает со многими другими системами управления контентом (Joomla, Drupal и т. Д.), Веб-фреймворками (Django, Laravel и т. Д.) И языками программирования.Это делает его отличным выбором для всех типов платформ веб-хостинга, таких как VPS или виртуальный хостинг.

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

Автор

Ричард Бойетт

Ричард — разработчик программного обеспечения WordPress и эксперт по системам управления контентом. Когда Ричард не играет с кодом, он любит хорошее кино и крафтовое пиво.

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

Если вы никогда не развертывали веб-сайт с веб-сервером Apache, вы скоро узнаете, как это сделать.

Время от времени я считаю полезным сделать шаг назад и пройтись по основам. Это не только помогает мне стать техническим писателем, но и помогает многим людям, которые только изучают основы той технологии, о которой я говорю.

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

Как установить и настроить сервер? Где вы размещаете файлы?

Давайте пройдемся по этому, шаг за шагом. Я буду демонстрировать на Ubuntu Server 20.04.

Но сначала немного дополнительной информации.

SEE: Шпаргалка по телефонному собеседованию: Разработчик программного обеспечения (TechRepublic Premium)

Разница между Apache на Ubuntu и дистрибутивами на основе Red Hat

Причина, по которой я должен указать, какой дистрибутив Linux я Использование связано с тем, что варианты Apache на основе Ubuntu и Red Hat по-разному — от установки до конфигурации.

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

 sudo systemctl enable apache2 

Вы можете проверить свою установку, открыв веб-браузер и указав его на http: // SERVER_IP (где SERVER_IP — это IP-адрес сервера, на котором размещен Apache). Вас должна приветствовать страница приветствия Apache (, рис. A ).

Рисунок A

Официальная страница приветствия Apache, работающая на сервере Ubuntu.

Какую страницу обслуживает Apache? Если вы заглянете в / var / www / html, вы найдете файл index.html — давайте изменим его.

Вернувшись в окно терминала, переименуйте этот файл index.html с помощью команды:

 sudo mv /var/www/html/index.html /var/www/html/index.html.bak 

Теперь давайте создадим новый файл приветствия. Введите команду:

 sudo nano /var/www/html/index.html 

В этот файл вставьте следующее:

 


 

Здравствуйте, TechRepublic!

Как дела?

Сохраните и закройте файл.Перезагрузите веб-страницу в своем браузере, и вы должны увидеть изменения ( Рисунок B ).

Рисунок B

Наша новая страница index.html обслуживается Apache.

Как создать сайт для Apache

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

Итак, давайте создадим виртуальный хост с именем test .

Первое, что мы собираемся сделать, это создать каталог для размещения теста с помощью команды:

 sudo mkdir -p / var / www / html / test 

Затем мы дадим новому каталогу право собственности с помощью команды:

 sudo chown -R $ USER: $ USER / var / www / html / test 

Наконец, мы предоставим соответствующие разрешения с помощью команды:

 sudo chmod -R 755 / var / www / html / test 

Скопируйте наш новый index.html в каталог test с помощью команды:

 sudo cp /var/www/html/index.html / var / www / html / test / 

Теперь нам нужно создать конфигурацию виртуального хоста, чтобы Apache знал, где находится тест. Он будет размещен в / etc / apache / sites-available. Для этого мы создадим файл test.conf с помощью команды:

 sudo nano /etc/apache2/sites-available/test.conf 

В этот файл вставьте следующее:

 
    ServerAdmin admin @ example.ком
    ServerName example.com
    ServerAlias ​​www.example.com
    DocumentRoot / var / www / html / test
    ErrorLog $ {APACHE_LOG_DIR} /error.log
    CustomLog $ {APACHE_LOG_DIR} /access.log объединены
 

Самая важная строка выше начинается с DocumentRoot , так как это указывает Apache, где будут найдены файлы для виртуального хоста. Сохраните и закройте этот файл.

На этом этапе мы создали каталог для размещения файлов, предоставив ему надлежащие права собственности и разрешения, и создали конфигурацию для виртуального хоста.Однако Apache до сих пор не знает о новом сайте. Почему? Поскольку файл конфигурации находится на сайтах, доступно . Что нам нужно сделать, так это создать ссылку из этой конфигурации в каталог / etc / apache2 / sites-enabled . На сервере Apache активны только конфигурации, обнаруженные в с поддержкой сайтов.

На серверах, отличных от Ubuntu, для этого необходимо использовать команду ln (для ссылка ). Однако в Ubuntu есть удобная утилита, которая создаст этот сайт за вас.Указанная утилита — a2ensite . Если мы запустим команду:

 sudo a2ensite test.conf 

После этого будет включен наш тестовый виртуальный хост.

После успешного выполнения этой команды вы должны перезагрузить Apache (который только перезагрузит файлы конфигурации, но не перезапустит веб-сервер) с помощью команды:

 sudo systemctl reload apache2 

Теперь, если вы укажете в своем браузере http: // SERVER_IP / test (где SERVER_IP — это IP-адрес сервера), вы должны увидеть такое же приветствие Hello, TechRepublic, как и с базовым индексом.html, только он обслуживается нашим вновь созданным виртуальным хостом.

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

Подпишитесь на TechRepublic’s How To Make Tech Work on YouTube для получения всех последних технических советов для бизнес-профессионалов от Джека Уоллена.

Еженедельный бюллетень с открытым исходным кодом

Вы не захотите пропустить наши советы, руководства и комментарии по ОС Linux и приложениям с открытым исходным кодом.Доставка по вторникам

Зарегистрироваться Сегодня

См. Также

Изображение: Джек Уоллен

Как настроить веб-сервер Apache

Я уже много лет размещаю свои собственные веб-сайты.После перехода с OS / 2 на Linux более 20 лет назад я использовал Apache в качестве серверного программного обеспечения. Apache надежен, хорошо известен и довольно прост в настройке для базовой установки. На самом деле не так уж сложно настроить более сложную настройку, например, несколько веб-сайтов.

Установка и настройка веб-сервера Apache должны выполняться от имени пользователя root. Настроить брандмауэр также нужно с правами root. Использование браузера для просмотра результатов этой работы должно выполняться как пользователь без полномочий root.(Я использую пользователя student на моем виртуальном хосте.)

Установка

Примечание. Эта статья была обновлена ​​с использованием Fedora 33 с Apache 2.4.46. Если вы используете другой дистрибутив или другую версию Fedora, ваши команды, а также расположение и содержимое файлов конфигурации могут отличаться. Однако строки конфигурации, которые необходимо изменить, одинаковы независимо от распределения.

Веб-сервер Apache прост в установке. С помощью одной команды вы можете установить его и все необходимые зависимости:

  $ dnf установить httpd  

Все файлы конфигурации для Apache находятся в / etc / httpd / conf и / etc / httpd / conf.d . Данные для веб-сайтов, которые вы будете запускать с Apache, по умолчанию расположены в / var / www , но вы можете изменить это, если хотите.

Конфигурация

Основной файл конфигурации Apache — /etc/httpd/conf/httpd.conf . Он содержит множество конфигурационных инструкций, которые не нужно изменять для базовой установки. Фактически, необходимо внести в этот файл лишь несколько изменений, чтобы базовый веб-сайт заработал. Файл очень большой, поэтому вместо того, чтобы загромождать эту статью множеством ненужных вещей, я покажу только те директивы, которые вам нужно изменить.

Сначала найдите время и просмотрите файл httpd.conf , чтобы ознакомиться с ним. Одна из вещей, которые мне нравятся в версиях большинства файлов конфигурации для Red Hat, — это количество комментариев, описывающих различные разделы и директивы конфигурации в файлах. Файл httpd.conf не является исключением, поскольку он довольно хорошо прокомментирован. Используйте эти комментарии, чтобы понять, что настраивает файл.

Первым изменяемым элементом является оператор Listen , который определяет IP-адрес и порт, на котором Apache должен прослушивать запросы страниц.Прямо сейчас вам просто нужно сделать этот веб-сайт доступным для локального компьютера, поэтому используйте адрес localhost . Когда вы закончите, линия должна выглядеть так:

  Слушайте 127.0.0.1:80  

Если в этой директиве задан IP-адрес localhost , Apache будет прослушивать только соединения с локального хоста. Если вы хотите, чтобы веб-сервер прослушивал соединения с удаленных хостов, вы должны использовать внешний IP-адрес хоста.

Директива DocumentRoot указывает расположение файлов HTML, составляющих страницы веб-сайта.Эту линию не нужно менять, потому что она уже указывает на стандартное местоположение. Строка должна выглядеть так:

  DocumentRoot "/ var / www / html"  

RPM установки Apache создает дерево каталогов / var / www . Если вы хотите изменить место, где хранятся файлы веб-сайта, этот элемент конфигурации используется для этого. Например, вы можете захотеть использовать другое имя для подкаталога www , чтобы сделать идентификацию веб-сайта более явной.Это может выглядеть так:

  DocumentRoot "/ var / mywebsite / html"  

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

Однако необходимо еще одно изменение: открыть порт 80 в нашем брандмауэре. Я использую iptables в качестве брандмауэра, поэтому я изменяю / etc / sysconfig / iptables , чтобы добавить оператор, разрешающий протокол HTTP.Весь файл выглядит так:

 

# пример конфигурации для службы iptables
# вы можете изменить это вручную или использовать system-config-firewall
# пожалуйста, не просите нас добавлять дополнительные порты / службы к этой конфигурации по умолчанию
* filter
: INPUT ACCEPT [0: 0 ]
: FORWARD ACCEPT [0: 0]
: OUTPUT ACCEPT [0: 0]
-A INPUT -m state --state RELATED, ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT - i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host -hibited
-A FORWARD -j REJECT --reject-with icmp-host -hibited
COMMIT

Добавленная мной строка является третьей снизу, которая разрешает входящий трафик на порт 80.Теперь я перезагружаю измененную конфигурацию iptables.

  [root @ testvm1 ~] # cd / etc / sysconfig /; iptables-восстановление iptables  

Создайте файл index.html

Файл index.html — это файл по умолчанию, который веб-сервер будет обслуживать, когда вы заходите на веб-сайт, используя только имя домена, а не конкретное имя файла HTML. В каталоге / var / www / html создайте файл с именем index.html . Добавьте содержимое Hello World .Вам не нужно добавлять разметку HTML, чтобы это работало. Единственная задача веб-сервера — обслуживать поток текстовых данных, и сервер не знает, какая это дата и как ее отобразить. Он просто передает поток данных запрашивающему хосту.

После сохранения файла установите право собственности на apache.apache .

  [root @ testvm1 html] # chown apache.apache index.html  

Запустите Apache

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

 [root @ testvm1 ~] # systemctl start httpd 
[root @ testvm1 ~] # статус systemctl httpd
● httpd.service - HTTP-сервер Apache
Загружено: загружено (/usr/lib/systemd/system/httpd.service; отключено; предустановка поставщика: отключено)
Активен: активен (работает) с Thu 2018-02-08 13:18:54 EST; 5с назад
Документы: мужчина: httpd.service (8)
Основной PID: 27107 (httpd)
Статус: «Обработка запросов... "
Задач: 213 (лимит: 4915)
CGroup: /system.slice/httpd.service
├─27107 / usr / sbin / httpd -DFOREGROUND
├─27108 / usr / sbin / httpd -DFOREGROUND
├─27109 / usr / sbin / httpd -DFOREGROUND
├─27110 / usr / sbin / httpd -DFOREGROUND
└─27111 / usr / sbin / httpd -DFOREGROUND

, 8 февраля, 13:18:54 testvm1 systemd [1]: Запуск HTTP-сервера Apache ...
, 8 февраля, 13:18:54 testvm1 systemd [1]: Запуск Apache HTTP-сервер.

На вашем сервере команды могут отличаться. В системах Linux, которые используют сценарии запуска SystemV, команды будут такими:

 

[root @ testvm1 ~] # service httpd start
Запуск httpd: [Fri Feb 09, 08:18:07 2018] [OK]
[root @ testvm1 ~] # service httpd status
httpd (pid 14649) запущен. ..

Если у вас есть веб-браузер, такой как Firefox или Chrome, на вашем хосте, вы можете использовать URL-адрес localhost в строке URL-адреса браузера, чтобы отобразить свою веб-страницу, как она есть.Вы также можете использовать веб-браузер в текстовом режиме, например Lynx, для просмотра веб-страницы. Сначала установите Lynx (если он еще не установлен).

  [root @ testvm1 ~] # dnf -y установить lynx  

Затем используйте следующую команду для отображения веб-страницы.

  [root @ testvm1 ~] # lynx localhost  

Результат выглядит так в моем терминальном сеансе. Я удалил много пустого места на странице.

 Hello World 

Команды: используйте клавиши со стрелками для перемещения, '?' для помощи, «q», чтобы выйти, «<-», чтобы вернуться.
Клавиши со стрелками: вверх и вниз для перемещения. Право перехода по ссылке; Осталось вернуться.
H) elp O) ptions P) rint G) o M) на экране Q) uit / = поиск [удалить] = список истории

Затем отредактируйте файл index.html и добавьте немного разметки HTML, чтобы он выглядел так:

   

Привет, мир

Теперь обновите браузер. Для Lynx используйте комбинацию клавиш Ctrl + R. Результаты выглядят немного иначе. Текст в цвете, так Lynx отображает заголовки, если ваш терминал поддерживает цвет, и теперь он центрирован.В браузере с графическим интерфейсом текст будет большим шрифтом.

 Hello World 

Команды: используйте клавиши со стрелками для перемещения, '?' для помощи, «q», чтобы выйти, «<-», чтобы вернуться.
Клавиши со стрелками: вверх и вниз для перемещения. Право перехода по ссылке; Осталось вернуться.
H) elp O) ptions P) rint G) o M) на экране Q) uit / = поиск [удалить] = список истории

Прощальные мысли

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

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

Эта статья была первоначально опубликована в 2018 году и была обновлена ​​редактором.

Что такое веб-сервер Apache? (Плюсы и минусы Apache)

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

Большинство веб-серверов по всему миру используют программное обеспечение Apache или Apache HTTP Server.Это довольно быстро, безопасно и может быть легко настроено для различных сред с помощью расширений и модулей. Apache без проблем работает как на веб-серверах Windows, так и на Linux.

Это программное обеспечение с открытым исходным кодом, разработанное и поддерживаемое Apache Software Foundation. HTTP-сервер Apache — это не физический сервер, а скорее программное обеспечение, работающее на сервере.

В этой статье мы обсудим следующее: —

Кто использует веб-сервер Apache?

Программное обеспечение Apache в настоящее время используется 43.2% веб-сайтов по всему миру.

Популярные компании, использующие HTTP-сервер Apache:

  • IBM
  • eBay
  • Adobe
  • PayPal
  • Linkedin
  • GTMetrix
  • Facebook

Узнать больше о Лучшие серверы PHP

Что такое веб-сервер?

Основная функция веб-сервера — хранить, обрабатывать и обслуживать веб-страницы для клиентов.Он использует протокол HTTP, чтобы предоставить пользователю веб-страницу, которую он хочет увидеть.

Apache помогает установить соединение между сервером и браузерами посетителей веб-сайтов (Firefox, Google Chrome, Safari и т. Д.), Одновременно доставляя файлы между ними (структура клиент-сервер).

Браузер запрашивает конкретный файл или ресурс и запускает процесс. В ответ веб-сервер читает запрос, захватывает ресурсы и обслуживает их как веб-страницы, чтобы пользователь мог их интерпретировать.

Вся связь происходит через HTTP или HTTPS . Веб-сервер также позволяет веб-браузерам получать файлы от конечных пользователей и передавать их в хранилище.

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

Почему выбирают Apache?

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

Открытый исходный код сделал apache очень популярным среди разработчиков, которые создали и настроили свои модули для применения определенных функций и улучшения своих основных функций.

С 1995 года Apache помогает развитию Интернета.

Веб-серверы

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

В основном это серверная часть.

Apache Software Foundation — американская некоммерческая корпорация, которая поддерживает проекты Apache Software.Этот фонд представляет собой децентрализованное сообщество разработчиков с открытым исходным кодом, работающих вместе над разработкой Apache.

Особенности веб-сервера Apache

Если вы углубитесь в основы, вы обнаружите, что основная задача веб-серверов — принимать запросы от клиента и затем отправлять ответ приложению.

У сервера

Apache есть и другие функции:

  • Загружаемые динамические модули
  • Обработка статических файлов, индексных файлов, автоиндексирование и согласование содержимого
  • .Поддержка конфигурации htaccess для каждого каталога
  • Apache совместим с IPv6
  • Сервер Apache поддерживает HTTP / 2
  • сжатие и декомпрессию gzip
  • FTP-соединения возможны с правильным модулем
  • Perl, PHP и сценарии Lua уже созданы

Плюсы и минусы Apache

Плюсы Apache Server:
  • Apache с открытым исходным кодом, и любой может получить его бесплатно
  • Настраиваемый код может быть адаптирован к потребностям
  • Возможность добавления дополнительных функций и модулей для улучшения функций
  • Высокая надежность и отличная производительность
  • Apache прост в использовании установить
  • Немедленная запись изменений
  • Может работать в любой операционной системе
  • Активно обслуживается и обновляется сообществом
  • Очень гибкий веб-сервер
  • Впечатляющая документация, довольно обширная и полезная

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

Альтернатива HTTP-серверу Apache
  • Nginx
  • Apache Tomcat
  • Node.js
  • Lighttpd
  • Cherokee
  • Microsoft IIS
  • Appweb
  • Hiawatha

Конечно, Apache известен и надежен, но это не единственный веб-сервер на рынке .

На данный момент Nginx является следующим по популярности веб-сервером после Apache HTTP. Nginx решил слабость Apache.

Apache не смог поддерживать одновременный трафик большого объема, в то время как Nginx может управлять сотней тысяч пользователей одновременно.

Большинство сайтов устанавливают оба сервера и используют Nginx в качестве сервера резервного копирования.

В ServerGuy мы предоставляем оба веб-сервера вместе с нашим хостингом.

Узнайте больше о различиях между Apache и Nginx.

Как узнать, какой веб-сервер вы используете

Вы можете проверить, какой веб-сервер использует сайт, с помощью Google Chrome. Проверьте версию Apache здесь.

  • Откройте сайт в Google Chrome.
  • Щелкните страницу правой кнопкой мыши и выберите «Проверить элементы».
  • Перейдите на вкладку «Сеть»
  • Перезагрузите веб-страницу
  • Щелкните адрес сайта
  • Проверьте тег заголовка

Альтернативный метод:

Многие онлайн-инструменты могут определить, какой веб-сервер использует сайт.Вы можете использовать Wapplyzer.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *