Could use some help choosing the right CMS and VPS specs :)

Dear LET-community,
I am soon to buy a shiny new VPS. As it will be by first one, I would like to ask a few questions beforehand to save me some trouble after the order.
The VPS should be used mainly for hosting a small, but dynamic website, featuring a customized CMS.

That would be my first point:
Which CMS should I choose? As it's a VPS and I don't want to spend too much on it, it shouldn't be too resource-heavy, while maintaining a good balance between customizability and speed. I am especially looking at Drupal (PHP) and Django (Python), both languages I'm already pretty common with. Any recommendations?

Then there would be the question of the hardware. I presume the following things will run on it:
- Webserver (Apache? nginx?)
- Database
- Mailserver (with IMAP)
- SSH (+ maybe mosh)
- FTP
- (maybe an IRC-bot)

While I don't expect much users to get through to my page, I would still prefer not to constantly be on the bleeding edge of RAM usage. Also, I am a bit paranoid about the bandwidth. Can anyone get me a rough estimate of monthly bandwitdth for such a setup?
Oh, and please forgive me this wall of text and my general "noobiness". ^^"

Remove the mailserver part and move over to Google apps.
Nginx as webserver,
Mariadb,
3rd party DNS server (namecheap is free)
Optimize your server,
Use WordPress as for your cms(?) And do not install every single free plugins you find online.

You can get a vps with 128Mb guaranteed ram and you are good to go.

Time is good and also bad. Life is short and that is sad. Dont worry be happy thats my style. No matter what happens i won't lose my smile!

Thanks gsrdgrdghd, I edited it out of the main post now. ^^
And yomero, even though I use Apache to test things "at home", migrating to nginx seems the way to go at systems with that low RAM. Seeing as it already has a built-in mailserver and got everything I want from a webserver (customizable error sites, encryption) I'd also kill two birds with one stone.

NinjaHawk, thanks for your comment, I completely forgot about databases and added them to the main post just now.
I planned to use a local DNS registrar for the domain, paying ~12€/year, but I think that's acceptable.
But WordPress isn't what I need, I'd like to create some custom blog/application/whatever hybrid and need much more control. Because of that I see Drupal as promising, but I don't have any 24/7 hosting experience with it.

Hearing positive feedback about choices is always good. :D
If I actually stick with Drupal, I could also easily get help from the StackExchange derivate for it.
I am not quite sure what you meant with the Google Apps reference earlier. My guess would be outsourcing the mailserver to Google Apps. (I somehow thought the entire site o.O)
But that would strip me of the ability to receive mails sent to my registered TLD, wouldn't it?

I use mostly Drupal 6 but recently, when I tryed 7 I was pleasantly surprised. Maybe there isn't so many modules as for D6 yet however it's really powerful, customizable CMS without necessary complexity of some Joomla.

@BigBlue said: But that would strip me of the ability to receive mails sent to my registered TLD, wouldn't it?

@BigBlue said: My guess would be outsourcing the mailserver to Google Apps.

It's few seconds of work with Drupal SMTP module after you set up GoogleApps MX records for your domain (and of course open free GoogleApps account). You can still use all Drupal contact forms, mail registration confirmation, notifications... and rest mailing options from Drupal but it will be remotely send out from your Google Apps mail. I use this setup with most of my Drupal installations.

Well, if that many people use Google Apps Mail, it can't be that bad, so I'll give it a go.
My main address is on Google anyway, and I won't need more than 10 accounts (webmaster, admin & still 8 other ones :3).
For the CMS I'd pin down Drupal, it was my favorite anyway. ^^
The webserver choice seems to have fallen to nginx, as I have yet to hear good reasons against it. SSH and additional proxying will be handled by OpenSSH, which will also handle (s)ftp.
For the database I'm sure I can come up with something. I'm used to MySQL, but I could also switch to NinjaHawk's recommendation, MariaDB.

That said, I would like to get one or two additional RAM and/or bandwidth estimations, just to feel a bit more sure about this. ^^"

Thanks for all these answers and that support :)
I think I'll grab this Prometeus offer, bundled with an .com-domain registered at OVH. That way, I should actually be able to keep the yearly price at less than 30€, while getting good performance, atleast in Europe. ^^

To answer your question about bandwidth, since you're saying this is a new website you have no idea how much bandwidth is being used since you have no visitors so you'll have to keep an eye on this. 100gb per month in bandwidth should be more than enough as one of my sites has been up for over 6 months and ifconfig says 30gb has been used over those 6 months.

I do have atleast the server now, trying to set it up correctly. I am following this tutorial, using MariaDB instead of MySQL, but ran into a dependency problem when trying to install MariaDB. "libmysqlclient18" is going to be installed from the dotdeb-repository, not from the MariaDB one (both are in sources.list), it's the same version, though.
I'd be glab if someone could get me a hint on how to overcome this, maybe prioritize the MariaDB repo

EDIT:

Depends: libmysqlclient18 (= 5.5.25-mariadb1~squeeze) but 5.5.25a-1~dotdeb.1 is to be installed

After quite some time tampering with the server I figured it's time to ask something again.
This morning I started over again, leaving Debian behind and decided to try out Centmin Mod, which was supposed to take care of most things itself. But it is not quite up-to-date, and with my slightly more recent versions (CentOS 6.3 > CentOS 6.2 for example) it quite messed up, leaving most services unstartable.
So I will need to completely start over again, but I'd like to follow an up-to-date guideline (Debian or CentOS) this time. Can anyone recommend me something like that? I guess I don't need a full-scale tutorial, just explained directions on what to install, where to find it's configuration and how to close security holes. ^^"
Thanks in advance.

@BigBlue said:
So I will need to completely start over again, but I'd like to follow an up-to-date guideline (Debian or CentOS) this time. Can anyone recommend me something like that? I guess I don't need a full-scale tutorial, just explained directions on what to install, where to find it's configuration and how to close security holes. ^^"

A nice, informative thread!
I have used Drupal a lot; it is powerful but definitely requires care & feeding :-)
When you combine it with LAMP & multiple (virtual) sites & MySQL Replication, you need quite a bit of RAM; i.e., at least 512MB RAM IMHO.

I have heard that Joomla is faster to get going and looks sexier (i.e., design templates), but Drupal has a solid foundation for more complex stuff in the long run. Again, just what I have heard about Joomla; haven't used it myself.

Just a little upshot, my VPS is now fully functional and configured (atleast I hope so...) and with OpenSSH, nginx, MariaDB, php5/php5-fpm, phpMyAdmin and Drupal running (still default page, I used the minimal installation) it uses up 140MB/384MB. So I've still got 244MB for Drupal when it needs to serve bigger, more complicated pages to more users later. ^-^

I'm working on a manager for minstall but I'm still testing it. Trust me, setting up perfectly optimized LEB with minstall takes half an hour! You'll never look back :-) If interested, I can share my phpMyAdmin install script for minstall.