Pull to refresh

Webmin — такой, каким мы все хотели бы его видеть

Reading time3 min
Views52K
Webmin — это web-интерфейс для системного администрирования Unix. Кто из системных администраторов не знает об этом?

Также все знают, что проект Webmin был начат очень давно (около 15 лет назад), что наложило свой отпечаток на управление и интегрирование современных тем (оформлений) для панели. Часть современных модулей в Webmin управляются посредством библиотеки под названием ui-lib.pl, входящей в его дистрибутив, которая и обрабатывает поступающий на дальнейшее отображение модуль. Только вот проблема заключается в том, что множество из представленных модулей, в силу своей древности, вовсе не взаимодействуют с библиотекой упомянутой выше. Старые модули просто создавались каждый в отдельности, как получится. По словам разработчиков, проблему полного разделения логики и презентации планируется полностью устранить в версии Webmin 2.0, но это случится годами позже.

Сегодня создать идеальную тему оформления панели, соблюдая все современные правила и стандарты, крайне не просто. Поставив данную задачу перед собой, и потратив около 200 часов работы, в конечном счете, я получил результат, который оказался превосходящим все мои первоначальные ожидания.

Презентация





Для построение темы, которую я назвал Authentictheme for Webmin/Usermin/Virtualmin/Cloudmin based on Bootstrap and Font Awesome that is made with love. Изначально, я использовал альфа-релиз на тот момент существовавшей темы, которая использовала Bootstrap и Font Awesome. Только тот самый альфа-релиз был не пригоден для каждодневного использования, в силу того, что работал только примерно с 10% всего контента панели управления. Плюс ко всему ошибки, допущенные при разработке предыдущими авторами, не позволяли в большей половине случаев даже сохранить изменения, поскольку форма попросту не содержала необходимых (потерянных) атрибутов.

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

Authentic работает под управлением последних версий Bootstrap и jQuery, использует Font Awesome, CodeMirror и несколько других современных плагинов.

Принципы


  • Тема должна работать со всеми Webmin/Usermin модулями;
  • Быть приятной, быстрой, легкой и простой в использовании;
  • Быть совместима со всеми платформами и мобильными устройствами.


Функциональная возможность (на момент версии 13.0.0)


  • Редактируемые настройки темы при использования интерфейса Webmin;
  • Автодополнения при поиске в выборе меню, названию виртуальных серверов/машин;
  • Горячие клавиши для быстрого переключения
  • Уведомления по безопасности
  • Расширенная поддержка для ConfigServer Security & Firewall, с дополнительно интегрированными функциями поиска и фильтрации;
  • Выделение цветом кода, с номерами строк, при редактировании файлов конфигурации вручную;
  • Возможность добавлять собственный логотип;
  • Беспрецедентно одинаково удобная и полная навигация, как на Desktop, так и на Mobile версии.


Как установить тему Authentic?


Для получения инструкций по использованию темы просто посмотрите ЧаВО на моем репозитории на GitHub, там все детально описано. Советую прочитать раздел про создание symlink для темы Usermin во избежание ненужной работы.

Для тех, кто просто хочет скачать и установить тему:
  1. Загрузите готовую тему;
  2. Установите ее для Webmin, следуя в Webmin->Webmin Configuration->Webmin Themes->Install themes->From uploaded file или для Usermin следуя в Webmin->Usermin Configuration->Usermin Themes->Install themes->From uploaded file.

В случае если на сервере уже установлены модули Virtualmin/Cloudmin, то делать ничего не нужно, все просто будет работать.

Важной деталью является то, что для полноценной работы темы, нужны последние версии Webmin/Usermin/Virtualmin/Cloudmin. Минимальные требования для Webmin — версия 1.730, для Usermin — версия 1.640, для Virtualmin — версия 4.14, а для Cloudmin — версия 8.01.

Тема включена в официальный дистрибутив Webmin и ведется разговор о том, чтобы сделать Authentic Theme темой по умолчанию.

Всем спасибо за внимание.
Tags:
Hubs:
Total votes 36: ↑31 and ↓5+26
Comments70

Articles