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

Лабораторная работа

Установка web-сервера

Цель работы: получить теоретические и практические навыки по работе с веб-сервером.

Теоретическая часть

Введение

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

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

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

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

Дополнительными функциями многих веб-серверов являются:

• ведение журнала обращений пользователей к ресурсам,

• аутентификация пользователей,

• поддержка динамически генерируемых страниц,

• поддержка HTTPS для защищённых соединений с клиентами.

Что должен делать Web-сервер?

Основное действие конечного пользователя в Интернете – это "переход на Webстраницу". На самом общем уровне это предполагает совместную работу пары приложений:

• Web-браузера, такого как Firefox или Internet Explorer, который показывает в удобной для человеческого восприятия форме запрашиваемую страницу, которую он получает от…

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

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

Web-сервер оценивается по целому ряду важнейших параметров:

• Эффективность: как быстро он отвечает на запрос?

• Масштабируемость: продолжает ли сервер работать надёжно, когда к нему одновременно обращаются много пользователей?

• Безопасность: совершает ли сервер только те операции, которые должен? Какие возможности он предлагает для аутентификации пользователей и шифрования потока обмена информацией? Делает ли его использование более уязвимыми соседние приложения или хосты?

• Работоспособность: какие у сервера режимы отказа и аварийные ситуации?

• Соответствие стандартам: поддерживает ли сервер соответствующие RFC?

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

• Требования к платформе: на каких платформах возможно использование сервера? Предъявляет ли он особые требования к аппаратной платформе?

• Управляемость: легко ли установить и обслуживать сервер? Совместим ли он с организационными стандартами по ведению журналов, аудиту, оценке затрат и т.д.?

Практическая часть

Установка Денвера

Для установки веб-сервера требуется полноценный доступ к изменению файла hosts, расположенному в папке: C:\WINDOWS\system32\drivers\etc(разумеется, диск и название папки WINDOWS могут быть другими)

1. Запускаем инсталляционный файл Денвера.

2. Указываем, в какой каталог требуется установить комплекс (по умолчанию, все файлы загрузятся в папку C:\WebServers). Все файлы Денвера будут находиться только в этой папке (за исключением трех ярлыков на рабочем столе)

3. Следующий шаг заключается в создании виртуального диска. Придумываем ему имя (например Server) и оставляем умолчание Z:/

4. После копирования файлов дистрибутива будет задан вопрос, каким образом запускать и останавливать комплекс. Пользователю предлагается два варианта

а) создание виртуального диска и запуск Денвера при загрузке компьютера

б) создание виртуального диска и запуск Денвера вручную при щелчке ярлыка запуска (Start Servers) на рабочем столе.

5. Установка комплекса завершена.

Обращаем внимание, что если установка производится под логином «Администратор» (записанном кириллицей), ярлыки на Рабочем столе не создаются. В этом случае они могут быть созданы вручную, используя папку C:\WebServers\etc.

При возникновении проблем с установкой системы Денвер, рекомендуется обратиться за дополнительной информацией на сайт разработчика: http://www.denwer.ru/base.html

Лабораторная работа

Установка web-сервера

Цель работы: получить теоретические и практические навыки по работе с веб-сервером.

Теоретическая часть

Введение

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

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

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

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

Дополнительными функциями многих веб-серверов являются:

• ведение журнала обращений пользователей к ресурсам,

• аутентификация пользователей,

• поддержка динамически генерируемых страниц,

• поддержка HTTPS для защищённых соединений с клиентами.

Что должен делать Web-сервер?

Основное действие конечного пользователя в Интернете – это "переход на Webстраницу". На самом общем уровне это предполагает совместную работу пары приложений:

• Web-браузера, такого как Firefox или Internet Explorer, который показывает в удобной для человеческого восприятия форме запрашиваемую страницу, которую он получает от…

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

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

Web-сервер оценивается по целому ряду важнейших параметров:

• Эффективность: как быстро он отвечает на запрос?

• Масштабируемость: продолжает ли сервер работать надёжно, когда к нему одновременно обращаются много пользователей?

• Безопасность: совершает ли сервер только те операции, которые должен? Какие возможности он предлагает для аутентификации пользователей и шифрования потока обмена информацией? Делает ли его использование более уязвимыми соседние приложения или хосты?

• Работоспособность: какие у сервера режимы отказа и аварийные ситуации?

• Соответствие стандартам: поддерживает ли сервер соответствующие RFC?

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

• Требования к платформе: на каких платформах возможно использование сервера? Предъявляет ли он особые требования к аппаратной платформе?

• Управляемость: легко ли установить и обслуживать сервер? Совместим ли он с организационными стандартами по ведению журналов, аудиту, оценке затрат и т.д.?

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

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

Обзор наиболее распространенных веб-серверов - student2.ru

Обзор наиболее распространенных веб-серверов - student2.ru

Около 90% всех сайтов, согласно недавним исследованиям Netcraft, работают всего на двух из них - Apache и Internet Information Server (IIS). Оба эти сервера – тщательно проработанные продукты, обладающие не только очень длинным списком встроенных возможностей, но и процветающим "вторичным рынком" книг, дополнений, консультаций, провайдеров и т.д.

IIS - это монстроподобный гигант великой компании Microsoft. Установив этакую "штуковину", Вы сразу получаете FTP сервер, WEB сервер, Сервер Почты и многое другое. IIS поддерживает удаленное администрирование, для этого существует специальный web интерфейс. Программа имеет красивый и интуитивно понятный графический интерфейс для контроля и настройки. Несколько разновидностей логов. IIS нуждается в минимальной настройке. Большинству пользователей вполне подойдут настройки по умолчанию. IIS работает только под ОС Windows. Создавая IIS, Microsoft хотела втолкнуть Windows NT на рынок веб-серверов. Если имеется необходимость поставить сервер для большого предприятия, и исторически сложилось так, что сервер работает под Windows NT/2000 - в этом случае IIS для Вас. IIS входит в стандартную поставку Windows 2000 Server и Windows 2000 Advanced Server. Из поддерживаемых технологий следует отметить ASP и работу с ODBC (различные базы данных). Более подробную информация имеется на сайте разработчика http://www.microsoft.com/iis Другой, не менее распространенный сервер - Apache удовлетворяет практически всем потребностям современных веб-разработок, но в то же время он достаточно прост, чтобы его устанавливали программисты для отладки своих программ.

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

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

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

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

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

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

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

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

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

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

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

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

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

Наши рекомендации