English (change)
You're migrating shared-to-VPS and want a GUI like cPanel? No you don't, not after you read this! What's more, you don't need one either ...
When I first looked at unmanaged VPS options, as a Linux newbie, one thing that concerned me was to have a control panel. So I set up Ubuntu, tacked on familiar Apache, and added one, before repeating the process with alternative combos. In the process, delving deeper into the pros and cons of server setups, amongst other things I realised I didn't really need the control panel which, after all, wastes resources and adds a security risk.
That was an epiphany.
In 20 copy/paste steps .. from zero to hero, blank box to cute-as Linux server.
Scroll down for the full series index.
So, hey, shed shared & viva virtual! Hope it helps. the_guv
I've had similar awakenings before; when I first tried Firefox I quickly ditched Internet Poorer. Or Skype vs the landline, or Google Apps over an smtp mail server, which I'll be covering in Part 18: * Google Apps for Domain-Specific Email. But I digress.
In a hurry? Read Part 17: Nginx Control Panel Workarounds for instant solutions. Best to read this first tho'.
Here's the key question ..
What I really wanted from my virtual private server, my goal, came down to:-
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.
(and that is precisely the setup this VPS Bible steps out.)
One thing was clear. I had to have Nginx. But strapping on a control panel looked problematic. I decided that to lose the CP was a risk worth taking, and true to my goal. Especially with Linode, where many of the key tasks are performed with my Manager panel anyway (plus many advanced options that are unavailable with popular panels).
As it turned out, what with a newly-acquired tentative grasp of Linux, the VPS Manager, an FTP client to hold my hand and slowly growing confidence in using the command line interface, I decided that, after all, I didn't want a cPanel-type GUI anyway. Indeed, what a waste of resource.
But for this tutorial series it was another matter. I'm trying to help out Linux newbies here, whose concerns are very like mine were, just a few months back.
So, folks, the long and short of all that is, I've got some bad news, some encouraging news and some good news. Most importantly, I've got a watertight solution, or rather a bunch of them because, as with all the modules in a panel, there are a lot of functions to workaround (not that you'll use many of those, most likely.)
There ain't a control panel. Sorry.
After literally several solid days of asking, begging and pleading, of frequenting all the forums and scanning all the sites, my conclusion is that there is no viable panel.
There are some claims to fame but they are either poorly maintained, else depend on Apache running consecutively, with no guarantee the server will be seamlessly upgradeable. Even then, Nginx has handicapped performance, largely negating the reason to install it, will likely require system administrator costs and will inevitably involve lengthy downtime. I could expand on that, and probably will in the comments.
Someone - please tell me I've missed something here. I want to be proven wrong!
There are some projects in the works and, believe-you-me, as soon as there are betas I'll be testing them and telling you about them.
You don't need a control panel!
With a VPS provider like Linode or, as I understand, Slicehost, the Manager panel carries out many common tasks and, as I say, provide advanced configurations and functions unavailable with popular control panels. These include backup jobs, domain settings and server admin. We'll look at those more in Part 17: Nginx Control Panel Workarounds.
I'm not saying there aren't missing modules; there are. The typical CP mostly facilitates web site management, but ..
.. Given some facts, the complete copy/paste workarounds, a few keystrokes and a goal like mine - you won't want a CP. Let's consider that ..
You want a CP because:-
You don't need a CP because:-
So, with many CP functions catered for by your VPS Control Panel, and having your sftp client, really it comes down to confidence, and a few chunks of code which, in most cases, you'll never need use anyway.
And having followed this copy/paste VPS Bible through each step, I'll bet my back teeth you're beginning to feel happier using the command line, no? And I'll bet the front teeth that you don't want to waste server resources.
In Part 17: Nginx Control Panel Workarounds I look at every single module used in the most popular panel, cPanel, and consider what of those we need, don't need and why.
Linked from there I will add, over the next few weeks and as an appendix to this series, each and every mod con workaround.
When there's an Nginx-compatible CP available that's worth its salt and works with Webmin, ISPconfig, Virtualmin, Plesk or whatever, like I say, I'll let you know.
But, given the same goal as me, by the time you've tried out my control tweaks, I vouch you won't much care.
.. Now that's epiphany we can believe in.
Other than sorting the CP mods, we'll crack out the email, move the site seamlessly (or as close as that's possible) and then I'm gonna go get sleep.
Index ..
Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.
That's what the VPS Bible is about, stepped out in simple copy & paste guides.
From high traffic WordPress blogs to startup web hosts, here's what you need.
Set it up? Click here for the 21 part follow-up .. V-P-S Admin
gordon yeong July 15th, 2009 at 11:48 am
hi there, guv!
this is a good write up especially on nginx.
The parts that explain stuff like permalinks are good!
the_guv July 15th, 2009 at 11:51 am
big cheers Mr Yeong. Appreciate that, Sir
VPS BIBLE - Nginx Maintenance Tutorial Series - VPS ADMIN - GUVNR July 16th, 2009 at 12:31 pm
[...] Part 16: Nginx Control Panel [...]
Marnen Laibow-Koser October 2nd, 2009 at 4:54 am
Um, why do you say that a control panel will slow down other sites being served from the same box? I can't come up with a good reason why this should be the case -- and I'm a Web developer.
the_guv October 6th, 2009 at 5:51 am
@Marnen .. well, it's simply that using a CP is less resource-efficient than using the terminal. F'rinstance, carry out a syntaxed task and it's a command, done dusted .. but to do the same thing in a typical panel, and you have to jump through a bunch of hoops to even arrive at the relevant link. I don't think that's as important as is the time it saves the user to do things via the terminal tho ..
Marnen Laibow-Koser October 12th, 2009 at 1:07 am
I was responding to your claim that a CP "wastes resources, slowing down sites and blogs", which I do not believe. I was trying to get you to justify that claim, but your comment does not do so. Instead, it raises a whole set of completely different objections to a CP, irrelevant to my original question.
Further, I don't think your new set of objections is valid either:
"F'rinstance, carry out a syntaxed task and it's a command, done dusted"
Yeah -- except that you have to remember what the command is. I use a CP on my boxes so I don't have to remember all the Apache configuration syntax. Perhaps if I were working as a sysadmin and using these commands every day it would be a different thing, but that's not the case currently.
" .. but to do the same thing in a typical panel, and you have to jump through a bunch of hoops to even arrive at the relevant link."
Then you're using a bad control panel. Are you familiar with Webmin?
"I don't think that's as important as is the time it saves the user to do things via the terminal tho"
Using a CP absolutely saves me time.
The command line is great for some things. It is not good for entering infrequently-used commands whose syntax must be precisely right or else it hurt the configuration of a critical system (which is what your Web server is). I'm glad I know how to use the command line, but I prefer not to have to use it for everything all the time. That's why I don't run on a greenscreen dumb terminal.
the_guv October 12th, 2009 at 10:48 am
hey Marnen .. tx for that. I surrender, you've put me right! duly edited.
but! every action on a cp/terminal is a server resource cost, diverting those from availability for your sites. (yes, that is worded differently)
i prefer webmin too. you'll find me at their forums, pushing for an nginx module. but even with webmin there are more steps involved than with the terminal.
.. in an ideal world, we'd have a light cp for convenience, yet using the terminal for regular tasks. but we don't have an ideal world, if you want the mega-efficiency of nginx (compared to Apache).
for those that don't feel comfortable with the terminal, read Edit bashrc for User-Friendly Linux, plus System Updates, use reference like Maintain Unmanaged VPS (4 Newbies) .. V-P-S Admin, and just type memorable shortcuts into the terminal. cron aside, for example, if i wanna back up this db, i type "guv" to go remote, then "dbguv" to backup.
would be good to hear .. what infrequent commands? please lemme know. am considering waht's missing in VPS Admin. i am aware there's a few key things that aren't in the index that should be.
Marnen Laibow-Koser October 12th, 2009 at 5:42 pm
Sure, every action on a CP has a server resource cost, but on a decent CP, the overhead will be pretty minimal -- and most of the resource cost will be that associated with the command, which you'd be running in any case, whether from the CP or the command line. If your server resources are so tight that a CP really makes a significant difference, then you've got much worse problems.
the_guv October 14th, 2009 at 4:50 pm
hmmn ..
"guv" to go remote, then "dbguv" to backup.
.. just realised, can better that ..
create new alias in local bashrc:-
#copy guv db to local
alias guvdumpcp="scp -P 1234 username@12.34.56.78:/remote/path/to/dbBACKUP.sql /local/path/to/store/dbBACKUP.sql"
Full details for local Linux to remote Linux ..
Backup or Upload with Secure Copy SCP (Linux/Linux)
Full details for local Windows to remote Linux ..
Backup or Upload with PuTTY PSFTP (Windows/Linux)
Then, from local, after updating bash, anytime you wanna download db, just type:-
guvdumpcp
.. or whatever alias you want.
Better still, run a script and download a bunch of db's at the click of a desktop icon/launcher ... will tutorialise that massive time-saver (esp for web devs and sysadmins) in VPS Admin, have made a note.
Sure wish programming my VCR was that simple.