Популярные web серверы. Выбираем локальный веб-сервер для Windows

Веб-сервер (web-server ) – это сервер, отвечающий за прием и обработку запросов (HTTP-запросов) от клиентов к веб-сайту. В качестве клиентов обычно выступают различные веб-браузеры. В ответ веб-сервер выдает клиентам HTTP-ответы, в большинстве случаев – вместе с HTML-страницей, которая может содержать: всевозможные файлы, изображения, медиа-поток или любые другие данные.

Также веб-сервер выполняет функцию исполнения скриптов, например, таких как CGI, JSP, ASP и PHP, которые отвечают за организацию запросов к сетевым службам, базам данных, доступу к файлам, пересылке электронной почты и другим приложениям электронной коммерции.

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

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

HTTP (англ. HyperText Transfer Protocol – протокол передачи гипертекста) – это сетевой протокол прикладного уровня передачи данных. Основным принципом протокола HTTP является технология «клиент-сервер», обеспечивающая взаимодействие сети и пользователя.

В случае малой организации веб-сервер может быть целостной системой, которая будет состоять из: HTTP-сервера – служит для запросов к веб-страницам; FTP-сервера – применяется для загрузки файлов через Интернет; NNTP-сервера – выполняет доступ к группам новостей; SMTP-сервера – для электронной почты.

История

Изобретателем первого веб-сервера считается британский ученый Тим Бернерс-Ли. Работая с 1980 года в Европейской лаборатории ядерных исследований (фр. Conseil Européen pour la Recherche Nucléaire, CERN) консультантом по программному обеспечению, он приступил к своим разработкам. В Женеве он для своих собственных потребностей разработал программу «Энквайр» (англ. enquire – спрашивать), которая использовала случайные ассоциации для хранения данных и заложила концепцию для основы Всемирной паутины.

В 1989 году Тим Бернерс-Ли, работал над внутренней сетью организации CERN и предложил основать глобальный гипертекстовый проект, который заключался в публикации гипертекстовых документов, связанных между собой гиперссылками. Внедрение этого проекта, по его мнению, облегчило бы объединение, поиск и обмен информацией для ученых CERN. Для осуществления проекта Тим Бернерс-Ли вместе со своими помощниками изобрел идентификаторы URI и URL, протокол HTTP, а также язык HTML. Все эти технологии теперь широко применяются в современном Интернете и без них уже не обойтись.


В результате выполнения этого проекта Бернерс-Ли разработал первый в мире веб-сервер, называвшийся «httpd», а также первый в мире гипертекстовый веб-браузер для компьютера NeXT, получивший название WorldWideWeb (Всемирная паутина).

Первый веб-браузер работал на платформе NeXTSTEP – объектно-ориентированной, многозадачной операционной системе, и был разработан с помощью Interface Builder. Интерфейс веб-браузера был очень простым, и почти вся информация отображалась в текстовом формате только лишь с несколькими изображениями. Помимо стандартного протокола FTP, Тим Бернерс-Ли использовал новый, изобретенный им, протокол HTTP. В период с 1991 по 1993 год Бернерс-Ли усовершенствовал технические свойства своих новых разработок: идентификаторов URI и URL, протокола HTTP и языка HTML и опубликовал их. Позже веб-браузер был переименован в "Nexus", чтобы не возникло путаницы с названием операционной системы, на которой был разработан браузер и его названием.

Первый в мире веб-сервер и первый веб-браузер работали на персональном компьютере NeXTSTEP; сейчас этот компьютер выставлен в музее CERN (Микрокосм).

Первый в мире веб-сайт Тим Бернерс-Ли разместил по адресу http://info.cern.ch ; сейчас этот сайт хранится в архиве. Первый сайт появился в Интернете 6 августа 1991 года. На этом веб-сайте было дано:

  • описание Всемирной паутины;
  • инструкция правильной установки веб-сервера;
  • информация о том, как приобрести веб-браузер;
  • прочая техническая информация.

Этот сайт также представлял собой первый в мире интернет-каталог. Бернерс-Ли разместил на нем список ссылок на другие сайты и регулярно обновлял его.

12 декабря 1991 года в Стэнфордском центре линейного ускорителя (SLAC) в США был установлен первый в мире веб-сервер.

Основные и дополнительные функции

Все основные и дополнительные функции веб-сервера:

  • Прием запросов от веб-браузеров по протоколу стандарта HTTP с использованием сетевых протоколов TCP/IP;
  • Выполнение поиска и отсылки файлов с гипертекстом или каких-либо документов в браузер по протоколу HTTP;
  • Обслуживание и обработка запросов, типа: mailto, FTP, Telnet и т. п.;
  • Запуск прикладных программ на веб-сервере с последующей передачей и возвратом параметров обработки через стандарт интерфейса CGI;
  • Работа и обслуживание навигационных карт изображений (Image map);
  • Администрация и оперативное управление сервером;
  • Авторизация пользователей и их аутентификация;
  • Ведение регистрационного журнала обращений пользователей к различным ресурсам;
  • Автоматизированная работа веб-страниц;
  • Поддержка страниц, которые генерируются динамически;
  • Поддержка работы протокола HTTPS для защищенных соединений с клиентами.

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

Веб-браузеры поддерживают связь с веб-серверами с помощью протокола передачи гипертекстовых сообщений (HypertextTransferProtocol, HTTP). Это простой протокол запросов и ответов для пересылки информации с использованием протокола TCP/IP. Веб-сервер получает запрос, обнаруживает файл, посылает его браузеру, а затем разрывает соединение. Графическая информация, которая имеется на странице, обрабатывается таким же образом. Далее настает очередь веб-браузера – вывести на монитор пользователя загруженный из сети HTML-документ.

Кроме HTML-страниц и графики, веб-серверы могут хранить любые файлы, в том числе текстовые документы, документы текстовых процессоров, видеофайлы и аудиоинформацию. На сегодняшний день, если не учитывать анкет, которые заполняют пользователи, основная часть веб-трафика передается в одном направлении – браузеры считывают файлы с веб-сервера. Но это положение изменится после общего принятия описанного в проекте HTTP 1.1 метода PUT, который позволяет записывать файлы на веб-сервер. Сегодня метод PUT используется в основном пользователями, создающими веб-страницы, но в перспективе он может пригодиться и остальным пользователям для обратной связи с информационными центрами. Запросы методом PUT намного проще, чем обыкновенная POST загрузка файлов на веб-сервер.

На веб-сервере также выполняют свою работу различные приложения, наибольшую популярность среди которых получили поисковики и средства связи с базами данных. Для разработки этих приложений применяются такие стандарты, как общий шлюзовой интерфейс (CommonGatewayInterface, CGI), языки сценариев JavaScript, а также языки программирования Java и VisualBasic. Кроме интерфейса стандарта CGI, некоторые фирмы-разработчики веб-серверов создали интерфейсы прикладного программирования (API) такие как, например, Netscape Server API и Internet Server API, которые созданы компаниями Microsoft и Process Software AG. Эти интерфейсы позволяют разработчикам непосредственно обращаться к конкретным функциям веб-сервера. Некоторые веб-серверы обладают связующим программным обеспечением (middleware) для подключения к базам данных, работа с которыми может потребовать профессиональных знаний в программировании.

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

Обзор веб-серверов

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

Большинство веб-серверов инсталлируется легко и быстро.

Самая сложная часть процесса инсталляции – это проведение конфигурации нескольких имен доменов на одном физическом устройстве или другими словами организация виртуальных серверов.

Веб-серверы имеют средства для управления информационным модулем, характеризующие общую организацию веб-узла, а также обладают инструментами для проверки правильности внутренних и внешних гипертекстовых связей. Пакет LiveWire фирмы Netscape Communications, который поставляется вместе с Novell Open Enterprise Server (OES) и дополнительно предлагаемый с сервером FastTrack, обладает утилитой управления узлом, которая формирует список всех связей выбранной страницы. Эта утилита также предоставляет общий перечень всех некорректных связей, которые обнаруживает. Программа WebView компании «O"Reilly & Associates» обладает такой же функцией и может выводить на экран подробное дерево файлов, в котором все некорректные связи выделяются красным цветом.

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

С увеличением популярности веб-серверов и все более широкого их применения в интрасетях, усиливается коммерческая активность в Интернете, поэтому возрастает важность защиты информации. Чаще всего системы обеспечения безопасности веб-сервера оказываются или избыточными, или недостаточными для современных интрасетей. Если необходимо ограничить доступ к определенной информации внутри компании, то есть выбор между использованием незашифрованных паролей, которые передаются по каналам связи, и применением протокола SSL (англ. Secure Sockets Layer – уровень защищенных сокетов) – сложного и медленного метода, который используется для шифровки паролей и данных.

Для того чтобы организовать работу отдельных пользователей и их групп могут быть использованы внутренние приложения сервера или определенные функции операционной системы. Для того чтобы организовать работу отдельных пользователей и их групп могут быть использованы внутренние приложения сервера или определенные функции операционной системы. В пакетной службе Microsoft IIS предусмотрено применение средств базовой сетевой ОС Windows NT.

Пакет NetWare Web Server фирмы Novell, Inc. целиком интегрирован со службами адресных каталогов (NetWare Directory Services, NDS). Налаживать работу пользователей из общего центра удобно, но это может нести угрозу безопасности. Пароли распространяются по каналам связи в незашифрованном виде, и если их перехватят, то подвергнется риску не только веб-сервер, но и безопасность всей сетевой операционной системы.

Разработка приложений – это одна из основных функций веб-сервера. Среда разработки приложений и инструменты подключения к базам данных очень важны для расширения возможности веб-сервера, поскольку разработка приложений зависит от различных своеобразных деталей интерфейса прикладного программирования (англ. application programming interface, API), а также от особенностей языков программирования или индивидуальных предпочтений программистов.

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

Для малых корпоративных интрасетей лучше всего подойдет пакет Internet Information Server (IIS), созданный и распространяемый компанией Microsoft. IIS отличается достаточно простой инсталляцией и простыми настройками конфигурации. Этот пакет веб-сервера отлично интегрирован со средствами управления доступом, инструментом контроля параметров системы Performance Monitor (Системный монитор), а также с программой просмотра журнала событий Event Viewer. Еще веб-сервером IIS представляется несколько инструментов для динамической передачи информации из баз данных. IIS отличается очень высоким быстродействием. Компоненты IIS поддерживают такие протоколы, как: HTTP, HTTPS, FTP, NNTP, SMTP, POP3.

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

Любой персональный компьютер, который подключен к сети Интернет, можно сделать веб-сервером, если установить на него специальное серверное программное обеспечение.

Самые распространенные веб-серверы: Apache (компания Apache Software Foundation), IIS (компания Microsoft) и iPlanet server (от компаний Sun Microsystems и Netscape Communications Corporation). Сейчас на рынке программного обеспечения для веб-серверов, существует огромный выбор продуктов, как коммерческих, так и бесплатных.

Одним из самых распространенных веб-серверов, является Apache от компании Apache Software Foundation. По ориентировочным подсчетам, он используется на 65% всех веб-серверов в мире. Одно из основных достоинств программного обеспечения Apache – бесплатное распространение. Разработчики регулярно устраняют найденные ошибки и предоставляют хорошую поддержку пользователей. Данный веб-сервер поддерживает большое количество модулей, утилит и дополнений. Поскольку с самого начала Apache разрабатывался как программное обеспечение для администраторов и опытных пользователей, то есть недостаток – сложность настройки и обслуживания для неопытных вебмастеров.

Далее по популярности идет веб-сервер IIS от компании Microsoft. По данным компании Netcraft веб-сервер IIS составляет 12,46% от общего числа веб-серверов. Этот продукт входит в состав серверного программного обеспечения семейства Windows NT. Его основные преимущества – стабильность, высокая скорость работы, возможность подключения дополнительных модулей. Компания Microsoft стремится к тому, чтобы любой пользователь смог пользоваться ее продуктами без помощи специалистов, если ему нужно решить стандартные задачи. Поэтому система IIS очень проста в установке, настройке и обслуживании. Веб-сервер поддерживает технологию.NET, набирающую, в последнее время, популярность в среде разработчиков и профессиональных пользователей. Эти достоинства выводят веб-сервер IIS на новый уровень и можно ожидать, что его использование возрастет.

