Web Hosting Panel
If you have ever bought or used shared web hosting space, you are probably familiar with cPanel. The purpose of a Web Hosting panel, such as cPanel, is to create a graphical user interface for basic web server maintenance tasks such as creating websites, databases and FTP accounts. The idea is to take the messy linux config files out of web server maintenance and complete all our basic tasks with a nice human readable interface that even less technically inclined end users can use.
Although cPanel is the, no-questions-asked, industry standard in web hosting, it is unfortunately not free. The license fee’s, around $15-$20 a month per server, is fair enough for corporations, web hosting providers, and other large site owners but for the casual website owner on a budget that can be a pretty big extra chunk of change.
Luckily for us there are a number of open source (or otherwise free) web hosting panels. Unfortunately none of them quite measure up to the depth of cPanel, but the options are solid and great for server owners on a budget.
Top cPanel Alternatives
In this guide I will cover what I believe to be the top alternatives to cPanel:
VestaCP – * Top Choice *
Link: VestaCP Homepage
VestaCP is a free and open source web panel for Debian, Ubuntu, RHEL and CentOS Linux distributions. VestaCP is extremely fast and light weight and focuses on minimalism and simple usability.
VestaCP will install a “LNAMP stack” which means it uses both Apache and Nginx together. Nginx will act as our front end (“Proxy”) and it will serve all static content. Any Dynamic content will be passed down to Apache and handled there. The result is an ultra fast and low ram usage server taking advantage of both web server’s strengths.
Installation of the panel is extremely simple and quick. Simply download the script to a fresh linux installation and run it:
curl -O http://vestacp.com/pub/vst-install.sh
The panel itself is extremely lightweight and easy to navigate. It features all the basic necessities you would expect from a web panel such as adding domains, DNS, Mail, Databses, Users, etc etc. It also some very basic admin features such as log checking, statistics, performance graphs and automated backups.
One area where the control panel lacks a bit is the depth of configuration. The panel focuses on simplicity and the cost of that is the ability to get into the nooks and cranny’s of server maintenance. Some examples I encountered were the lack of options for offsite backups, inability to relocate the physical path of a website as well as the inability to create a subdomain/subserver, requiring you to set it up as it’s own domain.
VestaCP has a good track record for security. The panel does have a tendency however to email user credentials in plain-text. This can be disabled though by not providing an email address where it asks who to email credentials to.
Documentation & Support
What documentation is available is quite good, concise and to the point but I found myself looking for answers to lots of questions that were not there. The support forums are largely in Russian so if you are unable to speak Russian you may be left in the dust or depending on rough Google translations.
Virtualmin/Webmin – * Top Choice *
Link: Virtualmin Homepage
Virtualmin / Webmin is a software suite with a free version licensed under GPL. While it lacks the visual finesse of some of the other offerings, it is a power house of configurability. Not only is it the cadillac solution of free web panels, it is also has a nice feature allowing us to import websites from cPanel backups, allowing us to transfer our sites off a shared host to a VPS/Dedi with ease.
Installation is a breeze. Simply download the script and run it. It works on a large variety of linux distrubtions.
I have installed Virtualmin on 5-6 servers now and have noticed some trouble with some OpenVZ servers in which does not correctly detect the network connection to use, and it uses a local loopback device rather the external connection. It was however easily corrected once I found the right settings in the control panel.
On first run you will additionally go through a wizard to set some basic level of configuration which was a nice touch missing in other packages I tested.
Although Virtualmin has some really deep customizations, it also does a good job of hiding them under the hood and presenting the user with a simplified UI at first. Setting up my first website was straight forward and mostly automatic process.
Yes, I’ll say it again, the customizations are deep. Between Virtualmin and Webmin you will find every nook and cranny that can be configured presented to you. I read a good post about Webmin suggesting that it teaches users how to use Linux and think in Linux terms, even though you are not editing configuration files directly. That is really spot on.
Virtualmin has a good security track record.
Documentation & Support
Documentation was somewhat hit or miss, but the popularity on longevity of Webmin/Virtualmin means there is countless of support posts in the forums. I ran into some really specific issues and was able to find answers to my questions everytime.
Link: Ajenti Homepage
Ajenti is a free-for-personal-use server admin panel. It is plugin focused and therefore is able to support a number of different software stacks for web hosting, including what is being called the “Pro Stack” which is quickly gaining in popularity. A pro stack is an Nginx driven server using PHP5-FPM. This allows the server to run on a small memory footprint even with high concurrent users. The trade off is that it is known to place a heavier load onto the processor.
Installation was fairly straight-forward however I found I had to go outside the included documentation for information. The script installer did not seem to work directly on CentOS 6.5 and required EPEL repositories to be added first which was not covered in the documentation.
Not a huge deal as I was still able to get the software installed without much hassle and in a short period of time.
The interface is fairly minimal at first, but you quickly realize that the menu items can get pretty deep into customizations. Setting up a website was a couple step process and the interface froze up on me a few times while doing a “configuration check”. Configuration seems to requires some element of an understanding of web server maintenance and isn’t as intuitive as a process as in cPanel/WHM.
Customizations are quite deep. If you take the time to learn the interface I believe you could accomplish almost all your server maintenance tasks from within the UI. Additionally the power of user built plugins really opens up your options.
Ajenti has a good track record in security. They do however assign a default password to the root account of “admin” and do not force a password change on login. I believe there are likely hundreds of Ajenti driven servers out there that could easily be logged into as a result.
Documentation & Support
Some of the documentation during installation and initial configuration seemed incomplete and out of date. There are extensive forums however for support.
Link: Webuzo Homepage
You may have already heard of Softaculous. Their primary software is a script deployment system that has hundreds of scripts in it (like blog software, forum software, online games, etc) and can be configured into cPanel. Webuzo is also their product. It is a free for personal use (single user) panel that has a remarkable likeness to cPanel.
The free software is offered and has a version of Softaculous included in that has a small portion of the available scripts. ie: Their goal here is to get people on their platform with the free software and then get them to upgrade to a full version of Softaculous after getting them hooked on the script deployer.
The panel is quite obviously focused on script deployment, but that can be overlooked and just use the web admin panel for what it is.
Another wonderfully simple installation. Download the script and run it. The rest is up to the script and first-run of the software.
Webuzo’s “End User” interface is essentially a pixel per pixel copy of cPanel. They did a great job of bringing the simple yet effective web maintenance solution to their panel. What is lacking however is the powerful backend you get with WHM, which there is certainly not really an equivalent of here. Webuzo is focused on the user front end and not much more.
I have to admit something. I was not able to get a website actually running on Webuzo. I may have missed something small and silly but my basic wordpress test install just goes to a 500 script error page. No search for support was able to help me get through the issue although I admit I was not looking to devote a full day to trying.
Depth of configuration is not a key focus of this software. It performs all the basic tasks, similar to cPanel, without any of the real under the hood customizeability.
I have not heard of any major exploits with Webuzo.
Documentation & Support
The documentation is obviously more focused on their script installer then anything else. I found it lacking, however they have a decent forum. I was not able to work through my website configuration issues using their online documentation or forums.
Link: Kloxo-MR GitHub
Kloxo-MR is a fork of a popular, but not particularly active control panel Kloxo (previously called lxAdmin). Kloxo-MR is a free and open source control panel and is one of the top and most full featured control panels I have tried. On top of all the regular web control panel features for DNS, Mail, etc, it also comes with a script installer similar to Softaculous/Fantastico supporting over 100 web applications and has a sister application HyperVM allowing you to turn a dedicated server into an OpenVZ/KVM virtualization environment.
Kloxo only supports CentOS.
Installation went fairly smoothly. The steps for installation were a bit more involved then it’s competitors which are purely script based, but the instructions from the Kloxo-MR website were concise enough to get through the process with little trouble. I did have one issue following installation where Hiawatha web server loaded and Apache didn’t and it left me unable to run any websites. However, the issue looked common enough that I was easily able to find a resolution through Google.
Kloxo is a fairly powerful control panel. The interface will leave you a bit lost at first glance, as you need a bit of time to adjust to the differing terminology, but from there configuration flowed quite nicely. The interface is similar to a WindowsXP era OS control window with a treeview down one side that drills into where you need to go.
The interace also lends itself quite well to a multi user environment, allowing you to create new users who have a subset of controls similar to a cPanel reseller environment.
Kloxo is a pretty powerful and full featured control panel. It’s easy to get lost in the menu’s and I believe there isn’t many necessary tasks that can’t be completed from the UI.
Unfortunately this is an area that leaves me questioning use of Kloxo-MR for a production environment. The software has had very recent and severe SQL injection exploits. Although the author acted quickly to address and patch the security holes it has left some people in doubt as to what other security flaws may be present but not publicly known. Not scrubbing form post data against injection attacks is pretty beginner level security, so what other holes are potentially existing in the software?
Documentation & Support
Online documentation is pretty nil at the moment. However, the main Kloxo website is in a transition period so I don’t want to make any absolute judgements here. The software is popular enough that support issues are discussed frequently in forums.
I have a few more panels to trial still! Stay tuned for more reviews of the following: