Настройка nginx+apache на сервере directadmin

Болтаем последнюю стабильную версию nginx с официального сайта http://nginx.org/ru/download.html

wget http://nginx.org/download/nginx-1.2.6.tar.gz
tar xzf nginx-1.2.6.tar.gz
cd nginx-1.2.6

Настраиваем со следующими опциями, опции можете изменить на свое усмотрение, и устанавливаем:

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/etc/nginx.conf --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --user=apache --group=apache --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module
make
make install

Дополняем сервис nginx.

wget -O /etc/init.d/nginx http://unixblog.in.ua/files/nginx/nginx

Верховодим конфигурационный файл nginx-а, указываем что бы он слушал 85-й порт. Или можете скачать готовый конфиг.

wget http://unixblog.in.ua/files/nginx/nginx.conf

Включаем файл, в котором будут хранится записи о пользователях, предварительно создав его.

touch /usr/local/nginx/etc/virtual.conf

Что бы уважительно отображались картинки в phpMyAdmin, создадим симлинк:

Читайте также:  Регулировка яркости экрана на Depo с Ред ОС - как это сделать

ln -s /var/www/html/phpMyAdmin /var/www/html/phpmyadmin

Все наладка nginx-а закончена.

Установка плагина

Скачиваем, распаковываем и заходим в папку установки:

wget http://unixblog.in.ua/files/nginx/nginx_plugin.tar.gz
tar -xzvf nginx_plugin.tar.gz
cd nginx_plugin
./install

Все, аппарат завершена, выполняем создание конфигурационных файлов для ранее созданных пользователей

/usr/local/directadmin/scripts/nginx_direct.sh all
/etc/init.d/nginx start

Бросим nginx (если он запустился самостоятельно, делаем restart).

service nginx restart

Сейчас нужно добавить nginx в автозагрузку и прописать правила iptables, для проброса портов:

chkconfig --add nginx
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 80 -j DNAT --to-destination xxx.xxx.xxx.xxx:85
iptables-save > /etc/sysconfig/iptables

Аппарат связки завершена.

Еще нужно будет прикрутить mod_rpaf к apache, для этого можно пользоваться инструкцией Установка mod_rpaf.

Читайте также:  Основы команды man и её использование для поиска справочной информации в Unix и Linux

Немного о плагине.

Шаблоны конфигурационных файлов nginx, искается в папке /usr/local/directadmin/data/templates/custom.
Так же есть возможно создавать раздельный конфиг файлы nginx-а для определённого домена. Для этого нужно создать файл (именованная область данных на носителе информации): /usr/local/directadmin/data/users/USERNAME/domains/DOMAIN_NAME.custom_nginx, в нем досоздать виртуальный хост с нужными настройками и переписать конфигурационный файл для пользователя:

/usr/local/directadmin/scripts/nginx_direct.sh -u username

Что бы скопировать конфигурационные файлы для всех пользователей, нужно запустить скрипт с параметром “all”

/usr/local/directadmin/scripts/nginx_direct.sh all

Когда nginx при рестарте выдает массово [warn]: conflicting server name, значит непонятно какой из доменов в конфиге встречается несколько раз.

Решение проблемы:

1) Чистим все настройка от данного домена(/usr/local/directadmin/data/users/USERNAME/nginx.conf /usr/local/nginx/etc/virtual.conf)

2) Многочисленно пересоздаем конфигурационные файлы

Читайте также:  Преимущества Linux Mint с рабочим окружением Cinnamon для удобной и стабильной работы

find /usr/local/directadmin/data/users/*/ -name nginx.conf -print | tar czf /root/nginxusersconf.tar.gz -T -
find /usr/local/directadmin/data/users/*/ -name nginx.conf -delete
rm -f /usr/local/nginx/etc/virtual.conf
touch /usr/local/nginx/etc/virtual.conf
/usr/local/directadmin/scripts/nginx_direct.sh all