Другие известные веб-серверы:

  • nginx - свободный веб-сервер и почтовый прокси-сервер, разрабатываемый Игорем Сысоевым. Простой, быстрый и надежный сервер. Работает в Linux и других Unix-подобных операционных системах, а также в Windows. Пользуется популярностью на крупных веб-сайтах;
  • lighttpd - свободный веб-сервер. Разработчик Ян Кнешке. Быстрый и безопасный веб-сервер. Работает в Linux и других Unix-подобных операционных системах, а также в Windows;
  • Google Web Server - веб-сервер, который основан на Apache и используется компанией Google для организации своей веб-инфраструктуры;
  • Resin - свободный веб-сервер и сервер приложений для Java. Разработчик – компания Caucho Technology Inc.;
  • Cherokee - свободный веб-сервер, который управляется только через веб-интерфейс. Написан на языке программирования Си;
  • Rootage - веб-сервер, который написан на языке программирования Java. Работает в Linux и Windows;
  • THTTPD - простой, маленький, быстрый и безопасный веб-сервер. Разработчик компания ACME Labs Software.

Клиенты веб-сервера

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

  • Веб-браузер, который установлен на стационарном персональном компьютере;
  • Веб-браузер, который установлен на КПК или другом переносном устройстве;
  • Мобильные телефоны и смартфоны, с помощью которых пользователь получает доступ к ресурсам веб-сервера по WAP-протоколу;
  • Различные программы, которые могут обращаться к веб-серверу самостоятельно для обновления либо получения другой информации. Пример – различные антивирусы, которые периодически обращаются к веб-серверу, чтобы обновить базу данных;
  • Разные цифровые устройства, а также некоторая бытовая техника.

Прежде чем выложить сайт или блог в интернет, его следует протестировать, насколько правильно будет выглядеть дизайн сайта, как будут работать скрипты, форма обратной связи, плагины и так далее.
Вот по этой причине многие Веб-разработчики (блогеры, веб-дизайнеры или веб-программисты ) используют тестовые площадки, на которых они проводят проверки, пробы, эксперименты, в общем, любую тестовую работу над будущим проектом.
Существуют два способа по созданию тестовых площадок .
1. Тестовая площадка на хостинге
Некоторые новички используют для тестирования проектов платные хостинги, размещая при этом два сайта – один основной (рабочий) и второй дополнительный, тестовый.
Минусы такого способа :
- нехватка места на хостинге;
- низкая скорость интернета;
- не всегда есть деньги, чтобы купить платный хостинг для тестирования проектов.
2. Тестовая площадка на вашем компьютере
Этот способ, на мой взгляд, лучший. Его я хочу рассмотреть с вами более подробней. Вначале скажу о плюсах:
- не нуждается в подключении интернета;
- не нужны финансовые затраты
Что это за тестовая площадка на компьютере? Речь идет о локальном сервере , который устанавливается на ваш компьютер. С помощью локального сервера вы сможете легко и быстро протестировать проект.

Кто-то может сказать: а зачем вообще проводить тестирование своего проекта через локальный сервер? Ведь достаточно открыть файл «index.html » и мы увидим, как будет выглядеть сайт в интернете. Да, это правда, достаточно и этого, но если вы используете на сайте , чаты, форумы, различные (WordPress, Joomla, drupal), то здесь без локального сервера никак . Тем более, если вы используете для своего проекта CMS движок (WordPress, Joomla, drupal), то там нужна не только поддержка php, но еще и база данных MySQL.

Итак, локальный сервер – это специальный набор программ, обеспечивающий правильную работу скриптов прямо у вас на компьютере. В сборку входят: сам сервер, компилятор PHP (с его помощью браузер может прочитать php код и обработать правильно страницу ), компоненты для работы с БД (База Данных) и многие другие программы.

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

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

Denwer – это бесплатный локальный сервер для тестирования сайтов, веб-приложений или Интернет страниц. В Denwer входит: веб-сервер Apache, панель phpMyAdmin и MySQL для работы с БД (базами данных) и другие программы.
Локальный сервер Denwer работает только на операционную систему Windows.

Скачать можно с официального сайта denwer.ru

XAMPP это бесплатный локальный сервер для тестирования сайтов, веб-приложений или Интернет страниц с простым пользовательским интерфейсом. Поддерживает работу в системе Windows, Solaris, Mac OS X и Linux.

Скачать можно с официального сайта www.apachefriends.org/en/xampp.html

AppServ - еще один бесплатный локальный сервер. Быстрая и легкая установка.

Скачать можно с официального сайта www.appservnetwork.com

VertigoServ - простенький по установке локальный сервер.
Работает только в операционной системе Windows.

Скачать можно с официального сайта vertrigo.sourceforge.net

Zend Server Community Edition - бесплатный локальный сервер.

Скачать можно с официального сайта www.zend.com

Open Server - это бесплатный локальный сервер с высоким функционалом по разработке и созданию сайтов. Работает в операционной системе Windows.

Скачать можно с официального сайта open-server.ru

Лично я пользуюсь бесплатным локальным сервером . Почему Denwer, а не какой-то другой? Скорей всего привычка. Я начинал с локального сервера Denwer, потому только им и пользуюсь. А вам нужно самим выбрать, с каким локальным сервером будете работать.

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

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

Как я уже сказал, процесс создания сайта — это не только написание HTML страницы, как многие думают:), это целый комплекс мероприятий, который требует достаточно большого объема знаний в web направлении, например, можете прочитать статью «Как стать вебмастером и что для этого нужно знать? » и Вы, наверное, поймете, что знание HTML ничего еще не дает.

Популярные web сервера

Ну, хватит вступления, перейдем к теме нашей статьи. И начнем с того, что мы просто перечислим самые популярные WEB-сервера, а сегодня ими являются:

  • Apache – примерно 55-60% всех сайтов в Интернете (это самый популярный webсервер в мире! );
  • Microsoft-IIS – примерно 12-14 % всех сайтов в Интернете;
  • Nginx – примерно 10-12% всех сайтов в Интернете.

