Okay, so the situation is that there is one big website which we can call website.com. This website is a community that hosts two dozen other websites, most of them are very small websites. These websites use hostnames such as site1.website.com, site2.website.com and so on. This is basically a shared hosting environment where hosted site "owners" do not and will not have shell access, only ftp.
Yet this has caused a lot of security concerns, especially lately as one of the hosted sites was hacked not once, but twice. We were using apache2 mpm-itk and chrooted proftpd so damage was limited only tot he hacked website.
Now, while mpm-itk has done its job very well for very little hassle involved, it's slower than mpm-prefork which is already darned slow and resource hog compared to nginx and lighttpd. It has great compatibility with web applications though, I give it that.
But I've been pondering about virtualization. After researching into Xen, KVM, OpenVZ and what have you, it seems that OpenVZ would be the most ideal choice in this environment because it's lightweight solution (we don't have a monster server) and allows easy post-installation management of virtual servers, or rather containers in OpenVZ's case.
The thing is that we have only one public IP-address serving the two dozen websites. I've figured out that it should be possible to host all these websites in their own containers and yet use one public IP-address, but what I haven't figured out is how.
None of the articles and guides I've found seems to cover this little thing very well, or I am just too ignorant to get it. Would you kind folks be able to give me pointers how exactly do you share single public IP-address among multiple websites in their own OpenVZ containers? What kind of config is required?
Thanks in advance.