On VPS hosting, using an administration panel (e.g. cPanel, Plesk, Interworx, DirectAdmin, etc…) together with a distro such as CentOS/Debian/Ubuntu is the popular choice. This is the conservative decision, but sometimes this just hampers flexibility to an unacceptable degree. You are often tightly constrained regarding the versions of software you can use. In my present case, something as fundamental as using Python 2.5 was not really a viable option under such setups. I could try to install a second instance of Python but this is a very unwise thing to do imo and runs the risk of major breakage. For example, I really hate to think of the things that could happen when the panel tries to update itself.
For the ultimate in flexibility, nothing comes close to Slackware. People often shy away from setting up a server with Slackware on it because it requires doing a lot of things from scratch and might seem to be too much work. But the advantages *are* there. For one thing, admin panels impose serious version constraints on the software installed on your OS. Even if you do not use a panel however, the package dependency structure of all other distros – with the exception of Slackware – can still make mixing/matching different software versions an exercise in futility.
The one thing I realized is that while Slackware does require you to setup many things from scratch, once you get the hang of it, it is essentially like field-stripping, can be done very very quickly, and largely the same process even from one version to another. The quote in the link reads “… people were impressed many years ago with how easy it is to tear down a Model 1911 Colt pistol, they are smitten with the elegant simplicity of the M1 Garand…” and the same feeling applies once you are familiar with the elegant simplicity of Slackware.
Outlined below are the basic skills you need to master. Once you get the hang of them, you will come to know the bliss of not relying on the slow bloat of a panel like Plesk and the untrammeled freedom to deploy pretty much whatever technologies you like on your server.
Skill #1 Using installpkg
Skill #3 Common packages and their dependencies (easier than you think with Slackware) (article to follow)
Skill #4 Location of error and status logs (article to follow)
Skill #5 Package specific knowledge (e.g. Apache, PHP, MySQL, Python) (article to follow)
Skill #6 Setting up networking (article to follow)