A question can only have one accepted answer. Are you sure you want to replace the current answer with this one?
You previously marked this answer as accepted. Are you sure you want to unaccept it?
1) So, which plan would you suggest me? I'm pretty sure Apache will eat 512MB RAM plan easily. Could I get away with 1GB ?Apache uses tons of memory, especially when there is a high amount of concurrent users. I would suggest going with nginx instead.
2) What stack do you recommend? LAMP or LEMP? And why? I'm aware that NGINX consumes less resources, but I keep stumbling upon "nginx is good for static content". What about dynamic? Why do I need FastCGI with NGINX and PHP? I know how to configure virtual hosts on Apache, but it looks confusing on NGINX. Also, as I pointed out, I'm relying on .htaccess, if I pick NGINX, I'll have to learn and translate rules. And setting default error pages in NGINX? I'm also aware that NGINX increases my chances to get away with 1GB :Pbut I keep stumbling upon "nginx is good for static content".Nginx is good for static content, but not just for static content. It actually serves dynamic pages faster than Apache.
3) What OS do you recommend and why? Ubuntu, CentOS?I personally use Ubuntu Server.
4) I don't have to explain why I am especially afraid of deploying application to self managed server. Security is really important or I'm in big trouble. What measures do I have to take after I install the stack? Or what else should I install to secure my http and mysql servers? Any suggestions how to optimize them as well?Check out https://www.digitalocean.com/community/community_tags/security.
5) What about server side caching? Do I need it? Does MySQL have it's own caching capabilities or do I have to install something?Try starting off without cache as to not overengineer it and see whether you actually need it or not.