Сам себе хостмастер или установка Apache на платформе Windows. Установка и настройка сервера Apache

Apache HTTP-сервер - это кроссплатформенный веб-сервер с открытым исходным кодом. С апреля 1996 это самый популярный HTTP-сервер в Интернете; в августе 2007 года он работал на 51% всех веб-серверов. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Официальный сайт: httpd.apache.org .

Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточный»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведется в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности.

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

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

1. Для отделения web-проектов от всех остальных, все программное обеспечение, html-страницы, скрипты и т.д. в этом примере будем устанавливать в отдельный каталог С:\MyServers . В этом каталоге создадим каталог usr для необходимых программ и home для хранения сайтов. Вы можете выбрать другое название и положение каталогов.

2. Будем устанавливать последнюю версию Apache 2.2.8. Сначала необходимо скачать себе свежую версию дистрибутива для инсталляции Apache. По адресу http://httpd.apache.org/download.cgi выбираем одно из зеркал для скачивания дистрибутива сервера Apache. Например, это могут быть http://www.sai.msu.su/apache/httpd/binaries/win32/ , http://apache.rinet.ru/dist/httpd/binaries/win32/ , http://apache.rediska.ru/httpd/binaries/win32/ или другие. Версии для всех платформ в т.ч. и для Win32 распространяются бесплатно.

Так же на этой странице есть ссылки на два дистрибутива:
Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.8-win32-x86-no_ssl.msi
Win32 Binary including OpenSSL 0.9.8g (MSI Installer): apache_2.2.8-win32-x86-openssl-0.9.8g.msi

Примечание:
SSL (англ. Secure Sockets Layer - уровень защищённых гнёзд) - криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса http, как правило, применяется префикс https, указывающий на то, что будет использоваться SSL-соединение. Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.

3. Запускаем файл установки и следуем указаниям мастера установки.

Соглашаемся с лицензионным соглашением.

На следующем шаге Вам предлагается настроить параметры сервера. В качестве домена и имени указываем localhost , в качестве адреса, куда будут отсылаться уведомления сервера, любой адрес, например: admin@localhost .

Мнемоническое имя компьютера «localhost» обозначает то же самое сетевое устройство (компьютер), с которого осуществляется отправка сетевого пакета или установление соединения. Т.е. это тот самый компьютер, где вы устанавливаете веб-сервер. Обычно «localhost» ставится в соответствие адресу 127.0.0.1.

Сервер Apache может запускаться в одном из двух режимов: как служба или вручную. В нашем примере сервер будет запускаться для всех пользователей автоматически как служба. Внимание! Данная статья не рассматривает вопросы администрирования и защиты сети и Windows .

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

Выбираем место для установки сервера. Можно оставить по умолчанию, но рекомендую все программное обеспечение для работы сети ставить в одну папку, например: С:\MyServers (так проще). Щелкните кнопку Change... и в окне выбора пути укажите: C:\MyServers\usr\local\ вместо C:\Program Files\Apache Software Foundation\Apache2.2\

Если все сделали правильно и уверены в этом:) нажимаем кнопочку Install

Начнется процесс установки...

В конце для выхода из мастера установки нажимаем кнопочку Finish

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

Двойной щелчок по это значку выведет вам вот такое окошко:

Тут можно видеть статус службы и при необходимости остановить, запустить, перезапустить и т.д.

В дальнейшем (после следующего запуска компьютера) этот значок (в этой версии) уже не появится самостоятельно. Поэтому можно добавить запуск Monitor Apache Servers в автозагрузку в ручную.

Проверим его работоспособность запустив браузер и в адресной строке введя адрес вашего сервера, в нашем случае http://localhost или просто localhost . Если Вы увидите такую страницу, то можно Вас поздравить - сервер вы установили, осталось немного его настроить.

4. Для настройки сервера открываем файл конфигурации, либо через "Пуск",

либо вручную в той папке, в которую установили Аpache, в нашем случае C:\MyMyServers\usr\local\Apache2.2\conf\httpd.conf.

