Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Глава 20

Поддержка Web-сервера

Многие пользователи не видят различий между системой World Wide Web и Internet в целом, хотя каждый специалист знает, что функционирование Internet обеспечивается большим количеством серверов, поддерживающих различные протоколы. Если же говорить о наиболее популярной службе Internet, то ею, несомненно, окажется Web. Наличие Web-сервера — одно из условий успешной работы практически каждой организации. Web- сервер, по сути, является "лицом" компании в среде Internet.

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

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

Организовать выполнение основных функций Web-сервера в системе Linux не трудно, но разобраться с опциями, предназначенными для поддержки расширенных возможностей сервера, достаточно сложно. Описать эти опции в одной главе невозможно. Если вам потребуется подробная информация о работе Web-сервера, вам следует обратиться к документации на программный продукт, который вы собираетесь использовать, или к изданиям, специально посвященным этому вопросу: Энгельскелла (Engelschall) Apache Desktop Reference (Addison Wesley, 2001) или Олда (Auld) Linux Apache Server Administration (Sybex, 2001). Есть также книги, в которых описываются специальные функции Web-сервера. В качестве примера можно привести книгу Мелцера (Meltzer) и Микалски (Michalski), Writing CGI Applications with Perl (Addison Wesley, 2001).

Использование Web-сервера

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

Web-сервер — это программа, реализующая обмен данными посредством HTTP (Hypertext Transfer Protocol — протокол передачи гипертекстовой информации). Web-сервер принимает запросы от клиентов через некоторый порт (как правило, это порт с номером 80). HTTP-клиент (обычно его называют Web-броузером) передает Web-серверу запрос на получение документа. Получив запрос, Web-сервер читает документ с жесткого диска, или, если запрос предполагает вызов CGI-сценария, получает документ, сгенерированный этим сценарием. Затем документ передается клиенту. В протоколе HTTP предусмотрена также возможность передачи Web-серверу данных для обработки.

Web-сервер используется для организации Web-узланабора документов, к которым пользователи могут обращаться, указывая URL (Uniform Resource Locator — унифицированный локатор ресурса). (Следует различать понятия Web-узел и узел сети. Если Web-узел представляет собой набор документов, то узел сети — это лишь компьютер или другое устройство, подключенное к сети.) Чаще всего URL начинаются с

http://
, но в некоторых случаях в начале указываются другие протоколы, например
ftp://
. Web-серверы поддерживают
http://
и
https://
; другие протоколы поддерживаются другими серверами.

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

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

Следует хорошо представлять себе различия

между Web-узлом и Web-сервером. Web-узел, как было сказано выше, — это набор документов, представленных в Web, при обращении к которым пользователи указывают URL. В этих URL содержится доменное имя, которое часто отражает название организации. В отличие от Web-узла, Web-сервер — это набор программных или аппаратных средств, обеспечивающих поддержку Web-узла. При желании можно организовать работу Web-узла, не устанавливая в локальной сети Web-сервер. Для этого надо воспользоваться услугами сторонней организации, предоставляющей дисковое пространство своего Web-сервера для размещения на нем требуемых документов и программ. Как вы узнаете из данной главы, Web-сервер можно настроить так, чтобы его действия зависели от имени, указанного в запросе. Чтобы при указании имени, принадлежащего вашему домену, обращение осуществлялось к внешнему серверу, на котором размещены ваши документы, вам надо специальным образом настроить сервер DNS (настройка сервера DNS описывалось в главе 18). Например, если вы разместили документы на Web-сервере по адресу 10.102.201.1 и хотите связать с этим сервером имя
www
в вашем домене, вам надо включить в конфигурационный файл DNS следующую запись:

www IN A 10.102.201.1

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

Размещение данных на внешнем сервере имеет ряд преимуществ по сравнению с поддержкой собственного Web-сервера. Например, пропускная способность линии, посредством которой ваша локальная сеть подключена к Internet, может быть недостаточной для организации обмена данными с Web-сервером. (Так, например, линия с пропускной способностью 200 Кбод, которая может находиться в нерабочем состоянии до пяти часов в месяц, хороша для домашнего использования, но не подходит для большой компании, такой как IBM.) Размещая данные на сервере другой организации (например, на сервере провайдера), вы избавлены от необходимости поддерживать собственный Web-сервер. Недостатком такого подхода является необходимость платить деньги за аренду дискового пространства на сервере (от нескольких долларов до нескольких тысяч долларов в месяц, в зависимости от объема данных и трафика). Кроме того, некоторые внешние серверы не обеспечивают необходимых ресурсов. Например, может оказаться, что сервер не поддерживает CGI или SSL.

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

http://www.abigisp.net/~имя/
. Такой подход приемлем для частных лиц и небольших организаций. Однако при этом возможности по представлению данных в Web чрезвычайно ограничены, кроме того, для коммерческой организации нежелательно, чтобы в составе URL указывалось имя провайдера.

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

Поделиться с друзьями: