With no feasible control panel module available for the Nginx web server, what's missing? What do we need for virtual private server & domain administration, and to set up and maintain sites & blogs?
Perhaps the best way to analyse this is to look at what useful mod cons are bundled into a popular panel, that we don't have in our VPS server panel. Then we can set in place the outstanding solutions.
Then – and please excuse my flippance – we'll lose the shiny panel icons and resource drain, but gain pure Nginx performance and faster, more usable, dynamic-served front-end web applications, while retaining the functionality we've needed from the typical panel.
Ideally, first you should read Part 16: Control Panels & Nginx for the background to this post. Really.
Without further ado ..
Control Panel Modules – the good, the bad and the bloat
So what's hot and what's not? Take cPanel, the most popular panel.
Let's break down the functionality, considering each and every module. This relates to my VPS goal ..
Serving sites and blogs on a budget, at the fastest possible speed, with the least downtime, in the most secure environment and future-proofed for easy website additions, maintenance and administration.
With that in mind, here are cPanel's modules, my opinion of their relevance and a link to my alternative chunk of code, tip or guide to each mod (bear with me, all links will be fullfilled by end June '09):-
We need these and will implement alternative solutions if we haven't already:-
|Addon domains||add domains||VPS CP configs DNS; Nginx does the rest||Pt 13: Multiple Sites & Blogs|
|Subdomain||add sub-domains||VPS CP configs DNS; Nginx does the rest||Pt 13: Multiple Sites & Blogs|
|MySQL databases||db admin with phpmyadmin||CLI commands & phpmyadmin/similar||guv db client/CLI guide to do|
|Pt 15: Setup WordPress for key CLI commands|
|Backups||backup||command line or SFTP||guv guide to detail|
|email config||Postfix/RDNS/Google Apps||Pt 10: Linux Server + Email & Postfix|
|Pt 18: Google Apps for Email|
|Webmail||email online||Google Apps||Pt 18: Google Apps for Email|
We want these and will implement alternative solutions:-
|Parked domains||point a domain at another||VPS CP configs this||guv tip to do|
|File manager||site/server file admin||SFTP client or CLI||Pt 12: Setup FileZilla|
|Password protect directories||private folders||few lines of code||guv tip to do|
|Redirects||redirect URI to another||simple edit to vhost files||guv tip to clarify|
|Pt 13: Multiple Sites & Blogs|
|Disk space usage||used disk space||type “df –h” or sftp||type “man df” for options|
|Error pages||500's 404's etc||create using nano||guv tip to do|
|Error log||see server errors||use the CLI||guv tip to do|
|Cronjobs||automate tasks||process setup from CLI||guv guide to do|
|Network tools||2 random tools: DNS lookup; Trace route||DNS: type “dig www.domain.com”; tracert: type “tracert www.domain.com”||guv tip to do|
|MIME types||identify file types to web browser||included already||google for more|
|Manage openPGP keys||authentication keys||PuTTY & openSSH||Pt 5: Encrypt Data – OpenSSH & PuTTY|
|HotLink protection||stop sites linking to media & stealing bandwidth||small edit to vhost file||guv tip to do|
|Index manager||hide files (like htaccess rewrite)||small edit to vhost file||guv tip to do|
|IP deny manager||block IP addresses||use config files||guv tip to do|
|Fantastico||installs platforms easily||Subversion or type “aptitude install [pkg_name]” or “wget [ftp://path/to/pkg]”||guv guide to do;|
|Svn – Pt 15: Subversion for Platforms/Plugins|
|PostgreSQL Databases||db admin||CLI commands & database client||just use MySQL|
Just a load of bloatware dross:-
|Templates||link to a site selling tpls||use Joomla/WP/Drupal; download with Subversion||google web templates|
|FTP manager||Setup FTP connections||SFTP client or command line||Pt 12: Setup FileZilla|
|E-Commerce||link to site selling software||more honest||cr@Panel|
|FrontPage extensions||if you're reading this you despise FrontPage!||… me too||balls|
|Web/FTP stats||web stats||Google Analytics||yaaaaaawn|
|Raw access logs||web stats||ditto GA||mega ditto|
|Raw log manager||web stats||I'm falling asleep||zzzzzzzzz|
|Subdomain stats||web stats||or Mint. Woopra's good too||… better than cPanel that's for sure 😉|
|CGI center||8 pointless scripts they want to sell||isn't it sad||but the GUI looks pretty|
|Statistics software configuration||no idea. Tried it and it doesn't work anyway||you don't want one||nice icon tho'|
|Enable/disable PHP 5||disables PHP5||disable cPanel instead||and keep PHP5|
|PhpMyChat||dunno what it is. Some e-cart I don't want||get a cool cart instead||bored|
|Scripts library||the same useless script as above but with a lovely shiny icon to click through to find it||do they think I'm dim?||ciaoPanel|
|cVirus||sends a bug to cynical cPanel marketing execs||… who all run away into StarBucks||actually this mod – sorry – I made it up|
Not irrelevant, just not relevant:-
|Apache handlers||identify file types to Apache||use a vhost||tip to do|
|Change language||change cBanal lingo||n/a||fancy a pint?|
OK. Sorry about the sarcasm. It got me thru' the cynicism. (You should hear me when I'm hacking Internet Poorer.)
VPS Provider Control Panel Modules
I can only speak for Linode with certainty, ‘cos I've not VPS-hosted elsewhere, but here is a list of additional modules they have in their server Manager, and that any quality VPS provider should have, so check. I'm being lazy and copying this from Linode's features page:-
- Deploy multiple Linux distributions
- Create Configuration Profiles which associate disk images and device nodes
- Boot between configuration profiles
- Share disk images between configuration profiles
- Resize disk images
- Network and CPU usage graphs
- Multiple IP address support
- Managed/hosted DNS service with slave support
- Custom reverse DNS (rdns)
- Access Out of band console access using Lish
- Lish menu system to issue jobs to your Linode
- Lish access via SSH keys
- Support for booting into single user mode, init=/bin/bash
- Support for booting with a custom “root=” kernel parameter
- Support for booting with an initrd
- Bootable recovery distribution (Finnix)
- Add and remove extra resources to and from your Linode
- Shutdown Watchdog will automatically reboot your Linode in case of a crash
- Clone a Linode to another
- Move IPs from one Linode to another
- IP address fail over support for high availability setups
.. Now that's what I call the real deal.
In addition to that lot, Linode's launching a comprehensive backup service which I'll cover as one option in the appropriate ‘guv guide to detail', as mentioned above.
Why do I recommend Linode?
Because I use them. Having spent a lot of time researching the market. I'm not a reseller, not a crony and not family. I'm just a blogger.
wget Guides Galore!
Basically, you can see what we still need, from the cPanel example tables above. You can see that the vast majority of popular control panel mods are either rarely if ever used, duplicate content or thinly-veiled affiliate ads that do little more than bulk up the app and make it look like the panel is actually worth buying.
The serious stuff, tho', and the even remotely useful stuff .. is important, sooner or later. So I'll write up some series appendix guides for each and every one of those. They'll all be linked from the tables above, as well as from a dropdown on the series index.
Command Line Confidence
With all these modules' Nginx alternatives, the change or command we need to make is simple, and I will lay it out for copy/paste anyway. For real, if you've followed this guide up to here, you will have zero problems.
In the Pipe …
Damn, better sort the email, huh? In Part 18: Google Apps for Domain-Specific Email I'll explain why we're better off with this hyper-handy off-server solution, and how to set it up with POP or SMTP access to your local machine. Then it's moving day.
Here's the index, I'm off to write cVirus ..