httpd.conf - это единственный файл, который нужно настроить. Вам предстоит найти и изменить в нем некоторые строки. Желательно, чтобы потом не было мучительно больно:), сначала сделать копию этого файла. Вдруг что-то лишнее поудаляете. В этом файле много комментариев, которые начинаются с знака # . Некоторые параметры также первоначально закомментированы.

а) Установите значение параметра ServerName следующим образом ServerName localhost . (без точки в конце)

б) Вместо DocumentRoot "C:/MyServers/usr/local/Apache2.2/htdocs" укажите DocumentRoot "C:/MyServers/home/localhost/www" . C:/MyServers/home/localhost/www - это каталог в котором будут размещаться ваши html -файлы. C:\MyServers\home мы создали в самом начале. Создайте теперь еще каталог С:\MyServers\home\localhost, в нём создайте 2 каталога: \cgi и \www.

в) Найдите секцию, начинающуюся с и заканчивающуюся . Замените ее на


AllowOverride All
Allow from all

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

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

д) Найдите блок


DirectoryIndex index.html

Здесь задаются так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например index.htm и index.php (если вы дальше будете устанавливать PHP и использовать/писать скрипты), а можно дополнительные настройки делать в файлах...htaccess. Исправим, например, блок на:


DirectoryIndex index.php index.htm index.html

е) Если вы не будете использовать cgi-скрипты, то этот пункт можно пропустить. Исправьте параметр ScriptAlias:

ScriptAlias /cgi-bin/ "C:/MyServers/usr/local/Apache/cgi-bin/" на ScriptAlias /cgi-bin/ "C:/MyServers/home/localhost/cgi" . Добавьте после него еще такую строчку: ScriptAlias /cgi/ "C:/MyServers/home/localhost/cgi" . Это будет каталог в котором будут располагаться ваши CGI-сценарии.

Удалите блок ... так как мы не собираемся использовать никаких дополнительных настроек.

Найдите и измените строку AddHandler cgi-script (не забудьте убрать комментарий): AddHandler cgi-script .cgi .bat .exe .pl Этот параметр говорит о том, что файлы с расширениями.cgi .bat .exe .pl следует рассматривать как cgi-скрипты.

ё) Если будете использовать SSI , то установите следующие параметры:

AddType text/html .shtml
AddHandler server-parsed .shtml .html .htm

ж) Директивы Listen задают IP- адреса и порты, на которых сервер Apache будет "слушать", ожидая подключения. В общем случае количество таких директив не ограничено. Если вы будете использовать сервер только для откладки своих сайтов укажите лишь Listen 127.0.0.1:80 .

5. Все.Сохраните изменения! Перезапустите (Restart ) сервер.Если все сделано правильно, то сервер будет работать. Запустите браузер и проверьте как раньше. В браузере вы увидите страницу с "Index of /" потому что мы не поместили в каталог C:/MyServers/home/localhost/wwwглавную(индексную) страницу (например, index.htm). Чтобы увидеть что-то более интересное создайте и сохраните туда свою html -страницу.Это можно сделать либо с помощью какого-либо веб-редактора, либо пишем приведенный ниже текст в блокноте и сохраняем файл с расширением.html (или .htm , а не.txt). При сохранении странички в блокноте выберите тип файла: все файлы и в поле имя файла укажите index.htm.

текст файла index.html (можно скопировать и сохранить):





Первая страница


Это моя страничка!



Запустив браузер и в адресной строке введя адрес вашего сервера, в нашем случае http://localhost или просто localhost вы увидите такую страницу. Можно Вас поздравить - сервер вы установили и настроили.

Теперь создаем свои веб-странички, размещаем их у себя на сервере (в C:/MyServers/home/localhost/www) и...

Для доступа к вашему серверу из локальной сети на любом из компьютеров пишем адрес сервера, например: http://server или просто server (т.к. имя компьютера в примере server, а если у вас, например, имя компьютера pc11 , то будет http://pc11 ) . Обратите внимание, что доступ возможен только, если он разрешен (не запрещен) в параметрах Listen.

