Есть, я!
Доделывать ещё буду, планирую добавить поддержку поддоменов, веб морду, персональные настройки для доменов в MySQL. Может что-то ещё, предлагайте. Все вопросы можно на форум, в личку или на мыло.
Новая версия, тестируем. Список изменений ниже, не айс, знаю, сессия.
*vhostconfig splitted by two subs - getparams, genvconf added a lot of comments *added cosmetical changes to generated files:
*changed -client_max_body_size 3M; due to "413 Request Entity too large" error
Собрал в кучу доку, если что-то неверно, просьба указать, кусок с mysql писал из головы.
Quote:Общие сведения и принцип работы:
nginx вешаем на 81, апач на 80 (чтобы не лазить ещё и в конфиг панели), поэтому переключаем через iptables.
Далее в скрипте в голове меняем параметры на свои, добавляем MySQL пользователя для доступа к базе ispcp. Лимиты установлены на "/" и ".php", которые дергают апач. Поставлены под себя на основании конфига сайта большого туроператора, которго часто DDOS-или. При желании менять строки - 70,71. Для фрей и линукса автоматом меняет use kqueue/epoll.
Ещё, в апач будут идти коннекты от 127.0.0.1, поэтому, нужно поставить mod-rpaf, который на основании заголовков nginx HOST будет ставить правильную инфу в access.log. Траффик через nginx панелью считаться НЕ БУДЕТ!
Порядок установки:
Установка nginx
aptitude install libpcre3-dev libssl-dev
./configure --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_stub_status_module && make -j2 && make install
После установки nginx создаём пользователя в MySQL базе.
# mysql -u root -p ispcp
mysql> grant all on ispcp.domain to 'nginx'@'localhost' identified by 'your password';
mysql> grant all on ispcp.subdomain to 'nginx'@'localhost' identified by 'your password';
mysql> flush privileges;
После запускаем скрипт
# ./ispcp-nginx.pl
Writing global nginx configuration...done
Writing nginx virtual hosts configuration...
Converting site1.com.ua
Converting site2.in.ua
done
Проверяем синтаксис файлов конфигурации
# /usr/local/nginx/sbin/nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
Если nginx работает, делаем так:
# killall -s HUP nginx
Переключаем входящий траффик на nginx
# iptables -t nat -A PREROUTING -s ! 127.0.0.1 -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 81