Остальную долю занимают, как Вы понимаете, менее популярные web сервера, такие как:

  • Lighttpd ;
  • Gws ;
  • Resin ;
  • и другие.

Сегодня мы проведем обзор 3 самых популярных web серверов и начнем, конечно же, с самого популярного это — Apache!

Обзор веб сервера Apache

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

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

  • Python;
  • Ruby;
  • Perl;

А самое главное, что подключить эти языки довольно просто, всего лишь нужно прописать в конфигурационном файле httpd.conf подключение нужных модулей, например, PHP подключается следующем образом:

#подключение для apache версии 2.2, подключаем модуль LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll" #добавляем тип файлов для обработчика AddType application/x-httpd-php .php #указываем директорию с php.ini PHPIniDir "C:\Program Files\PHP\"

Это мы подключили php к apache версии 2.2, да, кстати, если речь зашла об версионности, давайте поговорим и об этом.

На сегодняшний день последней версией Apache является 2.4, но как не странно эта версия пока не является самой популярной. В Интернете широкое распространение получили две версии Apache — это версия 1.3 и версия 2.2 . Пусть версия 1.3 уже морально устарела, но ей все равно не перестают пользоваться. Особо кардинальных отличий между этими версиями нет, хотя в версии 2.2 изменилось расположение некоторых файлов, файл httpd.conf разбился на несколько частей и немного изменилась структура папок, что может поначалу затруднить переход с версии 1.3 на 2.2.

Самое главное, что мне нравится в Apache — это достаточно много нормальной документации что, конечно же, позволяет упростить освоение данного сервера. Например, у Apache есть официальный сайт — www.apache.org где, кстати, Вы можете скачать любую версию Apache для любой операционной системы. У новичков всегда возникают вопросы, где можно скачать тот или иной дистрибутив (советую качать только с официального сайта), например, вот на этой странице вот она Вы можете скачать дистрибутив для Windows (например, версию 2.2.22 в виде msi пакета, соответственно выбирайте нужное расширение ).

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

Пока про Apache все, переходим к следующему по популярности Web серверу.

Обзор web сервера IIS

IIS (Internet Information Services ) – это не отдельный web сервер, а целый набор web служб, необходимых для функционирования полноценного web сервера. Данный WEB Server реализован на платформе Windows (и соответственно принадлежит компании Microsoft ), я даже больше скажу, он полностью интегрирован с этой операционный системой (как впрочем, и все другие сервера, которые входят в состав Windows ). На данном сервере можно разрабатывать сайты с помощью технологий ASP (но она уже устарела ) и ASP.NET, так как эта технологии от компании Microsoft, но любителей других технологий (языков программирования ) компания Microsoft не забыла и сделала возможность прикручивать эти языки к этому WEB серверу, например: PHP, PERL и другие. Самыми популярными версиями являются IIS-6, IIS-7 , IIS-7.5 и самая последняя версия (на сегодняшний день ) IIS-8 (в Windows 8 и Windows Server 2012 ).

Основными компоненты web сервера IIS являются:

  • сама web служба;
  • служба FTP, может, кстати, функционировать как самостоятельный сервер, если Вы вдруг хотите настроить ftp, но при этом не использовать web сервер, ничего страшного в этом нет, устанавливайте и пользуйтесь на здоровье;
  • SMTP сервер, также можете использовать его как отдельный почтовый сервер у себя в организации.

Конечно в новых версия Windows, таких как Windows 7, Windows Server 2008 существует более подробная разбивка на отдельные компоненты, так сказать для удобства, т.е. если пользуетесь, ставьте, если нет, то не ставьте. Выше я представил лишь общую (малую ) часть всех компонентов.

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

Многие web мастера не хотят использовать IIS только потому, что думают, что для этого нужно устанавливать Windows Server, например, 2003 или 2008, с одной стороны они правы, т.е. если Вы хотите размещать свои сайты на собственном сервере (как например хостинговые компании в Интернете ), то тогда конечно лучше всего установить серверную операционную систему. Но если Вы хотите просто разрабатывать сайты, а потом перенести на хостинг в Интернет, то IIS можно устанавливать и на обычные клиентские операционные системы такие как: Windows XP Pro или Windows 7 Pro и выше. Делается это штатными средствами операционной системы:

Панель управления -> Установка/удаление программ (Windows XP) или программы и компоненты (Windows 7) -> Установка компонентов (Windows XP) или «Включение/отключение компонентов» (Windows 7) -> выбираем Internet Information Services (IIS) для Windows XP и службы IIS для Windows 7.

В Windows XP Pro:

В Windows 7:

Если нужно, можете нажать состав (Windows XP) или просто нажать плюсик (Windows 7) чтобы подробней посмотреть или выбрать необходимые компоненты, которые будут устанавливаться. Потом может потребоваться вставить установочный диск с операционной системой, для того чтобы программа установки взяла необходимые компоненты, и все, установка идет как установка обычного приложения, далее можете открывать:

Панель управление->администрирование-> Internet Information Services (Windows XP) или Диспетчер служб IIS (Windows 7).

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

Если у Вас Windows XP, то установится IIS 5.1, который менее функционален по сравнению с другими версиями, например, с IIS 6 и 7. А если у Вас Windows 7, то установится IIS версии 7, который отлично подходит для нормального WEB сервера. В будущем на Windows 8 Вы будете ставить IIS версии 8.

Если Вы соберетесь ставить IIS на нормальную серверную операционную систему, то на Windows Server 2003 у Вас установится IIS 6, а на Windows Server 2008 IIS 7, на Windows Server 2008 R2 IIS 7.5, на Windows Server 2012 IIS версии 8. Рассматривать подробную инсталляцию данного сервера сейчас не будем, так как это выходит за рамки данной статьи, но в скором времени я планирую выпустить несколько статей по установке, настройке, администрированию WEB сервера IIS 7 на платформе Windows Server 2008, где Вы уже сможете подробно посмотреть все тонкости этого сервера.

