LxAdmin Host-InA-Box Review Part 1

LxlabsLxAdmin Host-InA-Box is a “feature-complete” server control panel product designed for web hosting. There are already many control panels for web hosting providers. Some are commercial, some are free, and some are open sourced/free software. What then makes LxAdmin HIB unique? Its runtime size, which claims to be only 15MB! The tiny memory footprint includes not just the control panel software itself, but also the mail server, IMAP server, POP3 server, DNS server and web server — everything ready to get you started with web hosting.

Many commercial control panels require at least 128MB to have everything up and running, and it is commonly known that cPanel won’t be happy with less than 256MB of memory. Then how did LxAdmin HIB achieve such low idle memory foot print? I was wondering about the same thing when I first heard about it, so I bought a small VPS plan and found out.

Let us make this clear first — this review is going to be more geared towards Host-InA-Box setup than the actual LxAdmin control panel itself, which I will (hopefully) write about next week.

VPS Host

I am using BuyAVPS to evaluate the LxAdmin HIB. They are cheap (I am using the $9.50/month plan), and they are in Los Angeles so I can get good pings from Sydney. Physical server is on a dual Xeon 5130 2GHz, and my VPS has 128MB guaranteed / 256MB burstable memory running OpenVZ on Linux 2.6.9. VPS can be controlled via HyperVM, which is another Lxlabs product.

VPS performs well most of the time, but bandwidth is a bit patchy sometimes. I will review BuyAVPS later if I have a chance.

Operating System

LxAdmin runs exclusively on CentOS 4 & 5. I am using CentOS 4 on my test VPS as CentOS 5 wasn’t provided when I signed up. It basically means that LxAdmin can sit on a rock solid and well-tested platform, but it also means the end users have to stick to RedHat/CentOS’s way of doing things. I guess it does not really matter if you are operating from the control panels most the time, or you are an experienced RHE/CentOS sysadmin. Otherwise it can be annoying whenever you need to dig into the console and cannot find things in familiar places.

Personally I found Yum is a pain to work with. Because of messed-up dependencies, the default CentOS base template installs quite a large number of packages that I would never need on an OpenVZ VPS serving web pages (why do I need usbutils?!). Moreover, yum is quite a memory hog that it might often be the one app hitting memory limit all the time on your small VPS. I have seen hosts selling LxAdmin HIB VPSs with only 64MB guaranteed memory, and I think it is just crazy. Running yum update on some big packages can chew up the entire 64MB by itself.

Software Packages

Now let us come to the guts of it — how does HIB squeeze the entire web+mail hosting package into 15MB runtime. Here is the output when I run top:

top - 17:27:41 up 7 min,  1 user,  load average: 0.00, 0.01, 0.00
Tasks:  27 total,   1 running,  26 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0% us,  0.0% sy,  0.0% ni, 100.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:    262144k total,    17352k used,   244792k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      15   0  1628  596  516 S    0  0.2   0:00.00 init
28060 root      16   0  1532  536  448 S    0  0.2   0:00.02 syslogd
28112 root      15   0  8680 4292 2392 S    0  1.6   0:00.08 snmpd
28124 root      16   0  4016 1124  832 S    0  0.4   0:00.10 sshd
28155 root      16   0  2080  824  696 S    0  0.3   0:00.00 xinetd
28193 root      18   0  1560  444  376 S    0  0.2   0:00.00 couriertcpd
28197 root      18   0  1328  284  236 S    0  0.1   0:00.00 courierlogger
28202 root      21   0  1560  444  376 S    0  0.2   0:00.00 couriertcpd
28204 root      18   0  1328  284  236 S    0  0.1   0:00.00 courierlogger
28214 tinydns   16   0  1440  276  232 S    0  0.1   0:00.00 tinydns
28215 dnscache  16   0  2756 1372  320 S    0  0.5   0:00.01 dnscache
28231 apache    16   0  5040 2064  868 S    0  0.8   0:00.00 lighttpd
28242 root      18   0  2156 1104  956 S    0  0.4   0:00.00 sh
28252 root      16   0  3396 1340 1096 S    0  0.5   0:00.00 lxadmin.exe
28317 lxlabs    16   0  3804  868  528 S    0  0.3   0:00.00 lxadmin.httpd
28321 root      17   0  2152 1128  964 S    0  0.4   0:00.00 mysqld_safe
28352 mysql     16   0 11488 4476 3628 S    0  1.7   0:00.01 mysqld
28422 qmails    16   0  1492  372  300 S    0  0.1   0:00.00 qmail-send
28425 qmaill    16   0  1460  432  376 S    0  0.2   0:00.00 splogger
28426 root      16   0  1460  324  268 S    0  0.1   0:00.00 qmail-lspawn
28427 qmailr    16   0  1460  340  284 S    0  0.1   0:00.00 qmail-rspawn
28428 qmailq    15   0  1452  324  268 S    0  0.1   0:00.00 qmail-clean
28444 root      15   0  2480  928  544 S    0  0.4   0:00.00 crond
28453 dbus      16   0  2396  932  788 S    0  0.4   0:00.00 dbus-daemon-1
 7569 root      15   0  6896 2428 1984 S    0  0.9   0:00.01 sshd
 7626 root      16   0  2288 1316 1052 S    0  0.5   0:00.00 bash
11277 root      15   0  1892  888  716 R    0  0.3   0:00.00 top

Although it shows 17.3MB memory used, it is more like hovering around 24MB, as privvmpages in user bean counter shows around 6,000 pages allocated. Also note that I am running snmpd on this small VPS (takes around 4MB memory), which is not part of HIB’s standard package lineup.

Also note that the only LxAdmin processes are lxadmin.exe and lxadmin.httpd, which are tiny (1MB and 0.5MB RSS). lxadmin.httpd actually runs a trimmed version of lighttpd 1.4.13 I think, and it uses PHP for control panel pages.

Here is the list of software handling various web/mail hosting tasks:

Task Software
Web Server lighttpd 1.4.15
PHP php-cgi 5.2.1
Mail Server qmail 1.03
Mailing List ezmlm 0.53.443
Spam Filter bogofilter 1.1.1
IMAP/POP3 Server courier-imap 3.0.7
FTP Server pure-ftpd 1.0.20
Database Server mysql 5.0.27

By deploying lighttpd instead of Apache has a huge effect on the amount of memory consumed, without any sacrifice on performance. However what has been sacrificed is the software compatibility, with many web-based software out there assume the existence of Apache. LxAdmin does provide full control on rewriting rules, directory protection, aliases, redirection, etc inside the control panel, however it is not as trivial as .htaccess which many apps already came with.

PHP is running as suexec CGI from lighttpd, therefore it takes no memory at all during idle. It also means the PHP scripts are running as the user of the site. Each site’s home directory has permission of 750 and belongs to group apache (where lighttpd is running under), that means it is impossible for PHP or CGI scripts to access other sites’ files, even without any PHP safe-mode running.

However PHP in CGI also means degradation of performance, as each request forks a new PHP process. In reality, those low-end VPSs are probably designed for low traffic/static sites so it actually makes little differences if PHP runs as CGI.

Moreover, you can enable FastCGI for PHP on a per-domain basis from inside the LxAdmin control panel, and how many FastCGI worker processes to be forked. FastCGI improves performance because it not only keeps PHP process in memory after requests have been handled, it also limits the maximum number of PHP processes you can have so the system does not go running out of memory.

There are also quite a few services that don’t take any memory in idle, but are invoked from xinetd. For example PureFTP and Qmail SMTP. I guess the philosophy is, why take memory when they are not used most of the time? One other suggestion I would give is, instead of running sshd (which takes 800KB RSS in idle), it would save even more memory by running DropBear from xinetd.

Summary

I know it is no where near a comprehensive review on LxAdmin. I for one wasn’t really interested in the control panel as I am mostly an SSH guy, but am just fascinated on how one can pack the entire web + email hosting package + control panel into a tiny 15MB memory foot print. Now I think I understand how it can be done after actually looking into one. It is a good combination of software packages and a very slim control panel. Well done Lxlabs!

Combine the small memory foot print with a few of those $10/month small VPS, everyone can start their own web hosting shop. You don’t just get a big 100 domain reseller account, you also get root access to your very own VPS.

However you still need much more than 15MB to run a decent HIB VPS though. I would definitely recommend getting at least 128MB guaranteed for a OpenVZ VPS. Getting Python-based yum to run correctly requires a big chunk of memory. Your PHP processes can also grow to 20MB-25MB to serve a page from WordPress or Drupal.

Hopefully next week I will write a bit more on my experience with the actual control panel itself. Stay tuned.

Comments

Gravatar

Very interesting post. My current VPS is bumping up against memory limits, and I want to add more load to it so I’m shopping around for options. LXadmin looks really interesting. Only downside for me is I’m much more familiar with debian-based systems than CentOS. Still, might be worth the learning curve.

Running the online LXadmin demo I notice it will install Drupal for you. Frankly, I’d rather install it myself. But as a Drupal-ian, did you test out the LXadmin-autoinstall? Everything work OK?

Any further comments on BuyAVPS?

Keep up the comments. Quite helpful.

http://www.cheneyu.com

Gravatar

Personally I much prefer apt-get than yum as well, as Python-based yum is not really suitable for small and memory-limited VPS. As of learning curve, I guess it is not too bad as under the hood it is still Linux. However LxAdmin HiB has been changing quite significantly since I’ve written this post (moving files around, different user interface, etc) which might be a steeper learning curve for the command-line folks.

LxAdmin comes with a huge list of pre-installed scripts. Moreover in the recent version of LxAdmin you also get Lighttpd “recipes” to get clean URL for some of those web-based apps so you do not have to go in and hack the Lighty configuration yourself. A very nice feature that I would like to write about.

However, the pre-installed script takes a lot of disk space, and personally I still prefer to install them myself. I have only tested out auto-install for Wordpress which is okay. Still, I don’t use them but some of my friends hosted on my VPS do.

As of BuyAVPS — so far it is quite mixed. If you search around the Internet especially web-hosting forums, you’ll find lots of bad reviews about them although my personal experience with them is pretty good.

  • The uptime is good. I have not had much downtime like many others (who complained on WHT) have experienced.
  • The support is pretty good. Got a CentOS upgrade gone wrong as it stuffed up my /dev directory, sent a ticket in, and got BuyAVPS fixed the issue and bring the VPS back within 15 minutes.
  • They have recently migrated my VPS from LA to Charlotte which involves changing of IP. It was done pretty quickly with minimum downtime, although I much prefer to be in LA since it has lower latency to Australia.
  • The bandwidth back at LA wasn’t that good when I tested against Amazon S3 in Seattle (much slower than my shared hosting also in LA). Now in Charlotte I could imagine that it would be worse.

I’ll write a full review on BuyAVPS when I have time.

Gravatar

Scotty,

Thanks for the comments. I’ve done a little more due diligence on buyavps.com as well, and seen some of those bad reviews. The people from buyavps.com openly acknowledge, and apologize, for their service problems. And somewhere I saw they were looking for a ‘partner’ to buy up to 1/3 the company. So they may be cash-strapped. So mixed is the word.

Right now I’m leaning strongly toward giving LXadmin a shot. Possibly through vpslink.com.

http://www.cheneyu.com

Gravatar

Sorry I guess I have to take my comments on BuyAVPS back. Their entire netblock is down, and there are multiple threads on WHT talking about it. No good.

Gravatar

One opens the mouth for a positive comment and then BuyAVPS goes down the drain ;). Apparently AxisHost are taking over the mess. At least they are reputable.

On the lxadmin topic - I have to say I’m pretty impressed. Try hanging out on the lxlabs forum, perhaps even posting your own thread. You get better support than cheap server management firms. Well, more or less… Without being a paying costumer!

One of the really good features are the seamless transitions from lighty to apache, djbdns to bind aso… Features that are added all the time, of course adding to learning curve, but also pretty damn amazing; Try following this thread. I know it isn’t that hard to implement … but they just add software, apps and GUI add-ons if you ask. http://forum.lxlabs.com/index.php?t=msg&th=2221&start=0& - it started on the 9th - and I’m betting we will be seeing results in one of the next (daily!?) updates.

Gravatar

I agree on the support on LxAdmin forums. I once found a bug and reported it on LxAdmin forum, and it was resolved with an update within 2 days. The development model, although proprietary, is very open to their users.

Gravatar

Who know some website that teach about lxadmin.

I never used it now it on my vps. ToT

Gravatar

There is a demo of lxadmin here: http://www.vpslink.com/lxadmin-vps/

The software looks very impressive, I especially like the gui design it is very artistic.

But I found the actual functionality to be a bit opaque/unclear. And since it is a non-working demo, can’t play with it to see what all those buttons actually do.

I like the fact that it has separate logins for customers versus site owners versus server admin. But I noticed that the help docs — which are well written —- are aimed at server admins and say things that you would not necessarily want your customers to read.

Anyway the initial impression is very good, I have not yet signed up for an account so don’t know how well it works for real.

Post new comment

The content of this field is kept private and will not be shown publicly.

More information about formatting options