Для создания html- страниц можно использовать Nvu 1.0 - бесплатный редактор web-страниц. Размер примерно 6,76 МБ. Скачать можно с http://nvu.mozilla-russia.org/ . Официальный сайт программы Nvu http://www.nvu.com/ . NVU это Open Source проект Linspire по созданию визуального (WYSIWYG) HTML редактора. Основой для создания NVU послужила часть кода выделенного из Mozilla.

Или же можно использовать KompoZer - проект-преемник Nvu. KompoZer - бесплатный HTML-редактор, предоставляющий новичкам, не обладающим знаниями HTML, все необходимые средства для создания собственных веб-документов. Программа достаточно проста и интуитивно понятна в использовании, обладает некоторым набором возможностей из FrontPage и Dreamweaver, имеет редактор стилей и др.

Из платных редакторов можно отметить Microsoft Office FrontPage 2003 или его приемника Microsoft Office SharePoint Designer 2007.

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

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

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

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

Управление Apache

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

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

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

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

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

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

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

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

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

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

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

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

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

Apache HTTP-сервер (от англ. a patchy server , "сервер с заплатками", кроме того, здесь есть аллюзия и к индейскому племени апачей. Среди русских пользователей общепринято искажённое произношение апа́ч ) - это полнофункциональный, расширяемый веб-сервер , полностью поддерживающий протокол HTTP/1.1, с открытым кодом.

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

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

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

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

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

Функции Web-сервера выполняет не сам компьютер, а программа, установленная на нём: то есть, когда браузер пользователя подключается к Web-серверу и посылает заголовок GET (просьба передать файл), его запрос обрабатывает именно Apache. Apache проверяет, существует ли указанный в заголовке GET файл, и, если есть, отправляет его вместе с заголовками браузеру.

Apache – это своего рода стандарт Web-сервера в Интернете. Его основным конкурентом является IIS (Internet Information Server) от Microsoft, который работает под Windows. Apache, хотя и существуют его версии под Windows, преимущественно устанавливается на Unix-подобных операционных системах – Lin ux и FreeBSD. Нужно также заметить, что большинство хостеров используют именно Apache, a не IIS. IIS обычно устанавливается на корпоративных серверах, работающих под Windows.

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

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

На данный момент сервер Apache сейчас установлен на 67% серверов по всему миру.

История создания

Сервер Apache разработан и поддерживается организацией Apache Project.

Первоначально он был разновидностью Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. Но в 1994 году главный разработчик NCSA ушел из проекта, оставив своих последователей самостоятельно разбираться в его сервере. Со временем начали появляться исправления и дополнения к серверу NCSA – так называемые patches (патчи, в переводе с английского – «заплатки»). А в апреле 1995 года вышла первая версия сервера Apache, который был основан на версии 1.3 сервера NCSA. Первая версия Apache просто вобрала в себя все известные исправления сервера NCSA. Да и само название Apache произошло именно от этого – «A PatCHy».

Позже Apache стал самостоятельной разработкой. Со второй версии код был переписан заново таким образом, чтобы в нем не содержалось ни намека на код NCSA. Сейчас сервер Apache поддерживается группой программистов-добровольцев Apache Group.

Сервер Apache изначально разрабатывался для ОС Linux и Unix, но со временем были выпущены его версии для ОС Windows и OS/2.

На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности. Сегодня последняя версия ветки 2.4 - это версия 2.4.3, вышедшая 21 августа 2012. Для первой версии последние исправления маркируются как 1.3.42.

Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. Наивысшие показатели были достигнуты в 2012 году – Apache работал на 67% серверов всего мира. В 2011 году его доля составляла 59%, в 2009-ом – 46%, а в 2007-ом – 51%.

Схема внутренних системных вызовов Apache

Архитектура Apache

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

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

Ядро Apache полностью написано на языке программирования C.

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf)
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf)
  • Конфигурация уровня директории (.htaccess)

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры. Часть модулей использует в своей работе конфигурационные файлы операционной системы (например, /etc/passwd и /etc/hosts). Помимо этого, параметры могут быть заданы через ключи командной строки.

