Администрирование Web-сервера Apache и руководство по электронной коммерции

Скотт Хокинс

Apache Web Server Administration and e-Commerce Handbook
Scott Hawkins
книга Администрирование Web-сервера Apache и руководство по электронной коммерции

Тираж данной книги закончился.
Введение
Рецензии на книгу

Обсуждение книг по Unix и Linux в блоге Виктора Штонда

Эта книга задумывалась как достаточно полное справочное руководство по Web-серверу Apache. Изложенный в ней материал предполагает определенный уровень компьютерной грамотности, но знания сетевых технологий при этом не требуется. Несмотря на то, что основная проблематика книги лежит в области электронной коммерции, в приложениях затронуты самые разнообразные проблемы и информация, необходимая для создания и функционирования Web-сервера. Это проблема соответствия имен и IP-адресов, детали протокола ТСР/IР и синтаксис регулярных выражений. Кроме того, в перспективе Web-администрирования затронуты темы создания системы электронных платежей и взаимодействия с базами данных.

336 стр., с ил.; ISBN 5-8459-0212-6, 0-13-089873-2; формат 70x100/16; 2001, 4 кв.; Вильямс.



Понравилась книга? Порекомендуйте её друзьям и коллегам:







Книги, рекомендуемые вместе с этой книгой:

Разделы каталога:



Предисловие

Резюме

Эта книга задумывалась как достаточно полное справочное руководство по Web-серверу Apache. Изложенный в ней материал предполагает определенный уровень компьютерной грамотности, но знания сетевых технологий при этом не требуется. Несмотря на то, что основная проблематика книги лежит в области электронной коммерции, в приложениях затронуты самые разнообразные проблемы и информация, необходимая для создания и функционирования Web-сервера. Это проблема соответствия имен и IP-адресов, детали протокола ТСР/IР и синтаксис регулярных выражений. Кроме того, в перспективе Web-администрирования затронуты темы создания системы электронных платежей и взаимодействия с базами данных.

Apache

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

Распространение "открытых программных систем" во многом аналогично процессу естественного биологического отбора — все ОС Linux и утилиты sendmail мира постепенно заполняют обложку журнала "Time" и перемалываются рекламной машиной в то время как легионы DOS-утилит медленно, но неотвратимо приближаются к устройству /dev/null истории. Сервер Apache никогда не был бы настолько популярен, если бы он не работал надежно.

Сервер Apache имеет еще одно преимущество не присущее остальным открытым системам: он так прост, что любой достаточно квалифицированный пользователь может овладеть им во всей его полноте. Видит Бог, я не являюсь большим поклонником Microsoft, но если передо мной поставить задачу выбора между ОС Linux и ОС Windows 2000, я бы мгновенно выбрал Windows — не успели бы вы и глазом моргнуть. И, между прочим, это нельзя рассматривать как неуважение к Linux: операционные системы, в частности многопользовательские, очень сложны. Единственный способ сделать их доступными для среднего пользователя — это упрощение.

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

Краткая история

Сервер Apache берет свое начало от сервера httpd, созданного Робом Макколом (Rob McCool) в Национальном центре по применению суперкомпьютеров (National Center for Supercomputing Applications — NCSA). В 1995 году сервер httpd был самым популярным из существовавших тогда Web-серверов, но когда в 1994 Маккол покинул NCSA, развитие программы замерло. Поэтому для его поддержки и развития небольшая группа Web-администраторов сплотилась и образовала ядро организации, которая теперь хорошо известна как "Apache group". Ее членами являются

Брайан Белендорф (Brian Behlendorf)

Рой Т. Филдинг (Roy T. Fielding)

Роб Хартилл (Rob Hartill)

Дэвид Робинсон (David Robinson)

Клиф Скольник (Cliff Skolnick)

Рэнди Тербуш (Randy Terbush)

Роберт Тау (Robert S. Thau)

Эндрю Вильсон (Andrew Wilson)

При тесном сотрудничестве с Эриком Хагбергом (Eric Hagberg), Фрэнком Петерсом (Frank Peters) и Николасом Пиочем (Nicolas Pioch), "Apache group incorporated" опубликовали исправления ошибок для httpd 1.3, добавили несколько новых возможностей и в апреле 1995 выпустили очередную версию сервера под именем Apache 0.6.2.

С тех пор "Apache group", так они вскоре стали известны, посвятили себя настройке и усовершенствованию программного обеспечения. Сейчас имеются версии практически для всех основных операционных систем, хотя платформа Unix среди них является бесспорным лидером.

По своей сути Web-сервер Apache является конечным результатом грандиозного совместного труда группы программистов самой высокой квалификации. Возникает естественный вопрос, что их подвигло на работу над Apache вместо того, чтобы за хорошие деньги разрабатывать обычное коммерческое программное обеспечение. Здесь можно процитировать Web-узел apache.org:

