Благодаря новогодним каникулам появилась возможность рассказать о проекте OpenVZ Web Panel. Данный проект занял 3-е место в номинации «Индивидуальный проект» конкурса «Лучший свободный проект России — 2010», проводимый журналом «Linux Format» (пруф-линк). Звучит немного пафосно конечно, но, как говорится, слов не выкинешь.

OpenVZ Web Panel представляет собой инструмент для управления серверами OpenVZ через веб-интерфейс. Основные фичи представлены ниже:
В качестве команды для быстрой установки предлагается использовать следующее:
А после установки панель будет доступна по адресу:
Если хочется получить более полное впечатление перед установкой продукта, можно посетить вики-страницу со скриншотами.
По роду своей деятельности мне довольно часто приходится создавать и настраивать машины для разработки и тестирования. Приходится это делать как на работе, так и дома. Физических серверов на все нужды не напасешься, поэтому виртуализация была естественным выбором. На работе для этого я в основном использую Parallels Virtuozzo Containers. Контейнерная виртуализация была выбрана благодаря скорости создания и работы контейнеров, их большой плотности на один сервер и удобству управления. Дома же я решил отказываться от прочих платформ в пользу OpenVZ (которая бесплатна, в отличие от Parallels Virtuozzo Containers). Однако с самой OpenVZ никакой панели управления не поставляется, но в вики есть страничка, где перечислены панели управления, поддерживающие OpenVZ. Правда, ни одна из этих панелей меня не устраивала по той или иной причине.
Довольно долго я управлял серверами OpenVZ с помощью утилиты vzctl через командную строку, но в определенный момент это сильно надоело. Хотелось, чтобы люди имели сами возможность выполнить элементарные операции над своим виртуальным сервером (root-доступ и управление из консоли выглядело не лучшим вариантом). Повторное проглядывание списка существующих бесплатных панелей для OpenVZ ни к чему не привело. Я так и не выбрал проект, который готов бы был допилить. К слову сказать, кандидаты-то были, но сильное влияние Power Panel из Parallels Virtuozzo Containers не позволило сделать выбор. Так была сделана первая попытка написат�� собственную панель используя ExtJS, PHP, MySQL и Zend Framework.
Панель писалась (и пишется до сих пор) в свободное от основной работы время. Имея приличный опыт использования PHP+MySQL (9 лет практики и дважды ZCE), я все равно никак не мог сосредоточиться именно на написании проекта, а не вспомогательного кода. Ввиду небольшого количества времени, которое уделялось проекту, этот факт оказался весьма критичным, так как фичи добавлялись с черепашьей скоростью. Подливало масла в огонь еще и то, что я к тому моменту почитал про Ruby и Ruby on Rails и уже немного попрактиковался в этом. В сентябре прошлого года я решил переписать все с использованием Rails, чему, надо сказать, до сих пор очень рад. Теперь в проекте используется ExtJS, Rails, SQLite. За год он весьма основательно оброс фичами, прошел стадию обкатки и используется уже относительно немалым числом людей.
Проект изначально планировался бесплатным и был выложен в публичный доступ. Нашлись люди, которым проект был интересен и которые, возможно, как и я, были недовольны другими бесплатными панелями. Эти люди предлагали идеи по тем или иным фичам, в целом помогая проекту развиваться. Основные мои нужды по работе с OpenVZ панель уже удовлетворила, однако это не повод останавливаться. В issue tracker множество интересных идей по развитию, и читая их, понимаешь, что хочешь сам пользоваться той или иной фичей. Все это было бы невозможно, если бы проект был закрытым.
Проект создавался исходя из нужд обслуживан��я машин для целей разработки и тестирования. Я не занимаюсь продажей виртуальных серверов и поэтому изначально панель не была ориентирована на данный сегмент. Однако ничто не мешает использовать панель в этой сфере. Более того, я обратил внимание, что небольшие хостинг-компании уже довольно активно используют OpenVZ Web Panel и продают виртуальные машины своим клиентам вместе с панелью. Поэтому, несмотря на мои внутренние нужды, такие фичи как Remote API и интеграция с биллингом WHMCS, тоже уже запланированы на версию 2.0.
Если вы пользуетесь OpenVZ, то, возможно, проект OpenVZ Web Panel вам пригодится. В вики-разделе на сайте проекта есть статьи с инструкциями по установке, конфигурированию, решению проблем. Issue tracker открыт для баг-репортов и новых идей по улучшению. Любая ваша помощь в разработке и развитии проекта — только приветствуется. А в планах и разработке сейчас — версия 2.0.

О главном
OpenVZ Web Panel представляет собой инструмент для управления серверами OpenVZ через веб-интерфейс. Основные фичи представлены ниже:
- интуитивно понятный интерфейс
- автоинсталлятор панели
- поддержка 10 языков интерфейса (в том числе русский и английский)
- создание/удаление виртуальных серверов
- настройка лимитов виртуальных серверов (размер диска, объем памяти, лимиты на CPU)
- возможность подключения нескольких физических серверов
- бэкап/восстановление виртуальных серверов
- клонирование виртуальных серверов
- быстрая переустановка виртуального сервера
- графики использования диска, памяти и процессора
- многопользовательская система с ролями
В качестве команды для быстрой установки предлагается использовать следующее:
wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | shА после установки панель будет доступна по адресу:
http://<your-host>:3000Если хочется получить более полное впечатление перед установкой продукта, можно посетить вики-страницу со скриншотами.
Немного истории
По роду своей деятельности мне довольно часто приходится создавать и настраивать машины для разработки и тестирования. Приходится это делать как на работе, так и дома. Физических серверов на все нужды не напасешься, поэтому виртуализация была естественным выбором. На работе для этого я в основном использую Parallels Virtuozzo Containers. Контейнерная виртуализация была выбрана благодаря скорости создания и работы контейнеров, их большой плотности на один сервер и удобству управления. Дома же я решил отказываться от прочих платформ в пользу OpenVZ (которая бесплатна, в отличие от Parallels Virtuozzo Containers). Однако с самой OpenVZ никакой панели управления не поставляется, но в вики есть страничка, где перечислены панели управления, поддерживающие OpenVZ. Правда, ни одна из этих панелей меня не устраивала по той или иной причине.
Этапы создания
Довольно долго я управлял серверами OpenVZ с помощью утилиты vzctl через командную строку, но в определенный момент это сильно надоело. Хотелось, чтобы люди имели сами возможность выполнить элементарные операции над своим виртуальным сервером (root-доступ и управление из консоли выглядело не лучшим вариантом). Повторное проглядывание списка существующих бесплатных панелей для OpenVZ ни к чему не привело. Я так и не выбрал проект, который готов бы был допилить. К слову сказать, кандидаты-то были, но сильное влияние Power Panel из Parallels Virtuozzo Containers не позволило сделать выбор. Так была сделана первая попытка написат�� собственную панель используя ExtJS, PHP, MySQL и Zend Framework.
Панель писалась (и пишется до сих пор) в свободное от основной работы время. Имея приличный опыт использования PHP+MySQL (9 лет практики и дважды ZCE), я все равно никак не мог сосредоточиться именно на написании проекта, а не вспомогательного кода. Ввиду небольшого количества времени, которое уделялось проекту, этот факт оказался весьма критичным, так как фичи добавлялись с черепашьей скоростью. Подливало масла в огонь еще и то, что я к тому моменту почитал про Ruby и Ruby on Rails и уже немного попрактиковался в этом. В сентябре прошлого года я решил переписать все с использованием Rails, чему, надо сказать, до сих пор очень рад. Теперь в проекте используется ExtJS, Rails, SQLite. За год он весьма основательно оброс фичами, прошел стадию обкатки и используется уже относительно немалым числом людей.
Почему Open Source
Проект изначально планировался бесплатным и был выложен в публичный доступ. Нашлись люди, которым проект был интересен и которые, возможно, как и я, были недовольны другими бесплатными панелями. Эти люди предлагали идеи по тем или иным фичам, в целом помогая проекту развиваться. Основные мои нужды по работе с OpenVZ панель уже удовлетворила, однако это не повод останавливаться. В issue tracker множество интересных идей по развитию, и читая их, понимаешь, что хочешь сам пользоваться той или иной фичей. Все это было бы невозможно, если бы проект был закрытым.
Целевая аудитория
Проект создавался исходя из нужд обслуживан��я машин для целей разработки и тестирования. Я не занимаюсь продажей виртуальных серверов и поэтому изначально панель не была ориентирована на данный сегмент. Однако ничто не мешает использовать панель в этой сфере. Более того, я обратил внимание, что небольшие хостинг-компании уже довольно активно используют OpenVZ Web Panel и продают виртуальные машины своим клиентам вместе с панелью. Поэтому, несмотря на мои внутренние нужды, такие фичи как Remote API и интеграция с биллингом WHMCS, тоже уже запланированы на версию 2.0.
Что дальше
Если вы пользуетесь OpenVZ, то, возможно, проект OpenVZ Web Panel вам пригодится. В вики-разделе на сайте проекта есть статьи с инструкциями по установке, конфигурированию, решению проблем. Issue tracker открыт для баг-репортов и новых идей по улучшению. Любая ваша помощь в разработке и развитии проекта — только приветствуется. А в планах и разработке сейчас — версия 2.0.
