Не обязательно и VNC, можно различные буферизующие надстройки, типа nx nomachine или x2go.
1. Установите Ubuntu, к примеру.
2. Если еще не установлен, установите Gnome:
sudo apt-get update; sudo apt-get install gnome-shell ubuntu-gnome-desktop
http://wiki.x2go.org/doku.php/doc:installation:x2goserver
4. Скачайте и установите клиента под Windows: http://wiki.x2go.org/doku.php/doc:installation:x2goclient
В моем конкретном примере я для этого использую OpenVZ (proxmox).
KVM/Xen использовался для VPS, где оверхед по барабану. Например бэкап-ноды.
Использование VPS, конечно, удобно с точки зрения поддержки: миграция, бэкап, поэтому на оверхэд можно и махнуть :)
Возвращаясь к теме я все-таки считаю, что ТС не заметит разницы, особенно в случае OpenVZ.
Overhead есть, но я более чем уверен, что вы его не заметите.
Достаточно часто, чтобы повысить безопасность сервера с веб-приложением я на нем создаю отдельные VPS под разные сервисы (база, веб-сервер, ...).
Производительность при этом визуально не меняется Конечно, не берем в расчет highload проекты.
Вообще mysqld_safe как я понимаю должен и так это делать. У вас же он падает, а не Apache.
Но это костыльное решение. Надо ограничивать MaxClients в Apache, размеры буферов и max_connections в MySQL, возможно пробовать использовать pconnect в PHP, чтобы добиться отсутствия перерасхода памяти. Если это не увенчается успехом, значит в вашем конкретном Workload-е 512 мб вам недостаточно и надо переходить на другой тариф (либо просить добавить swap).
Надо посидеть и посчитать. Для простоты скачать mysqltuner и посмотреть максимальный суммарно возможный расход по памяти. Попытаться ужать расход по каким-либо параметрам.
Не мешало бы еще промониторить что память ест. Разрастается ли mysql или веб-сервер отжирает.
Часто получается, что существует много идентичных серверов, которым нужно периодически раскидывать новые версии конфигов, PHP-скриптов. Для этого я использую csync. Его не очень удобно настраивать, но работает без сбоев.
Если задача ограничивается только статикой, то самое простое - это proxy_store в nginx-е.
Я бы тоже посоветовал взять и поставить самому iRedMail, либо попросить это сделать сисдамина за дешево. Чем просить с нуля поднимать всю инфраструктуру :)
Конфиг абсолютно корректный.
Я подозреваю, что ПЕРЕД этой секцией server идет секция основная с ".mydomain.ru" и она отрабатывает.
Т.е. проблема в приоритетах и надо местами конфиги переставить, либо в listen добавить "default" параметр, если это возможно.
Нужна только клиентская библиотека. Сам mysql сервер-то зачем. Для этого есть расширение php.
Вы пробовали команду запускать руками на сервере?