Xitami: достойная альтернатива

Автор: Aport Среда, Ноябрь 19th, 2014 Нет комментариев

Рубрика: Software

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


Web-сервер Xitami выпускается бельгийской компанией iMatix, специализирующейся на инновационных решениях в области сложных корпоративных информационных систем, а также концептуальных платформ электронной поддержки бизнеса. За годы своей деятельности фирма выпустила немало собственных средств разработки, однако наибольшей известностью среди ее продуктов пользуется именно Xitami, число пользователей которого приближается к полумиллионной отметке. Причины популярности этой программы очевидны: она бесплатна, проста в настройках, но в то же время обеспечивает функциональность ни в чем не уступающую, а подчас и превосходящую возможности признанного лидера рынка Web-серверов — Apache. Особенно это относится к версии для Windows (считается, что Win32-порт Apache не совсем удачен). Конечно, на этом сегменте рынка у Xitami имеются мощные конкуренты в виде PWS и IIS, но эти серверы очень требовательны к ресурсам системы. Xitami же, будучи запущен как сервис ОС, работает практически незаметно для пользователя РС и не замедляет общее быстродействие машины.

Инсталляция


Дистрибутив Xitami мы загружаем со страницы проекта www.xitami.com/download.htm. На момент написания статьи текущей рабочей версией была 2.4d9, а 2.5 находилась в стадии бета-тестирования. Возможно, к выходу номера произойдет ее релиз, так что проверьте указанный адрес.


Во время инсталляции Мастер задаст вам несколько вопросов в интерактивном режиме. Они будут касаться установочной директории (по умолчанию подключенные к серверу сайты будут также находиться внутри нее), способа загрузки (автоматический или ручной), а также желаемой скорости работы (фактически речь идет об уровне приоритета данного процесса; если вы не ожидаете ежедневного наплыва тысяч пользователей, смело оставляйте установку по умолчанию). Собственно, на этом процесс установки завершается. Теперь вам остается запустить Xitami и попытаться обратиться к нему через свой браузер. Для этого даже не обязательно выходить в Интернет, т. к. сервер понимает адрес типа http://localhost или http://127.0.0.1. Если при этом вы увидите страницу, похожую на ту, что изображена на рисунке, это будет означать, что инсталляция прошла успешно. Как показывает опыт, Xitami вообще несвойственно «капризничать» при установке, да и во время эксплуатации.

Поддержка скриптов


Xitami в полной мере поддерживает CGI-скрипты, широко используемые при создании динамических Web-страниц. При этом сам сервер как таковой не занимается обработкой сценариев, передавая в этом случае управление соответствующему интерпретатору. Так, если вам требуется исполнять скрипты, написанные на Perl, поддержка этого языка должна осуществляться на уровне операционной системы. К самим же программам предъявляется единственное требование: они должны храниться в директориях с именем cgi-bin (которые в свою очередь могут находиться на любом уровне вложенности). Поэтому оба следующих адреса для сервера одинаково допустимы:

http://myxitami.com/cgi-bin/logon

http://myxitami.com/mysite/users/cgi-bin/logon

Разработчики советуют давать сценариям имена без расширений. Страницы, написанные при помощи PHP, не являются CGI-скриптами и поэтому могут располагаться в любом доступном месте вашего сайта. В конфигурационном файле в этом случае следует найти раздел [Filter] и добавить в него строку .php=c:phpphp.exe
или иной путь до интерпретатора РНР, если он проинсталлирован в каталог, отличный от указываемого по умолчанию.

Настройка конфигурации


При инсталляции Xitami помещает свой апплет в Панель управления компьютера, при помощи которого работу сервера можно приостанавливать и возобновлять, а также открывать окно настроек. Конфигурирование Xitami происходит через Web-интерфейс по адресу http://127.0.0.1/admin. Несомненным достоинством программы является то, что она нормально работает даже с установками по умолчанию. Тем не менее в дальнейшем вам, скорее всего, потребуется внести изменения в настройки запуска скриптов, протоколирования событий и в первую очередь безопасности.


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

