Thanks to the New Year holidays, there was an opportunity to talk about the
OpenVZ Web Panel project. This project took the 3rd place in the nomination "Individual Project" of the contest "The Best Free Project of Russia - 2010", held by the magazine "Linux Format" (
proof-link ). It sounds a little pathetic of course, but, as they say, you can’t throw the words out.

The main thing
OpenVZ Web Panel is a tool for managing OpenVZ servers through a web interface. The main features are presented below:
- intuitive interface
- auto installer panel
- support for 10 interface languages (including Russian and English)
- create / delete virtual servers
- setting virtual server limits (disk size, memory size, CPU limits)
- ability to connect multiple physical servers
- backup / restore virtual servers
- virtual server cloning
- quick reinstall virtual server
- graphics disk usage, memory and processor
- roleplayer multiuser system
The project is located on the hosting code from Google at
http://code.google.com/p/ovz-web-panel/As a quick installation command, it is suggested to use the following:
wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh
After installation, the panel will be available at:
http://<your-host>:3000
If you want to get a more complete impression before installing the product, you can visit the
wiki page with screenshots .
')
A bit of history
By the nature of my work, I often have to create and configure machines for development and testing. We have to do this both at work and at home. There are no physical servers for all needs, so virtualization was a natural choice. At work, I mainly use
Parallels Virtuozzo Containers for this. Container virtualization was chosen due to the speed of creation and operation of containers, their high density per server and ease of management. At home, I decided to abandon other platforms in favor of
OpenVZ (which is free, unlike Parallels Virtuozzo Containers). However, no control panel is supplied from OpenVZ itself, but the wiki has a page listing the control panels that support OpenVZ. True, none of these panels suited me for one reason or another.
Stages of creation
For a long time, I managed OpenVZ servers with the help of the vzctl utility via the command line, but at some point it got very tired. I wanted people to have the opportunity to perform elementary operations on their virtual server themselves (root access and control from the console did not look like the best option). Re-looking through the list of existing free panels for OpenVZ did not lead to anything. I never chose a project that was ready to finish. By the way, there were some candidates, but the strong influence of the Power Panel from Parallels Virtuozzo Containers did not allow us to make a choice. This was the first attempt to write a custom panel using ExtJS, PHP, MySQL and the Zend Framework.
The panel was written (and is still being written) in its free time from the main work. Having a decent experience of using PHP + MySQL (9 years of practice and twice
ZCE ), I still could not concentrate on writing the project, and not the supporting code. Due to the small amount of time spent on the project, this fact turned out to be very critical, as features were added at a snail's pace. I also added fuel to the fire that by that moment I read about Ruby and Ruby on Rails and had already practiced a little bit of this. Last September, I decided to rewrite everything using Rails, which I must say is still very happy. Now the project uses ExtJS, Rails, SQLite. Over the year, he has very thoroughly acquired features, has passed the run-in stage and is already used by a relatively large number of people.
Why Open Source
The project was originally planned to be free and was posted to the public. There were people who were interested in the project and who, like me, were probably unhappy with other free panels. These people offered ideas for certain features, generally helping the project to develop. My basic needs for working with OpenVZ panel have already been satisfied, but this is not a reason to stop. In the issue tracker there are a lot of interesting ideas on development, and reading them, you understand that you want to use this or that feature yourself. All this would have been impossible if the project were closed.
The target audience
The project was created based on the needs of servicing machines for development and testing. I do not sell virtual servers and therefore the panel was not originally focused on this segment. However, nothing prevents the use of the panel in this area. Moreover, I noticed that small hosting companies are already quite actively using the OpenVZ Web Panel and sell virtual machines to their customers along with the panel. Therefore, despite my internal needs, features such as the Remote API and integration with the WHMCS billing system are also already planned for version 2.0.
What's next
If you are using OpenVZ, then perhaps the
OpenVZ Web Panel project is useful to you. The wiki section on the project site has
articles with instructions for installing, configuring, and solving problems.
Issue tracker is open to bug reports and new ideas for improvement. Any of your help in developing and developing the project is welcome. And in the plans and development now - version 2.0.