
\documentclass[russian,notitlepage,a4paper]{article}
\usepackage[koi8-r]{inputenc}
\usepackage{babel}


\textwidth=18cm
\oddsidemargin=-1.04cm
%\headheight=0cm
%\textheight=28cm
%\headsep=0cm
%\topmargin=-1.54cm
\newcommand{\href}[1]{\textit{#1}}
\author{Alexander~Bokovoy <ab@avilink.net> \\ ALT Linux Team}
\title{Сервер приложений Midgard}

\begin{document}
\maketitle

\section{Введение}

Midgard 1.4 --- сервер веб--приложений и среда управления документами для веб-сайтов
малого и среднего масштаба. Midgard представляет собой открытую среду, создаваемую
и распространяемую в виде открытого программного обеспечения общественной организацией
The Midgard Project Ry, зарегистрированной в Хельсинки, Финляндия, и объединяющей
всех разработчиков проекта, в какой бы стране мира они не проживали.

Midgard представляет собой трехуровневую систему, в которой для хранения данных
используется СУБД MySQL, взаимодействие с пользователями происходит осуществляется
посредством веб--сервера Apache, а возможности расширения обеспечивает язык сценариев
PHP (поддерживаются обе основные версии PHP --- PHP3 и PHP4). Приложения, разработанные
с использованием Midgard, обладают высокой производительностью, поскольку
ядро системы написано на языке C и оптимизированно для работы под нагрузкой,
свойственной современным веб--сайтам.

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

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

Административная среда Midgard 1.4 называется Asgard\footnote{Согласно скандинавским
сагам, \textit{Мидгард} представляет собой мир, в котором обитают люди, а \textit{Асгард}
--- престол богов. Кодовое имя этой версии Midgard --- \textit{Bifrost} --- отражает 
название радужного моста, который соединяет Мидгард и Асгард. Преодолевая этот мост,
люди--герои могут попасть в мир богов}. Она сама является примером приложения, разработанного
в среде Midgard, и позволяет разработчикам управлять всеми компонентами
системы через удобный веб--интерфейс. С помощью нее становится возможным,
например, на лету изменять такие характеристики веб--сайта, как 
доменное имя, номер порта, переключать его из открытого режима в
защищенный (SSL), не требуя остановки самого веб--сервера Apache.

В составе дистрибутива Migdard представлен пятью пакетами, четыре из которых обязательно
должны быть установлены для работы всей системы. Пакет \textbf{libmidgard} содержит
базовую библиотеку и утилиты низкого уровня, \textbf{mod\_midgard} ---
модуль для веб--сервера Apache, выполняющий роль диспетчера запросов.
Пакет \textbf{php-midgard} содержит модуль для языка PHP4, позволяющий
программам, написанным на этом языке, обрабатывать данные, хранящиеся
в базе данных Midgard. В пакете \textbf{midgard-data} находится
система администрирования Asgard и демонстрационные примеры.
Если Вы собираетесь принять участие в работе проекта Midgard, то
рекомендуем также установить пакет \textbf{libmidgard-devel},
содержащий компоненты и API для разработчиков на языке C.

После установки четырех основных компонент необходимо запустить программу
настройки базы данных \\
\verb~/etc/httpd/conf/addon-modules/midgard-db-install.sh~ и
следовать ее вопросам. В результате работы программы установки будет
создан файл конфигурации виртуального сервера для веб--сервера Apache,
который Вам будет необходимо скопировать в каталог настроек виртуальных
серверов Apache \verb~/etc/httpd/conf/vhosts~ и добавить ссылку на
него в основной файл конфигурации веб--сервера \verb~/etc/httpd/conf/httpd.conf~:

\begin{verbatim}
# Добавьте эти строки в конец httpd.conf, если они там отсутствуют
Include conf/addon-modules/mod_midgard.conf
Include conf/vhosts/midgard-data.conf
\end{verbatim}

\textit{Примечание}: Вы можете поправить настройки по Вашему желанию, руководствуясь комментариями
в файле midgard-data.conf, однако до первого запуска Midgard и ознакомления
с документацией мы не рекомендуем это делать.

После этого необходимо перезапустить веб--сервер (\verb~/sbin/service httpd restart~)
и при помощи браузера Netscape, Mozilla, Konqueror или Lynx обратиться по адресу
\href{http://127.0.0.1:8888/asgard/}. На запрос имени пользователя и пароля
введите \textbf{admin} в качестве имени и \textbf{password} в качестве пароля.

Asgard поддерживает несколько интерфейсов пользователя и выбрать нужный можно
в меню \textit{Options}. Особенностью Midgard является использование технологии
SiteGroups для разграничения информации о различных группах сайтов внутри
одной базы данных. Войдя в систему с указанием конкретной сайт--группы,
пользователь видит только ресурсы этой группы и ресурсы специальной
сайт--группы SG0, в которой находится Asgard. При этом ресурсы своей
сайт--группы доступны пользователю на запись и чтение в соответствии с
установленными на них правами, а ресурсы из SG0 доступны только на чтение.
При выполнении любого приложения на Midgard происходит тоже самое ---
оно автоматически ограничивается в доступе в рамках выбранной для
него сайт-группы.

Более подробную информацию о работе с Midgard можно получить в документации,
ссылки на которую присутствуют на главной странице Asgard.

\end{document}