Существуют несколько отличий серверов IIS 6 и IIS 7 (и выше) если быть точнее, то преимуществ 7 версии (и выше) над 6:

  • у 7 версии, на мой взгляд, более удобный интерфейс;
  • если Вы хотите разрабатывать сайты на PHP, то в 7 (и выше) версии более удобная интеграция и управление php расширением;
  • IIS 6 изначально не был ориентирован для хостингов, а IIS 7 (и выше) уже ориентирован, например: способность владельцам сайтов управлять и конфигурировать свои сайты (имеется в виду web сервер ) без обращения в техподдержку и без использования дополнительных скриптов у хостера, так как на версии IIS 6 хостеры использовали дополнительные скрипты, чтобы вручную не настраивать, выполнять просьбы владельцев сайтов. IIS6 был ориентирован только на корпоративные web сайты, но его начали использовать и хостеры, т.е. он приобрел популярность. IIS 7 отличный вариант для тех, кто любит Windows и Windows приложения и он уже ничем не уступает самому популярному web серверу в Интернете apache.

На сегодняшний день в Интернете из серверов IIS самым популярным пока остается 6 версия, но 7 версия уже почти догнала и все web мастера и хостеры уже активно переходят на 7 или выше версию IIS.

Обзор веб сервера Nginx

Nginx – веб сервер и почтовый прокси-сервер, разработанный российским программистом, который его активно продвигает, сейчас даже появилась компания Nginx, Inc.

Nginx работает на unix-подобных операционных системах, таких как: FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX, HP-UX, но также есть и версии под Windows, хотя как Вы уже поняли, разрабатывался этот web сервер именно под unix. Последней версией на данный момент является версия 1.2.4.

Главные особенности Nginx это: простота, быстрота, надежность . В общем, также как и вышеперечисленные web сервера — это отличный web сервер.

На сегодня все, в следующих статьях будем рассматривать уже подробно установку, настройку, обслуживание web серверов (на примере Apache 2.2.22 и IIS 7).

Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный локальный веб-сервер. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

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

1. AMPPS

Последняя версия: 1.7
Русский язык: есть (частично)
Portable версия: Нет
Домашняя страница: http://www.ampps.com/

Базовый комплект:

  • Softaculous AMPPS 1.7
  • Apache 2.2.22
  • MySQL 5.5.22
  • PHP 5.3.10 and 5.2.17
  • PERL 5.10.1
  • Python 2.7.2
  • MongoDB 2.0.4

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

Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов так же не отстает от жизни, все модули довольно свежие и, что примечательно, здесь мы можем найти такую экзотику как Python и MongoDB.

Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. Работать с этим сервером мне было не очень комфортно, есть варианты и получше.

Последняя версия: 2.5.10
Русский язык: Нет
Portable версия: Нет
Домашняя страница: http://www.appservnetwork.com/


Базовый комплект:

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3

Apache и MySQL устанавливаются как сервисы. Никакой управляющей программы нет, только страница сомнительного дизайна со ссылкой на PhpMyAdmin. По своей сути AppServ является графическим установщиком Apache, PHP, MySQL и более ничем. Если тот же Denwer сам запускает компоненты, то здесь они просто устанавливаются в качестве сервисов и управляются самой Windows.

Последняя версия: 3.2010-11-07
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://www.denwer.ru/


Базовый комплект:

  • Apache 2.2
  • PHP 5.3.3
  • MySQL 5.1.40
  • phpMyAdmin 3.2.3

Denwer… старый добрый Denwer. Мы видим всё тот же скудный набор не очень свежих компонентов (урезанных по самые яйца), чёрное окно и никакого GUI. К плюсам этого локального веб-сервера можно отнести его предельно малый размер и хорошую «базу знаний» на форуме, накопленную за многие годы. Фактически управление сервером осуществляется через выполнение.BAT скриптов по запуску и остановке модулей, как таковой управляющей программы нет вообще.

Denwer предельно прост и понятен, а потому имеет самую большую армию поклонников среди «чайников». Наиболее полным описанием данного веб-сервера будет следующая фраза, сказанная одним из пользователей: «Денвер выполняет основные задачи и ладно, а чем больше примочек тем больше заморочек (никто ими на все 100 не пользуется)».

Последняя версия: 5.3.9
Русский язык: Да
Portable версия: Да
Домашняя страница: http://www.easyphp.org/


Базовый комплект:

  • PHP 5.3.9
  • PhpMyAdmin 3.4.9
  • Apache 2.2.21
  • MySQL 5.5.20

Довольно простая и ничем не примечательная сборка. Нам предлагают обычное трей-меню без излишеств, незамысловатые настройки и запутанную стартовую страницу без русского языка. Данный программный комплекс не произвел на меня какого-либо впечатления, работает и то хорошо. EasyPHP вполне подходит в качестве замены Denwer на «версию с окошками» (если не пугает стартовая страница).

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

Последняя версия: 2.0.2.0
Русский язык: Есть
Portable версия: Нет
Домашняя страница: http://eleanor-cms.ru/server


Базовый комплект:

  • Apache 2.2.19
  • PHP 5.3.6
  • MySQL: MariaDB 5.2.6
  • PhpMyAdmin 3.4.2
  • SlimFTPd 3.1.81
  • DNS Unbound 1.4.10

EleanorServ сперва показался мне тёмной лошадкой, а точнее неким специализированным сервером для одноименной Eleanor CMS. После рассмотрения оказалось что это обычный локальный веб-сервер.

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

Радость от использования этого программного комплекса длилась не долго. После создания нового домена панель управления просто исчезла. Да да, она просто испарилась и в папке./www/localhost/ я даже не нашел каких-либо файлов кроме заглушки index.php. Еще одним огорчением было невозможность открыть папку с доменами из трей-меню, мне пришлось искать куда же я установил EleanorServ…

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

6. Nimp

Последняя версия: 1.5.0
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://nimpbox.ru/


Базовый комплект:

  • Apache 2.2.17
  • Nginx 0.9.3
  • MySQL 5.5.8
  • PHP 5.3.5
  • Sendmail 31
  • phpMyAdmin 3.3.9
  • Sypex Dumper 2.0.8
  • FileZilla 0.9.37 beta
  • Memcached 1.2.4

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

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

«Фишка» этого локального веб-сервера в том, что Nginx работает как frontend и предназначен для раздачи статического контента, а Apache работает в качестве backend для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.

Последняя версия: 4.5.2
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://open-server.ru/


Базовый комплект:

  • Apache 2.2.22;
  • Apache 2.4.2;
  • Nginx 1.2.0;
  • MySQL 5.1.63;
  • MySQL 5.5.24;
  • PostgreSQL 9.1.2;
  • PHP 5.2.17 (IMagick 2.2.1, Zend Optimizer 3.3.3, IonCube Loader 4.0.7, Memcache 2.2.4);
  • PHP 5.3.13 (IMagick 2.3.0, Xdebug 2.2.0, IonCube Loader 4.0.14, Memcache 2.2.6);
  • PHP 5.4.3 (Xdebug 2.2.0);
  • Perl 5.12.3.0 (расширение);
  • SlimFTPd 3.181;
  • Fake Sendmail 32;
  • NNCron Lite 1.17;
  • Memcached 1.2.6;
  • Adminer 3.3.4;
  • HeidiSQL 7.0;
  • Webgrind 1.0;
  • PHPMyAdmin 3.5.1;
  • PHPPgAdmin 5.0.4;
  • PHPMemcachedAdmin 1.2.1;

В противовес другим участникам нашего обзора Open Server имеет наиболее приятный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. К несомненным плюсам можно отнести поддержку профилей настроек, переключение HTTP/MySQL/PHP модулей, планировщик заданий (cron), удобное управление доменами и алиасами, а для «чайников» имеется толковое руководство пользователя.

Приятной особенностью Open Server является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.

Последняя версия: 1.8.2
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.server2go-web.de/


Базовый комплект:

  • Apache 2.2
  • PHP 5.3.2
  • SQLITE
  • MYSQL 5.1.46
  • PERL 5.8

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

Впечатление крайне отрицательное, хотя казалось бы: сервер стартует, PhpMyadmin открывается, а что ещё надо? Нет, сервер который нельзя остановить - это не для меня. Гори оно в аду!

Последняя версия: 8.5.4
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.uniformserver.com/


Базовый комплект:

  • Apache 2.4.2
  • PHP 5.4.0
  • MySQL 5.5.24
  • phpMyAdmin 3.5.1

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

Последняя версия: 8.5
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.usbwebserver.net/


Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5
  • PHP 5.3.9
  • PhpMyAdmin 3.4.9.0

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

По своей функциональности USBWebserver напоминает Denwer, разве что Perl не хватает. В панели управления можно выполнить запуск/остановку модулей, открыть логи, еще есть парочка полезных функций и настроек, на этом всё. Я бы рекомендовал эту сборку как GUI замену Denwer-а для тех, кому необходима схожая функциональность, но хочется иметь панель управления с кнопочками и рюшечками.

Последняя версия: 2.27
Русский язык: Нет
Portable версия: Нет
Домашняя страница:


Базовый комплект:

  • Apache 2.2.22
  • PHP 5.3.10
  • MySQL 5.5.20
  • SQLite 3.7.10
  • Smarty 3.1.7
  • PhpMyAdmin 3.4.9
  • Xdebug 2.1.3
  • SQLiteManager 1.2.4

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

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

Последняя версия: 2.2d
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.wampserver.com/

Базовый комплект:

  • Apache 2.2.21
  • Php 5.3.10
  • Mysql 5.5.20
  • XDebug 2.1.2
  • XDC 1.5
  • PhpMyadmin 3.4.10.1
  • SQLBuddy 1.3.3
  • webGrind 1.0

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

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

Последняя версия: 0.4.0.4
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://winginx.ru/


Базовый комплект:

  • Nginx 1.2.0;
  • PHP 5.3.13;
  • PHP 5.4.3;
  • Node.js 0.6.17;
  • MySQL 5.1.62;
  • MongoDB 2.0.5;
  • memcached 1.2.6;
  • phpMyAdmin 3.5.0;
  • Adminer 3.3.3;
  • RockMongo 1.1.1;
  • phpMemcachedAdmin 1.2.1;
  • Xdebug 2.2.0.5, Zend Guard Loader 5.5, ionCube 4.0.14

Данная сборка может похвастаться наличием MongoDB и Node.js, а так же быстро набирающего популярность веб-сервера Nginx. Меня так же порадовало наличие нормального трей-меню и раздела настроек, однако в процессе работы оказалось что окно с настройками имеет 3 вкладки где всего по 1-2 опции (зачем?).

Довольно странно в Winginx выглядит работа с логами. Для их просмотра нам предлагается меню выбора файлов вида error.log, access.log и так далее, однако к какому именно модулю относятся эти логи понять невозможно: Nginx, PHP, а может Node.js?

Хоть Winginx и имеет управляющую программу, однако командование самим веб-сервером, так же как и в Denwer, осуществляется через.BAT файлы. Я сделал такой вывод по всплывающим из ниоткуда чёрным окнам во время запуска или остановки сервера.

Возможно, что кому-то (в первую очередь новичкам) будет очень полезна функция автоматической установки скриптов (PhpBB, WordPress, Joomla и т.д.) при создании домена, особенно если учитывать что скрипты сконфигурированы для работы с Nginx (переписывать правила реврайта самому довольно сложно). Однако лично я такими функциями никогда не пользуюсь и предпочитаю выполнять инсталляцию сам, поскольку никогда не знаешь что и как там устанавливается и какие сюрпризы могут поджидать тебя в будущем.

14. Xampp USB Lite

Последняя версия: 1.7.7
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.apachefriends.org/en/xampp-windows.html


Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5

XAMPP - это очень популярный за рубежом локальный веб-сервер. Думаю популярность обусловлена тем, что эта сборка довольно надёжна и имеет версии под все основные операционные системы: Windows, Linux, Mac OS X и даже Solaris.

Старт и остановка модулей происходят достаточно быстро, страница приветствия не запутана и понятна, хоть и на английском. В целом довольно хороший программный комплекс (с кучей плюшек в desktop версии) в котором нет ничего лишнего или отталкивающего. Чёрные окна из-за угла не атакуют, панель управления вполне обычная, однако малополезная.

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