Контроль и учет


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

Модули расширения


Xitami позволяет наращивать мощность сервера по мере возникновения потребностей. Хотя в базовой конфигурации программа уже в силах справиться с большинством возникающих задач, богатый набор модулей расширения, бесплатно загружаемых с Web-страницы разработчиков, поможет решить и нестандартные проблемы. Функциональность этих модулей направлена в первую очередь на поддержку тех Web-технологий, которые не были включены в основной дистрибутив. На сегодняшний день благодаря плагинам Xitami работает с фильтрами ISAPI и поисковой системой Swish, обрабатывает страницы, использующие технологию ColdFusion и сервлеты Java. К тому же список модулей постоянно расширяется, охватывая все новые и новые области Web-программирования.

Базовые параметры


Первый экран настроек — Server Properties — содержит наиболее общие параметры, большинство из них лучше оставить в том виде, который предлагается по умолчанию. Так, Main HTML Directory задает корневую папку для всех Web-узлов, а Main CGI Directory указывает то место, которое отводится под CGI-сценарии. Запомните их адреса: если положить полностью работоспособный сайт в другую директорию, Xitami попросту «не заметит» его.


Параметр Default HTML Page указывает серверу, какой документ ему следует искать, если при запросе пользователь указал в явном виде только директорию, относящуюся к данному сайту (подавляющее большинство ваших посетителей, скорее всего, будут поступать именно так). Здесь можно ввести до четырех различных имен; в дальнейшем при разработке контента старайтесь унифицировать названия домашних страниц узлов. Max. HTTP Connections — количество параллельно обрабатываемых сервером соединений. Теоретически Windows позволяет одновременно открывать сколь угодно много соединений без потери скорости обслуживания каждого из них. Но на практике наблюдается обратная пропорция между количеством и качеством, поэтому стоит установить жесткое ограничение на уровне 20–30 подключений (если, конечно, ваш сервер не используется для хостинга Web-чатов или многопользовательских онлайновых игр). В конечном итоге в учет придется взять и скорость канала, и производительность системы в целом: ясно, что Pentium III на выделенной линии в 10 Мбит способен обслужить одновременно больше посетителей, чем «четверка» на модеме 14 400. С подключением связан и параметр Server IP address: в том случае, если ваш компьютер обладает несколькими сетевыми интерфейсами, здесь следует указать, по какому из них будут доступны ваши Web-узлы.

Виртуальные хосты


Вы уже должны были заметить, что один запущенный экземпляр Xitami способен управлять целой цепочкой Web-узлов. Это достигается несколькими способами. Самый простой, практически не требующий дополнительных настроек, заключается в разнесении контента различных сайтов по разным папкам основной директории webpages (или ее заменяющей, если вы изменили этот параметр на предыдущем шаге). В результате адреса всех узлов будут содержать общее начало типа www.myxitami.com, а отличаться только суффиксной частью. При желании каждый из них можно защитить отдельным паролем, что исключит вероятность доступа несанкционированных посетителей в ту или иную область сервера (об установлении политики безопасности мы поговорим чуть позже).


Более сложный (но зато и более правильный) подход связан с использованием так называемых виртуальных хостов, создающих иллюзию физической обособленности каждого из запущенных на вашей машине узлов. Правда, для этого сначала понадобится определенным образом настроить сам компьютер: поскольку каждому сайту будет соответствовать свой адрес, у системы должен быть определенный запас последних. Это делается двумя способами. Если у вас установлено несколько сетевых карт (их количество ограничивается только свободными интерфейсными разъемами) или одна, поддерживающая мультиадресацию, то идентификация узлов будет производиться по их IP-адресам. В противном случае вам понадобится помощь DNS-сервера, в котором различные символьные адреса станут указывать на один и тот же IP-адрес. Наверняка в вашей локальной сети присутствует свой DNS-сервер, так что попросите его администратора добавить соответствующие записи.

