Инсталляция LiLaLo
Материал из Xgu.ru
- Короткий URL: lilalo/install
< LiLaLo
В работе LiLaLo можно выделить несколько составляющих:
- Запись (script),
- Распознавание и отправка (l3-agent),
- Получение и хранение (l3-backend),
- Визуализация (l3-frontend).
В наиболее распространённой (но не единственной) конфигурации запись и распознавание выполняется на одной машине (клиенте), а хранение и визуализация — на другой (на сервере).
Содержание |
[править] Клиент
Для того чтобы начать запись журнала работы, необходимо инсталлировать и настроить l3-скрипт. Процедура инсталляции скрипта описана ниже.
Для обработки данных, записанных l3-скриптом, необходимо установить l3-agent.
[править] Автоматизированная инсталляция
Инсталляцию l3-скрипта и l3-агента можно выполнить с помощью инсталляционного скрипта. Для этого необходимо получить скрипт, запустить его и следовать указаниям.
Перед тем как приступать к процедуре инсталляции, убедитесь, что в системе есть все необходимые компоненты:
- perl
- make
- libmodule-build-perl (для собрки необходимых модулей Perl)
- libc6-dev (для файла /usr/include/iconv.h, необходимого для сборки модуля Text::Iconv)
- gcc (необходим для проверок Perl при инсталляции модулей)
Для создания и загрузки скринштов также необходимы пакеты:
- x11-apps (или другой пакет, в который входит xwd, программа для создания скриншотов)
- curl (необходим для загрузки xwd-файлов на сервер)
На сервере (где установлен l3-backend) также должен быть установлен:
- netpbm (для преобразования xwd-файлов в png)
Для AltLinux Desktop 4.0 ставим:
- perl-Module-Build(вместо libmodule-build-perl и libc6-dev)
После этого можно приступать к инсталляции:
%# wget http://xgu.ru/lilalo/install # или fetch вместо wget для FreeBSD; а ещё лучше curl, если он есть
- lilalo_user — имя пользователя lilalo;
- lab — название первой записи;
- users — имена пользователей системы, которым нужно модифицировать ~/.bashrc и включать автоматическую запись журнала;
на основе параметров lilalo_user и lab строится контекст; первые записи в журнале будут доступны по адресу /l3/users/$lilalo_user/$lab.
%# lilalo_user=vova lab=xen-dom0-setup users="root vova" sh install
Можно поправить параметры непосредственно в файле install:
- lilalo_user — имя пользователя в lilalo(нужно для lilalo_context)
- lab — название "лабораторной" работы(опять же нужно для lilalo_context)
- install_l3bashrc_for_this_users — системные пользователи для которых нужно вести log (записывать все их действия)
- lilalo_context — при использовании l3-backend-сервера xgu.ru(по умолчанию так и произойдёт), ваш лог будет доступен на странице http://xgu.ru/l3/"lilalo_context" (оставляем по умолчанию или меняем по своему вкусу)
Если автоматизированная инсталляция по каким-то причинам не подходит,
необходимо выполнить действия, выполняемые скриптом вручную.
Ниже описана процедура ручной инсталляции l3-скрипта и l3-agent'а.
[править] Ручная инсталляция l3-скрипта
Для того чтобы начать вести журналы LiLaLo, необходимо выполнить следующие действия:
- Создать каталог ~/.lilalo
- Получить скрипт-клиент LiLaLo (далее l3-скрипт) и записать его в каталог ~/.lilalo
- Настроить контекст lilalo
- Добавить в ~/.bashrc строку запуска l3-скрипта.
- Перелогиниться или запустить новый bash
- Убедиться, что запись ведется.
[править] Создание рабочего каталога ~/.lilalo
Каталог, который будет использоваться LiLaLo для записи всех журналов, а также для хранения промежуточных результатов преобразования, до того как они будут отправлены на backend-сервер.
# mkdir ~/.lilalo
Каталог может иметь другое имя. В этом случае нужно будет указать новое имя в l3-скрипте, инсталляция которого описана ниже.
[править] Получение скрипт-клиента LiLaLo
Получите скрипт-клиент (l3-скрипт) и запишите его в рабочий каталог LiLaLo. Получить текущую версию скрипт-клиента можно по адресу: xgu.ru/lilalo/l3bashrc
# cd ~/.lilalo # wget xgu.ru/lilalo/l3bashrc
Этот скрипт будет вести запись сеанса работы с консолью системы. Журналы лабораторных работ, полученные в результате записи, буду находиться в каталоге ~/.lilalo (или в другом рабочем каталоге LiLaLo, заданном на предыдущих шагах).
[править] Настройка контекста LiLaLo
Журналы, записываемые l3-скриптом обрабатываются l3-агентом и передаются на l3-backend. Хранилище l3-backend имеет иерархическую структуру: каждая команда привязывается к какой-то точке - контексту - в иерархии, напоминающей иерархию файловой системы.
Здесь вы указываете, куда будут попадать команды, передаваемые на l3-backend.
Например, команда:
# l3 cd /users/devi/ipsec-openswan
указывает, что команды, которые будут записаны с этого момента попадают в контекст /users/devi/ipsec-openswan.
При использовании backend-сервера xgu.ru они будут доступны по адресу xgu.ru/l3/users/devi/ipsec-openswan
Просмотреть текущий контекст можно командой:
# l3 pwd
[править] Запуск l3-скрипта из bashrc
Добавьте в конец файла ~/.bashrc строку:
. ~/.lilalo/l3bashrc && _l3_start
Она означает: загрузить в текущий командный интерпретатор функции l3-скрипта, находящиеся в файле l3bashrc, и, при условии что загрузка выполнилась успешно, начать запись.
Если запускать это команду вручную, сразу же после её выполнения должна начаться запись.
[править] Перезапуск bash
Для того чтобы изменения в файле ~/.bashrc вступили в силу, нужно перезапустить bash. Для этого нужно или перелогиниться, или запустить новую копию bash.
Если запуск l3-скрипта осуществляется вручную, а не из .bashrc, просто выполните его.
[править] Проверка
По умолчанию l3-скрипт модифицирует приглашение командного интерпретатора так чтобы оно изменило свой цвет. Приглашения пользователя становится зелёным, а приглашение суперпользователя - красным. Изменения цвета приглашения означает то, что сейчас l3-script работает, и запись ведётся.
Убедиться что запись выполняется можно и иначе. Нужно запустить команду w и посмотреть, какая программа работает на текущем терминале. Должна работать программа script.
Например, в данном случае запись выполняется только на терминале pts/11:
# w 15:50:49 up 5:45, 5 users, load average: 0.01, 0.04, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user tty1 - 10:12 2:08 0.59s 0.01s /bin/login -- user tty2 - 11:08 2:09 0.06s 0.01s /bin/login -- user tty3 - 12:17 2:09 0.03s 0.01s /bin/login -- user tty4 - 12:12 2:02 0.06s 0.02s /bin/login -- root pts/11 linux.nt 15:42 0.00s 0.05s 0.04s script -f -q /root/.li
[править] Получение дистрибутива LiLaLo
Для полноценного использования LiLaLo необходимо получить и установить дистрибутив системы.
Получить архив исходных текстов системы можно здесь: http://xgu.ru/lilalo/lilalo.tar.gz
[править] Ручная инсталляция l3-agent
[править] Сервер
Данные, которые l3-agent получит из файлов-журналов, должны быть переданы l3-backend-серверу. Можно воспользоваться уже работающими серверами, например xgu.ru.
Для использования собственного сервера, необходимо инсталлировать и сконфигурировать l3-backend и l3-frontend, а также web-сервер, с помощью которого будет выполняться доступ к l3-frontend'у.
[править] Получение кода проекта
Архив LiLaLo находится по адресу:
Текущая версия LiLaLo лежит в Mercurial-репозитории по адресу:
Для получения проекта нужно установить mercurial и выполнить команду:
$ hg clone http://xgu.ru/hg/lilalo
В каталоге будет находится множество файлов, из которых сейчас интерес представляют три:
- l3-backend
- l3-frontend
- l3-cgi-lite
[править] Инсталляция l3-backend
Скопировать l3-backend:
%# cp l3-backend /usr/bin/ %# chmod +x /usr/bin/l3-backend
Нужно добавить вызов l3-backend в загрузку. Например, в файл /etc/rc.local.
Можно воспользоваться стартовым скриптом /etc/init.d/l3-backend:
%# cp initd-l3-backend /etc/init.d/l3-backend %# chmod +x /etc/init.d/l3-backend
После чего нужно добавить вызовы этого скрипта на соответствующие уровни выполнения (chkconfig, update-rc.d, вручную или как-нибудь ещё).
l3-backend прослушивает сетевой порт, через который к нему поступают распознанные команды.
Записанные журналы попадают в backend_datadir. По умолчанию это каталог:
/var/lilalo/lablogs-xml
Необходимо создать этот каталог.
%# mkdir /var/lilalo/lablogs-xml
Вообще, сейчас l3-backend работает по умолчанию с правами root'а, что совершенно глупо и необоснованно. Его можно запускать с ограниченными правами какого-нибудь пользователя. Лучше всего на роль этого пользователя подойдёт www-data, или любой другой, с правами которого исполняется web-сервер. В будущем (см. LiLaLo_TODO скрипт l3-backend будет удалён как таковой, и команды будут поступать через скрипт l3-cgi-lite |
В этом каталоге (и его подкаталогах) будут создаваться кэш-файлы с HTML-представлением журналов. Поэтому каталог надо сделать доступным для записи web-серверу.
%# chgrp -R www-data /var/lilalo/lablogs-xml %# chmod -R g+ws /var/lilalo/lablogs-xml
После того как каталог создан, можно запускать l3-backend:
%# cd /usr/bin/ %# ./l3-backend
или, если используется стартовый скрипт:
%# /etc/init.d/l3-backend start
[править] Инсталляция l3-frontend
Скопируйте l3-frontend в каталог, который присутствует в PATH (Скрипт l3-frontend вы можете вызывать самостоятельно, и кроме того он будет вызываться CGI-скриптом l3-cgi-lite при просмотре журналов; поэтому имеется в виду не только ваш личный PATH, но и тот PATH, который знает web-сервер).
%# chmod +x l3-frontend l3-cgi-lite l3-upload %# cp l3-frontend /usr/bin/ %# cp l3-cgi-lite /usr/lib/cgi-bin/ %# cp l3-upload /usr/lib/cgi-bin/
Скопируйте каталог со стилями в корневой каталог web-сервера или создайте соответствующий алиас:
%# cp -R l3files /var/www/
После того как файлы скопированы, необходимо создать несколько алиасов в конфигурации web-сервера:
ScriptAlias /l3 /usr/lib/cgi-bin/l3-cgi-lite ScriptAlias /l3-upload /usr/lib/cgi-bin/l3-upload <Directory /usr/lib/cgi-bin/> AllowOverride None Options ExecCGI -MultiViews FollowSymlinks Order allow,deny Allow from all </Directory>
После чего для того чтобы изменения вступили в силу, web-сервер нужно перезапустить.
При обращении к странице /l3 Web-сервера, будет открываться страничка l3-backend'а.
Попробуйте обратиться по адресу:
http://127.0.0.1/l3/
Если вы планируете загружать на сервер картинки и прочие файлы, создайте каталог для их хранения:
%# mkdir /var/www/l3shot
Путь к каталогу для хранения загруженных файлов задаётся параметром upload_dir.
[править] LiLaLo на Xgu.ru
- LiLaLo
- Инсталляция LiLaLo
- Использование LiLaLo
- Устройство LiLaLo
- LiLaLo TODO
- Компоненты: l3-agent | l3-frontend | l3-backend | l3script | l3text