Hosting Websites on Bare Minimum VPS/Dedicated Servers

Installing ISPConfig3 on CentOS 7… or Not

Welcome to another LowEndBox tutorial- sort of. What started out as a tutorial for installing ISPConfig 3 on CentOS 7 has taken a drastic turn. Instead of telling you about how you can install ISPConfig 3, we’re going to take a deeper dive into what went into this article and why we’re not writing an installation tutorial. But first, a little bit of history.

Prehistoric Times

In the Mid-2000’s, I worked at a small web hosting company in Reno, NV. These were the days before VPSs ruled king. Virtualization was not yet mainstream and the only way to get a server online was to build a server with real hardware and install Linux on it. Seeing a need for a budget friendly way for folks to have their own servers, our company leveraged out of date hardware that we had on hand and launched a new product: Bargain Basement servers.

Truly, a Low End Box, early 2006. Source: Archive.org

Truly, a Low End Box, early 2006. Source: Archive.org

Instead of spending hundreds of dollars per month, we had servers for as little as $29/mo. The specs were minimal- not a lot of memory, fairly weak CPUs and small hard drives. Sound familiar? The parallels between those servers and what we embrace here at LowEndBox can be clearly seen.

How does this relate to ISPConfig? I’m glad you asked! During that same time period, there were not very many commercial web control panels. Plesk and cPanel were becoming established. Interworx and DirectAdmin were new, and Virtualmin was still a very early release that wasn’t on my radar.

I became aware of ISPConfig when it hit the market in 2005. ISPConfig was simple, lightweight, and seemed like a good fit for our Bargain Basement servers. And for a while, it was. ISPConfig was good and I enjoyed using it and setting it up for our customers who requested it. Newer releases started getting over-complicated however, and we stopped offering ISPConfig in favor of other software.

I left that company in 2008, and in the intervening years ISPConfig didn’t come up again. Now it’s 2019, and the market is nearly flooded with amazing web hosting control panel options. My task as a writer for LowEndBox was to examine ISPConfig 3 and help all of you nice people learn how to shoehorn it into your LowEndBox server. But that’s not what’s being written here. What happened?

Digging into ISPConfig

In the Old Days, software could be purchased in a brick and mortar store where racks of shelving contained colorful and shiny shrink wrapped boxes that usually cost a fair bit of money. Clearly printed somewhere on the box was a table that showed you how much CPU, RAM, and Hard Drive space were required to make use of the software. If your system met the Minimum requirements, you knew the program would run. If your PC met or exceeded the Recommended requirements, then you knew it would run well.

Old habits die hard, and to this day I still look to find what the requirements are for any software I want to run, including ISPConfig. I also wanted to check out ISPConfig’s manuals. Software is only as good as its documentation!

I went to the official documentation page for ISPConfig:

https://www.ispconfig.org/documentation/

I didn’t see any minimum requirements listed, but I did see a lot of installation tutorials for various platforms. I investigated a few of them, and the only minimum requirements found were “Linux and a fast internet connection.”  This describes pretty much every Linux based web hosting control panel on the planet.

I looked further into the various writings about ISPConfig: It requires Linux, a LAMP or LEMP stack to be installed, and more. A lot more. This raised an important question: Would ISPConfig be a good fit for a small server?

Undeterred

Disappointment in the documentation wasn’t enough to stop the process. Was I just looking in the wrong places? On the documentation site, a 400 page manual is for sale for €5 (about $6USD). It purports to cover all the concepts behind ISPConfig, how to install and update it, and a reference for everything inside the admin control panel. Surely this would contain  the information that I so desperately sought.

By this time, I had several questions on my mind: What if I wanted to pare down the installed software? Would ISPConfig be able to handle it if I didn’t install Postfix, Mailman, Jailkit, Webalizer, PureFTPd, mod_python, SpamAssassin, Postgrey, ClamAV… yeah, it’s a long list! Were these just a list of features to make it the “ultimate” ISPConfig 3 server? Or were they requirements for making ISPConfig 3 work? I couldn’t tell.

And to beat on that theme for just another moment: One of the packages has to be compiled from source. This is a Big Red Flag for me: My servers need to be able to update themselves with via RPM or Apt. Hand built software tends to get out of date due to laziness on my part- I want my server to run my sites, not require hands on compiling.

I decided that $6 was a small price to pay to finally unlock the secrets of ISPConfig. I purchased the 400 page manual and downloaded its PDF. I started reading, excited to find all of the treasures that had thus far been hidden from the view of the filthy heathens who were too cheap to spend $6 on a finely written manual.

Reality Takes Hold, Crushes

To fully understand what happened next, allow me to tell a short story: As a teenager, I once traded hours and hours of work for a much sought after bit of computer hardware: A Colorado 250MB tape backup drive. Finally, I could do backups without having to swap floppy disks endlessly! I did the work, I got the drive. I plugged it in. I ran a backup. It seized up and never worked again. It still irks me to this day! And while I only spent $6 on this manual, the feelings of disappointment felt familiar.

The nuts and bolts of ISPConfig remained a mystery. The minimum viable configuration was not listed anywhere, and no amount of Googling around the Internet has unearthed anything definitive. But we are not the sort who throw in the towel. Who needs manuals, anyway!?

Onward and Forward!

This is what ISPConfig looks like when you log in. Screen shot from https://ispconfig.org

Fear not, faithful reader! We were still determined to bring you an ISPConfig on CentOS 7 tutorial. We installed a fresh copy of CentOS 7 on our LowEndBox, copied over our SSH Keys, and got to work. I decided to follow the documentation I could find, keeping in mind the need to not load the server too heavily. I brazenly left out the bulk of the software that I knew would bog down a small server, and installed ISPConfig 3.

After the installation, I was instructed to go to https://[server-name-or-ip]:8080 to log in. I went there, but the page was not responsive. I checked the server, and nothing was running on port 8080. I tried starting Apache, and it wouldn’t start. I had to fix a configuration error in a file (on this brand new installation). Only then would Apache start. Then ISPConfig’s Admin panel loaded.

The Towel is Thrown In

Mainstream web control panels aren’t without security risks, but at least they run their administrative interface with an entirely separate server daemon. ISPConfig, on the other hand, runs the admin control panel with the server’s primary Apache instance. This is definitely light weight, and I applaud that. But it introduces some serious compromises. If your Apache daemon goes down for any reason, your ability to administer your server is now limited. If your control panel isn’t there when you need it, why have it? 

It also means that you’re running a website that contains the ability to administer your whole server in user space. This is further evidenced by the fact that some enterprising soul has created a WordPress plugin for ISPConfig that allows somebody to create and remove email addresses and do other administrative tasks directly from WordPress! I shudder to think what will happen when their WordPress site is compromised. Not that that ever happens…

ISPConfig may be a fine web control panel for many people, and I definitely appreciate the hard work that its developer has put into it. There are too many major issues, however. Lack of good documentation, feature bloat, and the reasons mentioned above all mean that I can’t recommend running ISPConfig on a server that you want to rely on.

We may be passing up ISPConfig, but we’re not done. There are more web control panel tutorials on the way. Be sure to check back soon!

No Comments

Leave a Reply

Some notes on commenting on LowEndBox:

  • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
  • Akismet is used for spam detection. Quoting webhostingtalk.com URL seems to get binned consistently here, but I do peek into the spam box frequently to publish those comments.
  • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

Your email address will not be published. Required fields are marked *