Для веб-сервера Apache существует множество моделей симметричной мультипроцессорности. Также Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Несмотря на то, что часть из них разрабатывается непосредственно командой Apache Software Foundation, большинство существующих модулей разработано сторонними open source-разработчиками.

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

С помощью модулей можно реализовать следующее:

  1. Расширение поддерживаемых языков программирования
  2. Добавление дополнительных функций либо модификация основных.
  3. Исправление ошибок
  4. Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

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

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

Также существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Интеграция с другим ПО и языками программирования

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

  • PHP (mod_php)
  • Python (mod python, mod wsgi)
  • Ruby (apache-ruby)
  • Perl (mod perl)
  • ASP (apache-asp)
  • Tcl (rivet)

Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на всех языках программирования, в том числе C, C++, Lua, sh, Java.

Обеспечение безопасности

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

  • Ограничение доступа к определённым директориям или файлам.
  • Механизм авторизации пользователей для доступа к директории на основе HTTP-аутентификации (mod_auth_basic) и digest-аутентификации (mod_auth_digest).
  • Ограничение доступа к определённым директориям или всему серверу, основанное на IP-адресах пользователей.
  • Запрет доступа к определённым типам файлов для всех или части пользователей,– например, запрет доступа к конфигурационным файлам и файлам баз данных.
  • Существуют модули, реализующие авторизацию через СУБД или PAM.

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

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передаваемых между клиентом и сервером, используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.

Существуют внешние средства обеспечения безопасности, например mod_security.

Языки

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

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

Обработка событий

Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forbidden). Существует возможность запуска скриптов и отображения сообщений на разных языках.

Server Side Includes

В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.

Управлением SSI занимается модуль mod_include, включённый в базовую поставку Apache.

Apache vs IIS

Споры о выборе Apache или IIS являются столь же давними, как и споры о выборе ОС – Linux или Windows. Поэтому, прежде чем сделать окончательный выбор, стоит адекватно оценить преимущества и недостатки обеих.

Основные преимущества Apache и серверных систем LAMP:

  1. низкие затраты, так как нет необходимости приобретать лицензии на программное обеспечение;
  2. гибкое программирование благодаря открытому исходному кода;
  3. улучшенная безопасность, так как Apache был разработан для операционной системы не-Windows (а большинство вредоносных программ написано под ОС от Microsoft), то он всегда имел репутацию более безопасной системы, чем IIS производства Microsoft.

Преимущества Internet Information Services (IIS):

  1. Windows и IIS поддерживаются корпорацией Microsoft, тогда как Apache поддерживается только пользовательским сообществом;
  2. IIS поддерживает платформу.NET Microsoft и сценарии ASPX;
  3. модули позволяют включить потоковую передачу аудио и видеоконтента.

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

Единственный же вариант, при котором связка IIS на платформе Windows станет наилучшим выбором, это максимально удобные для пользователя средства администрирования как главный критерий. Причем, выполняемый сценарий должен полагаться исключительно на ASPX.

Впрочем, возможно разработать решение, которое будет поддерживать работу на обоих серверах.

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

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

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

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

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

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

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

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

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

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

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

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

Настройки PHP

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

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

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

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

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

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

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

Что такое веб-сервер Apache и для чего он нужен?

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

Мы это сделали следующим образом: в корне диска С создали папку Server, внутри которой создали еще четыре папки: apache, tmp, www, log, php. Не все папки мы будем использовать в данной инструкции. Всё это отображено на рисунке ниже.

В папке www мы создали простой , который назвали Index.html со следующим содержимым:

Проверочная страница

Apache в действие

< ! DOCTYPE html >

< html lang = "ru-RU" >

< head >

< meta charset = "UTF-8" >

< title > Проверочнаястраница< / title >

< link rel = "stylesheet" type = "text/css" href = "style.css" / >

< / head >

< body >

< h1 > Apache вдействие< / h1 >

< / body >

< / html >

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