Сравнение

Portable Русский язык Наличие GUI Полезный GUI Просмотр логов
AMPPS - + + - +
- - - - -
+ + - - -
+ + + + +
- + + + +
Nimp + + + + -
+ + + + +
+ - - - -
- + + - +
+ - + - -
- - + + +
- + + + +
+ + + + +
Xampp USB Lite + - + - -

Лучшие результаты: EasyPHP, Open Server, Winginx.

Тестирование

Тест №1 - Ложный запуск

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

Тест №2 - Сложные пути

Суть теста заключается в преднамеренной установке сервера в папку со сложным именем, в нашем тесте мы будем использовать папку с именем «C:testMys$ka!._-()zlo{}+~%&2% Files». Если PhpMyAdmin (он взят просто для удобства, поскольку есть в каждой сборке) не откроется, то тест соответственно будет провален. Каждый человек - это индивидуальность, папки порой называют самыми неожиданными именами. Название папки, выбранное для теста, корректно для Windows и должно быть правильно обработано.

Тест №3 - SSL из коробки

Тест предельно простой - запускаем сервер и пытаемся открыть PhpMyAdmin по SSL протоколу.

Обозначения: "+" означает что тест пройден успешно, "-" означает что тест провален.

Ложный запуск Сложные пути SSL из коробки
AMPPS + + +
- + -
- + +
+ + -
+ + -
Nimp + - -
+ + +
- + -
+ - -
+ - -
+ + -
+ + -
- - -
Xampp USB Lite + - +

Лучшие результаты: AMPPS, Open Server.

Заключение

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

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

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

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

Работа с Web-сервером Russian Apache. Русский Apache

Самый распространенный Web-сервер в мире - это Apache. По данным компании Netcraft (http://www.netcraft.com/ Survey/ ) общее число Web-узлов, работающих под его управлением, к концу 1998 г. достигло 2 млн. (55% общего числа узлов) и постоянно растет. Для сравнения: на долю серверов Microsoft приходится 25%, Netscape -7%. Будучи бесплатной открытой программой, предназначенной для бесплатных же Unix-систем (FreeBSD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой конкретной системой. Существуют локализации сервера для различных языков, в том числе и для русского.

Исторически сложилось так, что русские тексты в Internet могут быть представлены в разных кодировках, из которых наиболее распространены koi8-r (или просто koi8) и Windows-1251: с первой работает большинство серверов и рабочих станций под управлением Unix, вторая является стандартной для всех версий Windows. Поскольку кодировка Windows-1251, естественно, применяется на подавляющем большинстве клиентских машин, доля тех, кто путешествует по русской части WWW, используя koi8, не превышает сейчас 5%. Однако в этой кодировке хранятся документы на многих Unix-серверах, в ней чаще всего передаются почтовые сообщения и практически всегда - письма в телеконференции, с ней же работают многие русскоязычные каналы IRC (кстати, аббревиатура КОИ расшифровывается как "код обмена информацией"). Чтобы решить проблемы, возникающие при несовпадении кодировок текста на сервере и клиентской машине, и был создан русский модуль Apache-RUS для Web-сервера Apache.

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

Установка

Свежую версию Apache-RUS можно получить по адресу ftp://apache.lexa.ru/pub/apache-rus/ ("старшая" часть номера версии, например 1.3.3, соответствует версии оригинального Apache, "младшая", например PL27.3, - так называемому patch level, т. е. версии русского модуля). Рекомендуется устанавливать те версии, которые зарекомендовали себя как "стабильные". Здесь настройка сервера описывается на примере Apache_1.3.3rusPL27.3.

Итак, первым делом мы переписываем на свою машину архив (менее 1,5 Мбайт) и распаковываем его:

# ftp ftp://apache.lexa.ru/pub/apache-rus/ apache_1.3.3rusPL27.3.tar.gz

# tar xvzf apache_1.3.3rusPL27.3.tar.gz

После этого входим в созданный при распаковке каталог apache_1.3.3rusPL27.3 и запускаем сценарий configure:

# cd apache_1.3.3rusPL27.3

При необходимости сценарию можно в явной форме указать аргументы (их список выдается по команде configure -help). Так, если требуется установить сервер в иной каталог, нежели стандартный, нужно выполнить "configure -prefix=

Когда configure отработает, следует, как обычно, дать команды make и make install (эти действия выполняются пользователем root).

Теперь сервер установлен в каталоге /usr/local/apache, но запускать его пока нельзя - сначала мы должны отредактировать файлы настройки httpd.conf, access.conf и srm.conf в каталоге /usr/local/apache/etc/ (начиная с версии 27.4 - /usr/local/apache/conf).

Настройка

Настройка конфигурационных файлов Web-сервера - самый ответственный шаг при его установке. Здесь мы рассмотрим только наиболее распространенные директивы и их параметры, поскольку полный перечень с описанием займет не один десяток страниц. Сервер перечитывает конфигурационные файлы при запуске, а также при получении сигнала -HUP (жесткий рестарт) или -uSR1 (мягкий рестарт). Если сервер находится в рабочем состоянии, то при изменении конфигурации его рекомендуется перезапустить командой

# kill -USR1 `cat /usr/local/apache/logs/httpd.pid`

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

Файл access.conf

В access.conf содержатся директивы, описывающие права доступа к каталогам и файлам Web-сервера. Прежде всего решите, в каком каталоге будут храниться документы. По умолчанию это /usr/local/apache/share/htdocs, однако многие администраторы предпочитают размещать документы начиная с каталога /www/<имя_сервера>/, поскольку при такой организации проще ориентироваться в структуре файлов. Пусть, например, мы создали каталоги:

/www/radio-msu.net/

/www/people.radio-msu.net/

Они будут корневыми для соответствующих виртуальных серверов.

Файл access.conf может содержать секции Directory, Location и Files, которые ограничены одноименными директивами. В параметрах этих директив могут использоваться символы "?" и "*" , а также регулярные выражения, предваряемые тильдой, например . В секции Directory помещаются инструкции, относящиеся к определенному каталогу на диске, в секции Location - относящиеся к виртуальному пути, в секции Files - относящиеся к файлу или группе файлов.

# директивы, относящиеся ко всем документам, хранящимся в

каталоге /www/rmt.ru и вложенных в него

# директивы, относящиеся ко всем документам, доступным по адресу http://<имя_сервера>/cgi-bin/ <путь_к_файлу>

# директивы, относящиеся к файлу form.html из каталога

Различие между секциями Directory и Location состоит в том, что первая относится к каталогам на диске, вторая - к виртуальному пути (URL), который браузер запрашивает у Web-сервера. И в той, и в другой могут присутствовать директивы order, allow и deny, которые позволяют ограничить доступ к каталогу или URL с различных машин.

Следующие две директивы относятся к секции .

Options

Возможные значения параметров:

    ExecCGI - разрешить выполнение CGI-сценариев в данном каталоге и его поддереве;

    FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);

    Includes - разрешить SSI (Server Side Includes);

    Indexes - разрешить выдачу листинга каталога, если в нем нет файла index.html (или файла индекса, заданного директивой DirectoryIndex);

    MultiViews - разрешить поддержку многих языков; по умолчанию она отключена, и включать ее, как правило, не нужно; поддержка перекодирования "на лету" для русского языка устанавливается с помощью других директив, которые мы рассмотрим позже;

    All - установить сразу все перечисленные режимы кроме MultiViews.

При отсутствии специальных требований к безопасности вполне допустимо указать "Options All" в секции ; в противном случае нужно описать параметры каждого каталога отдельно.

AllowOverride

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

FileInfo - разрешить директивы, отвечающие за типы документов;

Indexes - разрешить директивы, связанные с листингом каталогов;

Limit - разрешить команды allow и deny, которые ограничивают доступ к файлам в зависимости от адреса клиентского компьютера;

Options - разрешить описанную выше директиву Options.

Учтите, что при включении последнего режима пользователи получают возможность создавать собственные файлы.htaccess и разрешать в них выполнение CGI-сценариев. Поэтому если нужно контролировать CGI-сценарии пользователей, не следует распространять на пользовательские каталоги действие директивы AllowOverride Options.

Однако во многих случаях (в частности, когда права на изменение содержимого сервера есть только у администратора) файл access.conf может выглядеть так, как в.

Файл srm.conf

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

DocumentRoot <первый каталог сервера>

Путь к каталогу по умолчанию, индексный файл которого пользователь получит при обращении к серверу (http://<имя_сервера>/). Эту директиву следует задать и для каждого из виртуальных серверов (в секции файла httpd.conf).

UserDir <имя пользовательского каталога>

Каталог, в котором пользователи должны размещать свои файлы, чтобы они были доступны по адресу http://<имя_сервера>/~<имя_пользователя>/. Стандартно public_html. Иногда, чтобы облегчить жизнь пользователям, администраторы дают директиву "UserDir www".

DirectoryIndex <список файлов индекса>

Файл индекса - это тот файл, который будет передан клиенту при обращении к каталогу. Если указать несколько имен, сервер будет искать подходящий файл "слева направо". По умолчанию список содержит всего одно имя - index.html, но принято добавлять в него и другие распространенные имена индексных файлов. Например, директива может иметь вид: DirectoryIndex .index.html index.html index.htm index.cgi index.shtml home.html home.htm default htm default html

Чтобы включить на сервере поддержку CGI-сценариев, следует убрать знак комментария перед директивами ScriptAlias и AddHandler cgi-script .cgi. Первая задает каталог на диске, в котором будут храниться исполняемые программы, а вторая определяет, что все файлы с расширением.cgi должны обрабатываться как сценарии.

Директива ErrorDocument позволяет заменять стандартные сообщения сервера об ошибках на свои. Например, в случае самой распространенной ошибки - 404 (файл не найден) - считается хорошим тоном выдавать пользователю страницу с предложением продолжить свой путь по серверу или форму для поиска по узлу. Реализуется это достаточно просто: в настройках сервера мы убираем знак комментария со строки

ErrorDocument 404 /missing.html

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

Файл httpd.conf

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

Директива Port, помещенная в самом начале файла, определяет номер порта для http-сервера; по умолчанию это 80. При необходимости можно приписать серверу другой порт или несколько портов, для чего служит директива Listen.

Директива HostnameLookups с параметром on или off включает или, соответственно, отключает преобразование численных IP-адресов клиентов, получивших документы с сервера, в доменные имена. Такое преобразование несколько замедляет работу сервера, но при числе посещений менее 10 000 в сутки это, как правило, практически не заметно.

Директивы User и Group задают пользователя, который будет администрировать сервер. С точки зрения безопасности нежелательно указывать здесь существующего пользователя, имеющего доступ к каким-либо другим ресурсам или файлам. Лучше создать отдельного пользователя и группу специально для http-сервера, например:

Директивы ServerRoot, ErrorLog, CustomLog определяют соответственно корневой каталог http-сервера, путь к журналу регистрации ошибок (error_log) и путь к общему журналу обращений к серверу (access_log).

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

Настройка виртуальных серверов в файле httpd.conf

В большинстве случаев один http-сервер способен обрабатывать запросы, поступающие на различные, так называемые виртуальные, Web-серверы. Виртуальные серверы могут иметь как один и тот же IP-адрес, но разные доменные имена, так и разные IP-адреса. С точки зрения пользователя второй вариант чуть более предпочтителен, поскольку запрос к серверу, отличающемуся от основного только доменным именем, должен содержать его имя, а некоторые старые браузеры, не поддерживающие протокол HTTP/1.1 (например, Microsoft Internet Explorer 2.0), не включают в запрос эту информацию. Однако такие браузеры выходят из употребления (сейчас их уже менее 0,5% общего числа); с другой стороны, выделение собственного IP-адреса каждому виртуальному серверу может быть неоправданной растратой адресного пространства компании.

Для описания адресов и доменных имен виртуальных серверов служат директивы ServerName, ServerAlias, NameVirtualHost и VirtualHost. Они необходимы, только если вам нужно установить более одного виртуального сервера.

http://www.apache.org/ - официальный сервер разработчиков Apache

http://apache.lexa.ru/ - сервер группы разработчиков русского модуля Apache