Pull to refresh

Знакомьтесь, YaST, WebYaST

Lumber room
Awaiting invitation
Доброго времени суток!

Наверное, все те, кто знаком с миром Linux, знают или хотя бы краем уха слышали про менеджер настроек в операционных системах openSUSE, SLED и SLES, гордо называемый YaST. Эдакая «Панель управления» для Linux-систем.

Но немногие в курсе, что год назад на конференции OSC 2010 (openSUSE Conference) был представлен проект WebYaST, переносящий функционал YaST на просторы интернета. Над проектом велась и ведется активная работа, и впервые он стал доступен вместе с операционной системой openSUSE 11.4.

Что же предоставляет WebYaST:
  • Удаленное управление системой, используя только браузер
  • Отсутствие необходимости экспертных знаний по настройке системы
  • Широкие возможности по настройке системы
  • Возможность легкой интеграции сторонних модулей
  • Широкие возможности по брендированию
  • REST-интерфейс

Кого заинтересовало — прошу под кат.
Постараюсь подробнее рассмотреть возможности системы, рассказать о внутреннем устройстве и привести пример установки (осторожно, трафик).

Возможности WebYaST


Итак, на текущий момент доступны следующие возможности:

Конфигурация системы:
  • Базовые настройки сети
  • Базовое управление пользователями
  • Установка и изменение пароля для root-а
  • Настройка уведомлений администратора, включая SMTP
  • Запуск / остановка служб и сервисов
  • Настройки часового пояса, даты и времени

Уравление системой:
  • Обзор статуса системы (используемая / свободная память, использование диска, сетевой монитор и пр.)
  • Просмотр основных Логов
  • Установка обновлений и патчей
  • Удаленная перезагрузка системы

Архитектура проекта


Проект написан на Ruby on Rails и представляет из себя две отдельные системы, Back-end и Front-end, каждый компонент работает отдельно, в качестве веб-сервера используется Nginx.

YaST Webclient

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

YaST Webservice

Это Back-end для WebYaST, он также использует собственную конфигурацию веб-сервера, имеет доступ к системе с особыми правами (но не root-доступ).

Более наглядно архитектура представлена на следующей схеме:
image

Установка


Приведу пример установки, в которой back-end и front-end установлены на одной машине.
Для установки необходимо подключить следующий репозиторий:
zypper ar -r http://download.opensuse.org/repositories/YaST:/Web/openSUSE_11.4/YaST:Web.repo

Далее устанавливаем пакеты с ядром системы:
zypper in webyast-base-ws webyast-base-ui

Теперь можно запустить Back-end:
rcyastws start

По адресу
http://localhost:4984/
должна отобразиться пустая страница, так происходит потому, что мы ещё не установили никаких модулей.
Строго говоря, наборы модулей back-end-а и front-end-а могут отличаться, в зависимости от требуемого функционала. Для обзора предлагаю установить все, что есть:
zypper in webyast-*-ws webyast-*-ui

После завершения установки перезапустим службы:
rcyastws restart
rcyastwc restart

Теперь на странице back-end-а можно увидеть список доступных служб, а сама панель доступна по адресу:
https://localhost:54984/

По-умолчанию вход возможен только под пользователем root администрируемой системы, однако после авторизации, используя компонент Роли, можно предоставить доступ различным пользователям к различным модулям системы.
Переназначить порты, настроить алиасы и прочее можно в соответствующих конфигах Nginx-а.

Веб-интерфейс


Теперь можно посмотреть, как это все выглядит и работает:

image

Страница входа в панель.

image

Главный экран.

image

Управление службами.

Локализация неполная из-за того, что сейчас ведется очень активная разработка, и даже английский вариант постоянно меняется.

Альтернативные интерфейсы


Наличие отдельного back-end-а позволяет использовать не только предлагаемый веб-интерфейс, но и собственные решения.
В качестве примера доступно приложение-клиент для платформы Android: YaSTroid

Разработка


На текущий момент WebYaST доступен для следующих систем: openSUSE 11.3, openSUSE 11.4, SLE* 11, SLE* 11 SP1. В будущем планируется отвязать проект от платформы SUSE и сделать его кроссдистрибутивным.
Исходный код проекта открыт и доступен на GitHub: https://github.com/webyast
Подробнее о разработке можно прочитать здесь.

Сейчас проект очень активно развивается, и было бы интересно увидеть, что же получится в итоге.

P.S. Прямо сейчас, с 11 по 14 сентября в Нюрбурге проходит очередная конференция OSC 2011. К сожалению, не удалось на нее выбраться в этом году, но надеюсь, что сообщество проекта openSUSE и в этот раз представит много интересного.
Tags:
Hubs:
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.