GPL панель управления сервером Vesta

от автора

Сейчас уже сложно сказать, когда имено я начал работу над вестой. Если считать первые скрипты добавления виртуальных хостов в апач, то это был 2007 год. Получается 5 лет тому назад. Помню тогда на работе состоялся примерно такой диалог:
— Ты решил написать свою панель управления?
— Ага, ведь cPanel это ужас, Plesk хоть и лучше, но сильно дорогой. Да и вообще у меня уже почти все готово
— Хм… для того чтобы просто приблизиться к сPanel тепер потребуется миниум 2 года

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

Панель переписывалась с нуля по несколько раз. Переписывалась она в основном потому, что я системный администратор, а не программист. Думаю, что именно по этой причие панель получилась во многом лучше других. В том смысле, что обычно панели управления пишутся программистами для вебмастеров, а системные администраторы остаются за без внимания. Ну если и учавствуют в процессе проектирования, то очевидно, весьма посредственно. В то же самое время, именно системные администраторы работают с панелями управления больше всего. Это был серьезный мотив для старта, но еще большим мотивов послужило отсутсвие GPL аналогов решениям типа Plesk, cPanel и DirectAdmin.

Все началось с скрипта по созданию виртуального хоста apache. Потом появился скрипт удаления. Затем скрипт отображения существующих хостов. Если сейчас набрать в терминале v- и дважды нажать tab, то появится список из 214 доступных команд

Vesta пропитана идеями unix и ее философией. Каждый скрипт решает одну задачу и делает это хорошо. Данные хранятся в простых текстовых файлах. Если скрипт завершился успешно, то он ничего не выведет на экран. Зато, если он завершился неудачно, то помимо кода возврата, будет отображено подробное сообщение об ошибке. Благодаря этим концепциям, скрипты отлично подошли на роль API для веб-интерфейса.

Перед тем как перейти к описанию веб-интерфейса, приведу несколько скриншотов.

Вот так выглядит список пользователей

ниже список web доменов

а в от список крон заданий

Если вы поняли как можно управлять пользователями, это значит, что вы автоматически поняли как можно управлять веб доменами, почтовыми доменами, заданиями планировщика и всей панелью в общем. Через пару минут вы сможете работать в vesta так же быстро, как это делаю я сейчас. Веб-интерфейс максимально сфокусирован на решении конкретных задач. Нужно добавить домен? Пожалуйста, 1 клик. Нужно добавить базу данных? Запросто и снова в 1 клик. Нужно узнать сколько занято дискового пространства? Тут даже кликать не надо. Причем верхняя панель, на которой расположены кнопки сервисов и информационная сводка, всегда остается на верху. Даже если вы просматриваете список из 300 доменов, верхня панель панель будет всегда оставаться сверху.

На данный момент поддерживаются 5 и 6 версии дистрибутивов RHEL, и CentOS. После установки панели управления vesta, вы получите следующий набор ПО:
WEB: Nginx / Apache + mod_ruid2
DNS: Bind
MAIL: Exim / Dovecot / ClamAV / SpamAssasin / RoundCubeMail
DB: MySQL / phpMyAdmin
FTP: VsFTPD

На самом деле vesta поддерживает более широкий набор программного обеспечения. Во время установки, в систему добаляются репозитарии EPEL и Remi. То есть, при желании можно обновить php до версии 5.4. Можно дополнительно установить сервер PostgreSQL, а затем управлять его базами данных используя интерфейс панели. Причем, на одном сервере вполне могут жить, и MySQL, и PostgreSQL. Можно переключиться на использование httpd-mpm-itk или отказаться от nginx. В общем текущий набор ПО пока ограничен возможностями установщика.

Презентационного видео пока нет, но большом желании можно взглянуть на скринкаст установки.

P.S. Официальный сайт панели vestacp.com

P.P.S. Версия 0.9.7 должна говорить о том, что почти все готово 🙂 уже сейчас ее можно использовать как замену проприетарным решениям.

ссылка на оригинал статьи http://habrahabr.ru/post/160355/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *