Note: I know this shows published in 2022, but I wrote it in early 2021 and haven't published this until now

Introduction

A long time ago, my buddy Eric and I used a shared hosting plan from Hostgator. After securing my first dedicated server, we've moved all of our sites to that hosting and have been mostly managing them in Bash/Shell/SSH. Website performance increased tenfold while root access gave us the flexibility to run applications we normally couldn't run on their Hostgator (such as ghost, the platform my this blog is currently on). The traffic on our websites was low enough that we could afford lazily managing it and haven't had many complaints since.

A few months ago, we thought it may be interesting to try going back to using a control panel to manage our sites.

Background

Eric and I are both software developers and more than comfortable in SSH and Linux. We wanted to try out a few hosting panels to see if they would help save us some time in managing websites. Back when we were on Hostgator, we used and were quite happy with cPanel. But it's been years, so we were certain that other viable alternatives to cPanel have popped up over time.

First - cPanel

By Maytham Mahdipoor - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=23328862

Review

I first picked up a cloud vps from LiquidWeb and purchased our cPanel license. The very first thing we noticed was that our $20 license only allowed 5 accounts to be created. Since we usually set up new users for each of our sites, we would immediately blow past this cap. To get around this, we just dumped all our sites into 2 users. We weren't comfortable with this setup, but it was the only way to get around the user limit at the time.

One nice thing was SSL Anywhere, which made setting up SSL for sites a breeze. Eric particularly liked it, but also pointed out that it was just as easy setting up Let's Encrypt on one of our other virtual machines. He was right. It's literally like 3 commands.

However, cPanel has been going thru an alarming number of (mostly negative) changes:

cPanel was bought out by an investment firm named Oakley Capital late 2018 (Source: https://news.cpanel.com/oakley-capital-to-invest-in-cpanel-acquisition-will-accelerate-the-next-phase-of-product-development-for-cpanel/). In 2019 they announced significant price changes that were financially devastating for many major hosting companies (Example from LiquidWeb: https://www.liquidweb.com/blog/cpanel-price-increases-2019/). Even though it's been years since I used cPanel, the product felt exactly the same. If there was a major redesign or modernization that justified the major price increase, than I'd be more forgiving. But it felt like cPanel is coasting on their already established platform and abusing their position as one of the most popular web hosting control panel platforms. Despite this, there are still a handful of people and companies clinging to cPanel, so I guess their strategy of milking that crowd is working?

cPanel was bought out by an investment firm named Oakley Capital late 2018 and since then has been price hiking cPanel every year or so.

Pros:

  • cPanel feels nice, familiar and nostalgic.
  • It has a ton of nice to have features

Cons:

  • The price and price hikes are horrible
  • cPanel is bloated and cumbersome for two people running a few sites for themselves and their friends
  • $20 for 5 users was pretty insane especially since the VPS instance we needed to host it was costing $40 a month. I also doubt it will stay that price for long. If we chose to run it on one of our colocated servers instead, the bare metal license alone would be $45.
  • Resource Intensive. Recommended specs on their site is at least 2GB of ram but just hosting one low traffic site, cPanel and the services were already maxing out the ram. I ended up having to bump my VPS to 4GB of ram just to see decent performance.

Verdict:

cPanel was definitely was not appropriate for our case of a few guys hosting a few sites. Furthermore, this product has been steadily going downhill. I don't trust that the licenses will still be $20 come next year.

1/5 stars

Second - Interworx

InterWorx LLC, https://www.interworx.com/brand/

Review

Interworx seems to be the alternative to cPanel and has grown more popular given cPanel's new pricing model of jacking up the cost with little to show. Interworx licenses by server, meaning we could set up as many user accounts as we wanted. Although the dedicated server license is $20, there's a nice $7.50 license geared specifically towards smaller VPS instances. I bought a VPS license and spun up a 2GB VPS on LiquidWeb. Unlike cPanel, it seemed to happily function with only 2GB of ram while the sites remained decently responsive. I was still cutting it close though, and I ended up bumping the ram up to 3GB later on. $30 + $7.50 license was almost half the price of my cPanel instance.

I wanted to like Interworx, but my first impressions were less than Stellar:

I purchased a license from the site and it was stuck in pending all day. I logged in the day after: still pending. It was about noon when it finally went through. I was hoping to secure my license so I had time to set up my server on the weekend, but the delay caused me to set it up on Monday after work instead. License activations for digital products are usually instant, so I have no idea why it took around 2-3 days to get issued a license.

I ran the installation script, which failed the first time and succeeded the second time. I tried to activate my license, but it errored out and bricked Interworx. After that, my license wouldn't activate. Per their FAQ: "Activating an InterWorx license, either via the web browser or the command line, can only be attempted once on a server.". I don't know which engineer thought that was a great design decision, but whatever.

I wiped the VPS, reinstalled the OS, and reinstalled InterWorx. This time it worked but the installer hung on the final loading bar for about an hour. Having no patience, I refreshed the page and everything seemed to work fine after that. At least this time the errors weren't fatal.

This whole experience already left a bad taste in my mouth though. Interacting with the application was alright enough, but the documentation site could use some work. It takes like 5 clicks to get anywhere and seems to be a weird hybrid between an old and new wiki-ish site. I assume they're in the process of transferring to a new wiki or something.

Pros:

  • Definitely a cheaper alternative to cPanel
  • A lot less resource intensive than cPanel
  • Looks decent

Cons:

  • The long license activation time is absurd, especially since I'm trying to give them money.
  • The installation process was buggy and resulted in me having to wipe my server the first time. Makes it hard for me to trust the rest of the software.
  • The documentation and support wiki was awful.

Verdict

It's a decent enough alternative to cPanel but it has a ways to go. Seems too buggy for me to trust in a production environment. I can't justify using this product. Hard pass for me for now.

2/5 Stars

Third - Webmin

It's been years and somehow they still manage to have the exact same looking site. Webmin itself looks quite a bit better than I remember it though, so I'll give them the benefit of the doubt and say their UI folks were working more on the actual product versus their site design. Webmin's free, and about as ordinary of an experience as you'd expect from Webmin. There's not much more to say.

Pros

  • Been around forever
  • Free
  • Does the job

Cons

  • Still not as nice of a user experience as the other two control panels

Verdict

I can't really fault Webmin. It's very much what I expected and to be honest, I didn't really feel like I gained or lost anything by having it installed. I'm just as effectively able to manage my websites with SSH.

4/5 Stars

Fourth - Shell / Docker

By dotCloud, Inc. - File:Docker (container engine) logo.png, Apache License 2.0, https://commons.wikimedia.org/w/index.php?curid=52332268

Managing the webserver thru SSH is the tried and true way we usually do it. Hooking it up to our monitoring service will usually tell us if any of the sites experience an error or go down. Once you set up an nginx/node/php/etc site once, you pretty much know how to do it after that. Using docker makes this process even more trivial. Administration is fairly straightforward too even if we don't get any of the nice to have features like "One click install".

Conclusion

By Simon Tatham, Jacob Nevins - https://git.tartarus.org/?p=simon/putty.git;a=blob;f=icons/mkicon.py;hb=HEAD, MIT, https://commons.wikimedia.org/w/index.php?curid=22664949

In the end, we went back to Shell/Docker and have been happy with that ever since. Both Eric and I are fairly experienced in Linux and we've found we're able to do most tasks just as fast in shell as in one of the prior mentioned control panels. I'd also argue that using a combination of SSH and Docker is fairly secure as well. I can say I'm also a bit disappointed in the alternatives to cPanel in 2021, and even more disappointed in cPanel itself.