Control Panels for Servers without a monitor [closed]

Consoles are all well and good, but it's often nice to have some kind of interface available, especially if you're in an environment where you're not the only person who is going to be administrating the server, because not everyone will have the CLI knowledge to do everything, and a GUI can make things much faster.

cPanel is excellent if you're running a webserver, but outside of that, it's not really enough. Webmin is excellent, it gives you a lot of power to do things easily, and can also give you access to a crude command line if you need. The modules for it also allow you to extend it to other services.

Personally, I don't like to run a light GUI, even something like Fluxbox take more resources that I'm willing to space, and you also need a way of remote access to it. I find that a combination of SSH and Webmin is good enough.

However, most of the machines I work on are either VMs (running in fairly low power machines), or old servers, and in those cases, you don't have the spare power to waste. If you've got a rack of nice, high power machines, and you like a GUI to speed things up, go for it, but it's worth learning to do it without them. You might also want to look at using aliases, if you find you're doing a lot of repetition in your typing.


"For me the issue with CPanel or Webmin is their dependency on specific application versions, specific configuration structure, and so on, and so on."

This is true of cPanel, but not Webmin. Webmin supports pretty much every version of every service it manages, and usually before new versions are even stable (we usually add support during the early betas or development cycle). Squid 3.0 was supported five years before anyone was even using Squid 3.0, for example...an extreme case, since Squid 3.0 took so long to become a reasonably stable alternative to 2.6 (rewrites take a long time).

"Webmin is an excellent example - it was removed from main Debian repositories because it became old and unreliable."

Webmin never became old and unreliable. The Debian package became old and unmaintained, and no one stepped up to maintain it. Completely different situation. Webmin has pretty much never gone more than three months without a release, and the release cycle is faster now than at any point in its history (about every two months). Webmin will probably find its way back into the Debian repository eventually (as soon as one of us has time/inclination to volunteer to maintain it).

Anyway, I'm completely comfortable on the command line, and I use both Webmin and ssh for my server maintenance. Not just because I'm one of the Webmin developers (I was a user before I joined the project), but because it provides a lot of nice benefits:

  • You don't have to know the syntax of every service on your system. BIND and Sendmail both have notoriously confusing syntax, for example. I make mistakes when I edit them directly. I certainly can read the docs...but for simple updates, it's just faster to use Webmin.
  • Webmin provides some services of its own, that are easy to use and generally useful. Stuff like service monitoring and alerts. Sure, I could setup mon or monit or one of the dozens of other monitoring apps, or I can just use Webmin, which I already use for a bunch of stuff.
  • I prefer the Webmin MySQL module to phpMyAdmin, so I like having it around anyway. It means I don't have to consult the docs every time I want to create new tables, update tables, dump or restore a database, etc. I can certainly do all of that from the command line, but I usually have to look things up when I do, as I'm not a database guy most days.
  • Delegation. Webmin has finer-grained ACLs for many things than are easy to implement on the command line. sudo is cool, but it is difficult to say something like, "OK, you can edit X, Y and Z hosts files in BIND, but not A, B, and C", while Webmin makes that really easy. And, of course, if I'm delegating, the person I've delegated to might not have any clue how to do things on the command line, but can be trained in the web UI in a few minutes.

You ought to know how to work on the command line, if you're administering a server, but it doesn't hurt to use tools to help you and make your life easier.

In short, you don't have to choose command line or control panel. At least not with Webmin. It parses and understand the config files, and respects comments and file order and such. It's perfectly safe to use Webmin and the command line for pretty much any task.


For me, the only thing you need for a server is the console. With SSH you've got remote access and can do all the tasks needed.

The daemons that mostly run on servers (e.g. httpd) doesn't need any GUI and óften server hardware itself is laid out to run only a shell. Server Operating systems (e.g. OpenBSD, FreeBSD, etc.) require you to install X by yourself.

From a security view having no GUI (and respectively no X) does have the advantages that you have less software install that probably could have flaws, could be attacked or compromised.