"Сервер Apache существует для того, чтобы обеспечить надежные решения на коммерческом уровне с использованием протокола HTTP. Он является платформой, на основании которой как частные лица, так и организации могут создавать надежные системы и для экспериментальных, и критических задач. Мы верим, что публикуемый в Internet инструментарий, попадая в руки любому желающему или компаниям, занимающимся разработкой программных продуктов, смогут помочь сделать деньги, создавая дополнительные услуги по созданию специализированных модулей и оказывая услуги по технической поддержке. Мы понимаем, что "владение" рынком является экономическим преимуществом, а в программной индустрии это означает, что достаточно контролировать поступления платежей от пользователей программного продукта. Обычно такого положения вещей можно достичь "владением" протоколом, с помощью которого компании ведут свой бизнес. По той причине, что протоколы, использующиеся в Internet, являются "ничейными", он все еще остается полем действия больших и маленьких компаний. Таким образом, представляется возможным предотвратить "частное владение" протоколом и обеспечить существование надежного программного продукта, использующего протокол, доступного абсолютно бесплатно для всех компаний, а это недооценить невозможно."

Открытые программные средства

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

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

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

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

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

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

Структура этой книги

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

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

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

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

Часть I, "Основы"

Часть I посвящена основным концепциям и методам администрирования сервера Apache. Она проведет вас через процедуру получения и инсталляции сервера Apache, настроенного в соответствии с вашими потребностями. Если вы не были знакомы с сервером Apache ранее, то, скорее всего, придется последовательно прочесть все четыре главы, а особенно внимательно главу 1, "Основные концепции". Информации, содержащейся в главах с 1 по 4, вместе с приложениями, будет вполне достаточно, чтобы смог начать работу любой новичок.

Часть II, "Администрирование Web-сервера"

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

Часть III, "Электронная коммерция"

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

Часть IV, "Приложения"

В приложениях имеется информация, которая слишком узкоспециальна для того, чтобы быть включенной в остальные части книги (например синтаксис директив), или которую можно охарактеризовать как сопутствующую информацию (например приложение Е, "Концепция Unix"). Некоторые из них представлены в виде кратких обучающих очерков, другие — как простой справочный материал.

Как работать с этой книгой

В материале, изложенном в книге, можно встретить примеры команд и конфигурационных директив, обычно сопровождающиеся объяснениями, а иногда распечаткой. Подробной информации о синтаксисе директив и системных команд в основных главах нет. Такую информацию можно найти в приложениях, в частности в приложении A, "Основные директивы", и Б, "Прочие директивы". Надо надеяться, что по виду незнакомой вам команды можно определить ее применение.

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

В некоторых случаях начальная тематика определенной главы была заложена в предыдущей главе. Например виртуальные узлы, о безопасности которых говорится в главе 8, "Безопасность", были рассмотрены в главе 4, "Запуск, перезапуск и остановка". Если смысл определенной конфигурационной директивы неясен, можно посоветовать обратиться к предметному указателю или прочесть о ее назначении в предыдущих главах.

Следует подчеркнуть, что в примерах команд операционной системы предпочтение делается в пользу команд ОС Unix в целом и команд ОС Linux в частности. В этом нет никакого совпадения, ведь при написании этой книги в качестве тестового сервера использовалась именно Linux-машина, некоторая часть работ проводилась на ОС Windows NT, Windows 95 и Mac OS X.

Одно из соглашений для ОС Unix, которым я очень горжусь, но которого нельзя встретить нигде в документации по серверу Apache, это практика объявления переменной окружения. В ней может храниться длинный путь к каталогу. В книге можно встретить системную переменную ОС Unix $APACHE, хранящую имя каталога, в котором установлен Web-сервер Apache. (В конфигурационных файлах этот каталог упоминается под именем ServerRoot.)

Типографские соглашения

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

Пример директивы с параметрами

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

ДирективаA

ДирективаB

ДирективаC

ДирективаD

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

Все вопросы, комментарии, исправления или предложения по усовершенствованию можно посылать по адресу [email protected].

Гидра

Вместо послесловия, примите мои соображения о значении создания, изображенного на обложке этой книги. Это гидра, она была нарисована парнем по имени Том Пост (Tom Post). Мифологические звери стали традиционной тематикой оформления обложек книг, посвященных открытым системам, издаваемых издательством "Prentice Hall". Таким образом, гидра является довольно подходящим олицетворением Apache. Ведь многочисленные экземпляры Apache, работающие одновременно на одном компьютере, очень напоминают многочисленные головы гидры. Разве это не так? За столь удачный выбор мифологического образа с острыми зубами хочется поблагодарить моего редактора Майлса Уильямса (Miles Williams), а также за то, что он не надоедал мне всякими единорогами, нимфами и прочей нечистью.


Copyright © 1992-2019 Издательская группа "Диалектика-Вильямс"

Rambler  Top100