В конфигурационном файле найдите фрагмент:
[Virtual-Hosts]
# Specified by name
# www.somehost1.com=host1.cfg
# Specified by IP address
# 220.12.25.250=host2.cfg

Верхние две строки, как вы видите, отвечают за DNS-адресацию, нижние — за IP. В зависимости от выбранного пути удалите значок комментария и отредактируйте таким образом, чтобы строка соответствовала вашим настройкам. По мере возникновения новых виртуальных хостов просто добавляйте строки по такому же шаблону. Обратите внимание, что для каждого из этих узлов вам потребуется создать свой файл *.cfg, в котором прописываются его настройки, в первую очередь — физический путь к папке, содержащей контент сайта. В визуальном режиме за настройку виртуальных хостов отвечает раздел Virtual Host Wizard.

Безопасность


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


Вся защита применяется на уровне отдельных ресурсов сервера: папок и документов. По умолчанию во время инсталляции программа устанавливает несколько защищенных зон, например папку Private. Вам не известен пароль, который дает доступ к этому фолдеру, поэтому, если вы попробуете направить браузер по адресу http://localhost/private, Xitami попросит ввести подобающие имя пользователя и пароль. Учетная запись администратора, которую вы ввели при установке, здесь не сработает! Поэтому найдите файл defaults.aut (в файле с таким расширением сервер хранит все данные о паролях и пользователях), а в нем раздел, выглядящий следующим образом:
[Private]
UserName=UserPwd
Изменив эту строку по своему усмотрению, вы получите доступ к прежде закрытой области на Web-сервере. Аналогичным образом устанавливается защита и для других ресурсов; скажем, если вам надо закрыть доступ к странице myprofile.htm в папке узла MySite, всем, кроме посетителя Eugene с паролем Pietrrowitch, то в конец файла defaults.aut добавляется запись.
[MySite/myprofile.htm]
Eugene=Pietrrowitch

Путь к защищаемому ресурсу можно указывать в любом регистре, т. к. сервер все равно переведет его в нижний, а вот чувствительность паролей к строчным и прописным буквам задается через визуальный менеджер в разделе Security. Здесь же вводится и IP-маска для ограничения доступа к Xitami на глобальном уровне; указанный в ней шаблон адресов служит для проверки всех запросов на установку соединения. Если вы укажете в данной графе «*», то доступ будет гарантирован любому пользователю Интернета, «195.61.121.*» ограничит список допустимых адресов клиентами сети с адресами диапазона от 195.61.121.1 до 195.61.121.254 и т. д. Для запрета доступа тем или иным адресам запись их маски начинается со знака «!».

FTP-сервис


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


Первым делом следует задать корневой каталог (FTP root directory) и соответствующий ему список пользователей с паролями; он формируется по тем же правилам, что и в случае с Web-сервером. Обратите внимание, что здесь присутствуют два различных списка: один отвечает за идентификацию посетителей, второй определяет, какими правами в том или ином каталоге наделен данный гость. Далее, было бы неплохо установить для сервера режим квотирования, т. к. в противном случае любой посетитель сможет перемещать неконтролируемые объемы данных. Идентификационные файлы для FTP-сервиса называются ftpdirs.aut и ftpusers.aut. Если вы их откроете, то заметите, что каждому пользователю приводится в соответствие параметр Access. С его помощью вы определяете тот набор операций, который разрешается производить данному человеку: G позволяет скачивать файлы с сервера, Р — загружать на сервер, D — удалять файлы, R — удалять целые директории и, наконец, М — создавать новый папки. Проделав последовательно описанные выше шаги, вы настроите на своем компьютере полнофункциональный Web-сервер, не уступающий большинству коммерческих продуктов своего класса. Конечно, все тонкости настройки и администрирования Xitami в рамках одной статьи дать невозможно, но по мере того, как вам потребуются более продвинутые опции сервера, вы без труда отыщете их описание в подробной справочной информации, входящей в комплект поставки программы. Для этого всего лишь направьте свой браузер по адресу http://localhost/xitami/index1.htm#toc.

 

Источник: winzone.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты