Apache

Сервер Apache на Windows XP, 7, 8, 10, Windows Server 2003, 2008, 2012


Ip-address not found!

Apache 2.4 HTTP Server — установленный на ваш компьютер - позволяет превратить набор страниц в полностью отлаженный сайт с применением современных серверных технологий. Последний релиз стабильной ветви Apache HTTP Server 2.4.x, представляет собой наилучшую доступную версию.
HTTP-сервер номер один в Интернете
HTTP-сервер Apache ( "HTTPD") был запущен в 1995 году. С апреля 1996 года — это самый популярный веб-сервер в Интернете. Проект — Apache HTTP Server в феврале 2015 года отметил свое 20-летие. Apache разрабатывается и поддерживается открытым сообществом разработчиков — The Apache Software Foundation.
Apache — веб-сервер с открытым исходным кодом, отличающийся широкими возможностями конфигурации и должным уровнем поддержки.
#

Сервер Apache на OS Windows

25 февраля, 2016

Apache на Windows

Материал для программистов, разрабатывающих веб-приложения, желающих установить и использовать на персональном компьютере сервер Apache, для предварительного просмотра, проверки и отладки кода, в процессе разработки.
Данный раздел написан после многочисленных наблюдений за попытками, желающих (не очень хорошо знакомых с директивами и конфигурированием), установить на свой компьютер различные версии Web-сервера Apache. Большинство этих попыток заканчивалось на установке сервера Apache - получения страницы с сообщением - Вы видите это вместо ожидаемой страницы... или для версии 2.2. - It works!. Незначительная часть - на конфигурировании главного сервера, довольно редко - на установке виртуальных хостов. Просмотр материалов в сети Интернет, посвященных установке сервера Apache, позволяет сделать вывод - руководствуясь ими, не имеющий опыта пользователь не сможет добиться желаемого результата.
Поэтому, для установки и настройки на домашнем компьютере сервера Apache 2.4, предлагается на первом этапе:

  • установить Web-сервер Apache
  • Внести изменения в три файла конфигурации

Записать на диск две простейшие индексные страницы:

  • для главного сайта сервера Apache
  • для разрабатываемого вами сайта  — 

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

HTTP-сервер Apache — что это ?

HTTP-сервер Apache - наиболее популярный web-сервер служащий для обработки и обслуживания запросов пользователей одной из составляющих WWW - сети Интернет. Apache HTTP Server - свободное, бесплатно распространяемое программное обеспечение с открытыми исходными кодами для современных операционных систем, включая UNIX и Windows, Novell NetWare и других. Его главные отличия от аналогичных программных продуктов: предельно компактный, написанный на языке C код, проверенная годами, надежная и стабильная работа на сотнях тысяч web-узлов, высокая производительность и скорость обработки запросов, расширяемость и переносимость, относительная простота и гибкость настройки для имеющих опыт администраторов.
Постоянная работа создателей и продолжателей проекта по улучшению и наращиванию новых возможностей, а также выпуск обновлений, делает сервер Apache одним из самых востребованных веб-серверов сети.
Тестирование новых версий тысячами профессионально подготовленных добровольных помощников, позволяет легко выявлять уязвимости и развиваться проекту со скоростью недоступной для большинства создателей web-серверов.
Цель проекта Apache HTTP Server Project - состоит в создании и развитии эффективного, безопасного, расширяемого сервера, который обеспечивает услуги HTTP в соответствии с текущими стандартами.
Apache известен как сервер, сыгравший ключевую роль на начальном этапе развития World Wide Web и продолжающий оставаться самым популярным в использовании сервером сети, служащим фактически базовой платформой, ориентируясь на которую разрабатываются и оцениваются другие серверы.
Первая версия веб-сервера Apache основанного на идеях и коде, самого популярного HTTP сервера того времени: NCSA - httpd 1.3 - была разработана в 1995 Робом Маккулом. В первую "Апачевскую Группу" разработчиков также входили: Брайен Бехлендорф, Рой Т. Fielding, Роб Хартилл, Дэвид Робинсон, Клифф Сколник, Рандай Тербуш, Роберт С. То, Эндрю Вайлсон, Эрик Хагберг, Франк Петерс и Николас Пиок.
C того времени в своем развитии Apache далеко превзошел базовую систему и может конкурировать, и вероятно превзойти, почти любой другой UNIX сервер HTTP по функциональным возможностям, эффективности и скорости. Так как, исходный код свободно доступен (open source software), любой желающий может сконфигурировать сервер под определенные потребности, используя модули сторонних производителей и большую общедоступную библиотеку дополнений.
На странице популярных вопросов официального сайта проекта указано, что имя - 'Apache' выбрано из уважения к коренному американскому индийскому племени Apache известному своей выносливостью и военными навыками. Самое, широко распространенное заблуждение - название 'Apache' произошло от "patch" (на компьютерном сленге - заплата). Имеется в виду, что в 1995 году веб-сервер Apache состоял из набора исправлений к базовому коду NCSA HTTPd 1.3 и поэтому "a patchy" сервер из ...
Apache HTTP Server - основной сервер сети Интернет с открытым исходным кодом, на котором размещено большинство веб-сайтов мира. Сервер Апачи HTTP - часть из множества влиятельных проектов, разработанных Группой Апачи. Благодаря их усилиям, в значительной мере сформировалась WWW - всемирная паутина и они продолжают быть доминирующей силой в индустрии Web-хостинга.
Web-сервер Apache доступен для бесплатной загрузки с сайта разработчиков - httpd.apache.org.
Для получения дополнительной информации, пожалуйста, ознакомьтесь с официальной документацией -

httpd.apache.org

Установка Apache - все версии: apache 2.2, apache 2.4.
При написании этого раздела не ставилась задача - ответить на все вопросы, связанные с назначением модулей, директив и их параметров сервера Apache 2.4. Да и большинство желающих изучить языки программирования, используемые при создании веб-приложений, не ставит перед собой цель - стать администратором сервера. Многим, домашний сервер нужен для проверки выполнения скриптов на Perl и PHP, директив SSI и их отладки. Без использования этих серверных технологий, написание страниц сайта только на языке HTTM - трудно назвать веб-программироанием.
Проводить тестирование сайта на сервере хостинг-провайдера неудобно и дорого, а тем, кто его не имеет - просто невозможно.
Главная задача этой публикации - помочь сократить, до двадцати минут, время установки и получения работающего сервера Apache.

Использования веб-серверов для хостинга сайтов
Разработчик 2015
1 апр
2015
1 сен
2016
1 янв
2016
1 фев
2016
1 мар
2016
1 апр
2016
1 мая
Apache 58.2% 56.6% 55.5% 55.2% 55.0% 53.9% 52.8%
Nginx 23.5% 25.2% 26.7% 27.1% 27.4% 28.7% 29.9%
Microsoft IIS 13.2% 13.0% 12.4% 12.3% 12.1% 12.0% 12.0%
LiteSpeed 2.2% 2.3% 2.3% 2.3% 2.3% 2.3% 2.3%
Google Servers 1.3% 1.3% 1.4% 1.4% 1.4% 1.4% 1.4%
Tomcat 0.4% 0.5% 0.5% 0.5% 0.5% 0.5% 0.5%
IdeaWebServer 0.3% 0.3% 0.3% 0.3% 0.3%
Apache Traffic Server 0.2% 0.2% 0.2% 0.2% 0.2% 0.2% 0.2%
Node.js 0.1% 0.1% 0.2% 0.2% 0.2% 0.2% 0.2%
Tengine 0.2% 0.1% 0.1% 0.1% 0.1% 0.1% 0.1%
Cowboy 0.1% 0.1% 0.1% 0.1% 0.1% 0.1% 0.1%
Lighttpd 0.2% 0.2% 0.1% 0.1% 0.1% 0.1% 0.1%
IBM Servers 0.1% 0.1% 0.1% 0.1% 0.1% 0.1% 0.1%
Oracle Servers 0.1% 0.1% 0.1% 0.1% 0.1% 0.1% 0.1%
Jetty 0.1% < 0.1% < 0.1% < 0.1% < 0.1% < 0.1% < 0.1%

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

Требование к системе для установки сервера Apache.

Возможна установка Apache 2.4 на следующих операционных системах:

Windows 10 ; Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP Service Pack 3

Принцип работы служб сети Интернет.

Вы, на своем компьютере (называемым клиентом) в программе получившей название — web-браузер, вводите строку запроса в поле адреса. Обрабатывает ваш запрос программа, ожидающая сообщение о вызове и выполняющаяся на компьютере (сервере) с которым вы соединяетесь. Эта программа-демон, называемая Web-сервером. Обмен между демоном и приходящим от вашего компьютера сообщением, происходит посредством протокола HTTP, указанного в запросе. В равной степени могут использоваться другие протоколы: FTP. SMTP. POP, NNTP и прочие. Каждый протокол имеет уникальный идентификатор. Комбинация Web-браузера, протокола HTTP и Web-сервера сложнее других протоколов, так как её функции не ограничиваются передачей различных видов информации от одного узла к другому. Сообщения, посылаемые от Web-сервера к Web-браузеру, написаны на языке HTML. В этих сообщениях содержатся: инструкции, текст, скрипты на Perl, PHP, JavaScript и других языках, локальные и гиперссылки, ссылки на рисунки, звуковые и видео файлы, формы позволяющие вводить информацию и отправлять её на Web-сервер.

Apache - для чего нужен локальный сервер ?

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

Практически невозможно разрабатывать и отлаживать скрипты на удалённом сервере

Страницы (файлы) непосредственно размещенные на сайте, связаны между собой локальными (внутри сайта) ссылками, позволяющими осуществлять переход от одной из них к другой, загружать файлы рисунков, содержимое других страниц, вызовы скриптов и многое другое. Если сайт состоит из одной страницы, то его можно не задумываясь размещать на сервере провайдера, так как вы, при загрузке её из Интернета, моментально увидите возможные ошибки. Но если сайт состоит из десятка страниц, то для проверки правильности вывода текстовой и графической информации, вывода данных из CGI-скриптов, SSI-директив, переходов на другие страницы сайта и пр., вам потребуются, при тестировании страниц сайта в Интернете, значительные временные и финансовые затраты.

Снизить вышеперечисленные затраты можно при отладке сайта на своем - локальном - компьютере (за счет отсутствия подключения к Интернету и высокой скорости загрузки), установив на него свой Web-сервер на платформе Windows. Для превращения компьютера в полноценный сервер принято устанавливать следующие пакеты программного обеспечения:

Документация входит в пакеты инсталляции программных продуктов.

На первый взгляд, вышеперечисленное выглядит неподъемным - как всё это изучить, установить, сконфигурировать и отладить? Но это не совсем так. Для эффективного проектирования, разработки и создания сайтов, в начале достаточно установить сервер Apache и, например - PHP или Perl.

 Зачем устанавливливать сервер Apache на Windows

Можно на Unix-подобных операционных системах, использовать входящий в их состав сервер Apache 2.4 (Ubuntu 14.04, Debian 8). Или службы Internet Information Services (IIS), в которых основным компонентом является веб-сервер — служба WWW (W3SVC).

Установленный на OS Windows, полностью сконфигурированный сервер Apache 2.4 (два каталога с разрабатываемыми сайтами и папка Apache24) занимают ~ 50 Мбайт. Их копии — это всё, что нужно для переустановки или установки рабочего сервера Apache на любой компьютер за несколько минут.

#

Apache - почему именно этот сервер ?

Разрабатывать, отлаживать и тестировать сайт необходимо, с установленным на локальном компьютере сервере аналогичном тем, что предоставляют клиентам хостинг-провайдеры.
Здесь явным лидером является Apache. Будучи бесплатной открытой программой, предназначенной для бесплатных - же Unix-систем (FreeBSD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой конкретной системой. Существуют локализации сервера для различных языков. Возможна установка сервера Apache на OS Windows. Так как, настоящее время, Windiws-хостинг значительно дороже и менее надежен, многие по прежнему будут предпочитать Unix-хостинг с установленным сервером Apache.

Apache - почему версии 2.4 ?

Желательно всегда работать с последней версией программных продуктов, в которых учтены и исправлены все замечания и пожелания пользователей, добавлены новые возможности. Версия Apache 2.4 — является существенной переработкой кода версий Apache 2.x с целью повышения уровня мобильности и модульности.

В этой версии улучшены десятки модулей и программ, включено 23 новых модуля. В том числе, с версии 2.4.17, поддерживается протокол HTTP/2 (7540 RFC). Apache HTTP Server Project в сообщении о выпуске Apache HTTP сервера, версии 2.4 подчеркивает что этот выпуск является итогом двадцатилетней работы по разработке новой ветви проекта и рекомендуется как альтернатива всем предыдущим выпускам! Проект Apache отметил свое 20-летие в феврале 2015 года.
Первый альфа-релиз Apache 2 (Апачи) - был выпущен в марте 2000 года. Первая рабочая версия в мае 2002 года.

Установка и запуск сервера Apache
На ОС Windows
Процесс установки сервера сводится к внесению изменений в три файла конфигурации и записи на диск двух каталогов
  • httpd.conf  —  главный файл конфигурации сервера   
  • httpd-userdir.conf  —  файл настройки параметров каталогов пользователей  
  • httpd-vhosts.conf  —  файл конфигурации виртуальных хостов  

и внесении добавлений в файл OS Windows:

  • hosts  —  файл сопоставления имен узлов IP-адресам  

Запись на диск двух шаблонов сайтов:

  • httpdserver.ru  —  каталога главного сайта сервера Apache  
  • www  —  каталог с примерами сайтов виртуальных хостов.   

Излишняя детализация, в описании установки и конфигурировании сервера Apache, интерпретаторов Perl и PHP - "нажмите на кнопку, введите точку и т. д." - объясняется множеством обращений желающих установить на своём  компьютере Apache 2.2.16 HTTP Server, но не имеющих опыта установки и конфигурирования сервера, не работавших в Total Commander'е, без которого, в вопросах связанных с программированием - не обойтись.

Последняя версия Apache HTTP Server доступна на странице загрузки — Apache HTTP Software Foundation

Apache на Windows

#


Два варианта установки сервера Apache на OS Windows

Как установить, настроить и запустить Apache 2 на Microsoft Windows

1. Установка Apache используя инсталлятор Windows

Установщик (инсталлятор) Windows — (Microsoft Windows Installer) — это компонент операционной системы Windows, служащий для установки, восстановления и удаления программного обеспечения простым и удобным способом.
Всё, что необходимо для установки и правильной работы ПО, содержится в установочных пакетах (installation packages), имеющих расширение — .msi.

Для установки Apache из установочного пакета запустите (обязательно из корневого каталога диска) программу инсталляции сервера Apache, соответствующую установленной версии ОС. Например — apache_2.4.4-x64-no-ssl.msi


Запустите программу инсталляции - apache_2.4.4-x64-no-ssl.msi и в окне диалога Мастера Инсталляции нажмите кнопку Next.

Apache HTTP Server 2.4 - Installation Wizard
(HTTP-сервер Apache 2.4 - Мастер установки)

#

Далее, как обычно, следуйте указаниям мастера установки.

Раньше, до версии HTTPD-2.2.25, можно было выбрать последнюю версию инсталлятора Apache для Windiws. например, HTTPD-2.2.25-win32-x86-OpenSSL-0.9.8y.msi.
В настоящее время вы не сможете загрузить инсталляторы Apache со страницы загрузки - Apache Download binaries win32. Их нужно искать на сайтах сторонних производителей.

2. Загрузка исходных кодов Apache HTTP Server 2.4 для компиляции и установки на ОС Windows

Проект Apache HTTP Server не предоставляет дистрибутивы программного обеспечения. На apache.org можно получить только исходные коды.

#

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

Сервер Apache HTTPD для Microsoft Windows доступен для загрузки
с сайтов сторонних поставщиков.

Исполняемые файлы Apache созданы с оригинальных источников последних версий опубликованных Apache Software Foundation
Популярные варианты загрузки для установки Apache HTTPD на Microsoft Windows, и, необязательно, PHP и MySQL, возможны на сайтах сообществ разработчиков и любителей, которые предпочитают использовать Web-сервер Apache вместо IIS.

Пакеты «все-в-одном»


Есть некоторые дистрибутивы для Windows — "все-в-одном", которые содержат полностью интегрированную и готовую к запуску среду разработки с Apache, PHP, MySQL и других приложений в одном установочном файле, например: Предназначенные для желающих изучить основы HTML (HyperText Markup Language — «язык гипертекстовой разметки») и серверных языков программирования необходимых для создания веб-приложений, не вникая в подробности установки HTTP-сервера Apache и пакетов программного обеспечения - php, mysql, perl, phpmyadmin, sendmail и пр.
Нет ничего плохого в использовании этих пакетов. Хотя установка, настройка и запуск Apache 2.4 в качестве службы Microsoft Windows вручную поможет вам узнать больше о системе и параметрах её конфигурации.

Установка Apache HTTPD v2.4 в качестве службы Windows

Для установки Apache HTTPD v2.4 в качестве службы Windows, проще получить скомпилированный HTTP-сервер Apache с сайтов:

С указанных сайтов вы загрузите исполняемые файлы и модули последней версии Apache.
Например - Apache 2.4 VC14 Windows:
Apache Version 2.4 Win64 - httpd-2.4.20-win64-VC14.zip
или
Apache Version 2.4 Win32 - httpd-2.4.20-win32-VC14.zip
VC14 - означает, что сервер Apache скомпилирован с помощью Visual C++ 14.0 и чтобы установить его как службу Windows, нужно иметь на компьютере пакет Microsoft Visual C++ Redistributable Package (VCRedist) 14

#

включающий в себя компоненты и библиотеки DLL, необходимые для выполнения программ написанных на С++.


Компонент Microsoft Visual C++ 2015 Redistributable Package (VCRedist) 14.0 входит в комплект Visual Studio 2015

Для чего нужно устанавливать компонент Microsoft Visual C++ ?

Библиотеки

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

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


Две модели библиотек.

Статические библиотеки — встраиваются в код исполняемого exe-файла.

DLL (Dynamic Link Library) — библиотека, содержащая код и данные, которые могут использоваться более чем одной программы одновременно.

Динамически связываемые библиотеки - DLL (используемые в Windows) — не включаются в код программы. (При установленных по умолчанию параметрах компилятора).
Вместо этого приложение получает ссылку на динамическую библиотеку. При выполнении программы и вызове функции из DLL-библиотеки, данная библиотека загружается в рабочую память. Если несколько программ вызывают одновременно одинаковую DLL-функцию, то в рабочую память загружается только одна её копия, которую все они используют.
Библиотеки DLL не являются программами и не могут выполняться как exe-файлы.

При сборке проекта в интегрированной среде разработки Visual Studio, можно указать в параметрах компилятору, статически связать библиотеки DLL с исполняемым файлом (.exe). Таким образом, они будут собраны в один исполняемый файл и программа не будет зависеть от библиотек Visual Studio, но увеличится её размер.

Для установки и выполнения, исполняемым файлам сервера Apache необходимы динамически связываемые библиотеки компонента C++ Redistributable Visual Studio 2015 - vc_redist_x64/86.exe.

Компиляция и установка сервера Apache

include virtual="/cgi-bin/ave/av.pl"