nginx module - DragonZX - 11-04-2010 06:45 PM
Russian developer have done module for Apache + nginx chain in panel
Russian post.
Now it's only russian manual. We will be glad, if you translate it on other languages.
RE: nginx module - Alex1 - 11-04-2010 07:27 PM
I can translate it in Bulgarian.
RE: nginx module - DragonZX - 11-05-2010 02:11 AM
Do it plz)
RE: nginx module - Alex1 - 11-05-2010 02:57 AM
what to translate?
RE: nginx module - DragonZX - 11-05-2010 03:53 AM
Documentation (.txt files) and here is the same
http://isp-control.net/documentation/ru:scripte:nginx_module
RE: nginx module - Alex1 - 11-05-2010 05:46 AM
I translate nginx install document
Code:
Инсталиране на модула
Версия на модул: 0.7.1
Версия на ръководство: 1.1
Разработчик: koffu
Ръководство: Enkil, DragonZX
Поддържащи дистрибуции: Debian(Lenny, Squeeze), Ubuntu 10.4
Версия на панела: от 1.0.5 нагоре
Подготовка за инсталация
Ние мислим, че сте инсталирали вече панела и той работи и сте решили да добавите apache nginx мод
Създаваме папка за скрипта
#cd /usr/local/src
# mkdir ispcp-nginx
# cd ispcp-nginx
Изтеглете най-новата версия на панела от форума
# wget http://repo.public-source.ru/ispcp-omega/mods/ispcp2nginx/ispcp-nginx-0.7.1.tar.gz
# tar xvfz ispcp-nginx-0.7.1.tar.gz
Създаваме папка и копираме скрипта
# mkdir /usr/local/nginx
# cp -r ispcp-nginx-0.7.1/* /usr/local/nginx
# cd /usr/local/nginx
Инсталираме mod_rpaf
Инсталираме необходимите модули
# apt-get install libhtml-parser-perl libwww-perl libcompress-zlib-perl apache2-prefork-dev
Рестартираме Apache
# /etc/init.d/apache2 restart
Сваляме и инсталираме mod_rpaf
# cd /usr/local/src
# wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# tar xzf mod_rpaf-0.6.tar.gz
# cd mod_rpaf-0.6
# apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Създаваме файл rpaf-2.0.load и вписваме това
LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.0 x.x.x.x
Включваме модула
# a3enmod rpaf-2.0
рестартираме Apache
# /etc/init.d/apache2 restart
За да проверим дали модула mod_rpaf работи направете файл test.php с това съдържание:
<?
echo $_SERVER['REMOTE_ADDR'];
?>
Инсталиране на nginx
# wget http://sysoev.ru/nginx/nginx-0.8.50.tar.gz
# tar xzf nginx-0.8.50.tar.gz
# cd nginx-0.8.50
# 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
# mkdir /var/log/nginx && chown www-data:www-data /var/log/nginx
След инсталацията на nginx създаваме база данни.
# mysql -u root -p ispcp
USE ispcp
grant select on ispcp.domain to 'nginx'@'localhost' identified by 'вашата парола';
grant select on ispcp.subdomain to 'nginx'@'localhost' identified by 'вашата парола';
grant select on ispcp.domain_aliasses to 'nginx'@'localhost' identified by 'вашата парола';
exit
Прехвърляне на администраторския панел на 443 порт
# mkdir /etc/apache2/ssl
# openssl req -x509 -days 3650 -nodes -new -newkey rsa:2048 -out /etc/apache2/ssl/ispcpweb.pem -keyout /etc/apache2/ssl/ispcpweb.pem
# chmod 600 /etc/apache2/ssl/ispcpweb.pem
# a2enmod ssl
Проверяваме конфигурацията на Apache
# nano /etc/apache2/ports.conf
Променяме порта, на който работи админа
Пълно копиране на раздела
<VirtualHost 111.222.333.444:80>
содержимое секции
</VirtualHost>
и променяме съдържанието на раздела
файла трябва да съдържа
<VirtualHost 111.222.333.444:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
съдържанието на раздела
</VirtualHost>
и по-долу
<VirtualHost 111.222.333.444:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ispcpweb.pem
содержимое секции
</VirtualHost>
Добавяме зареждането на nginx
# nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 20
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ $(ps ax | grep nginx | grep -v grep | wc -l) = "0" ]; then killall -s HUP nginx; fi
endscript
}
Промяна на настройките за достъп до администраторския панел
nano /etc/ispcp/ispcp.conf
BASE_SERVER_VHOST_PREFIX = https://
За да работи правилно трябва да се промени и съдържанието на phpmyadmin
# nano /var/www/ispcp/gui/client/sql_auth.php
на
$fp = fsockopen('ssl://'.Config::get('BASE_SERVER_IP'), 443, $errno, $errstr, 5);
Добавяне на домейни и поддомейни, за което следва да се отмени конфигурация в папката /conf.d
touch /usr/local/nginx/conf.d/site1.bg
touch /usr/local/nginx/conf.d/site2.bg
touch /usr/local/nginx/conf.d/subdomain.site1.bg
touch /usr/local/nginx/conf.d/subdomain.site2.bg
После пускаме скрипта
# ./ispcp-nginx.pl
Когато скриптът работи правилно трябва да видите нещо подобно
//Writing global nginx configuration file...
Writing nginx.conf...done
Converted subdomain.site1.bg
Converted site1.bg
Converted subdomain.site2.bg
Converted site2.bg
Writing nginx virtual hosts configuration file...
Writing vhosts.conf...done//
проверка на синтаксиса на конфигурационните файлове
# nano /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
Добавяме в IPTABLES и пренасочваме целият входящ трафик към сървъра на порт 80 - 81
# iptables -t nat -A PREROUTING ! -s 127.0.0.1 -d Вашият ip address -p tcp --dport 80 -j REDIRECT --to-ports 81
Рестартирайте apache и nginx
# /etc/init.d/apache2 restart
# kill -HUP `cat /var/run/nginx.pid`
RE: nginx module - DragonZX - 11-05-2010 05:59 AM
good, but do it at wiki or translate .txt directly and attach it.
Get it
RE: nginx module - Alex1 - 11-05-2010 07:09 AM
conf-structure_bg
Code:
Описание на конфигурационния файл за интеграция на Nginx модула в хостинг панела ispCP (Български език)
***************************************************************************
***************************************************************************
*** Разработка на модула - koffu ***
*** Инструкция - Enkil ***
*** Адаптация инструкции - DragonZX ***
*** Версия модуля - 0.7.1 ***
*** Успешно тестване на системата (при писане на интструкции) ***
*** ***
*** ispCP 1.0.7 OMEGA ***
*** build: 20100819 ***
*** Операционна система: Ubuntu Server 10.4 LTS ***
***************************************************************************
***************************************************************************
Синтаксиса на файла трябва да е във форма
Име на променлива = стойност
Пространства около знака за равенство нямат никакво значение и за това ще бъдат
премахнати при преработката, кавички и други специални знаци, които не ни трябват.
Описание на променливите
NGINXCONF = /usr/local/nginx/conf/nginx.conf - Главният конфигурационен файл на Nginx.
NGINXVCONF = /usr/local/nginx/conf/vhosts.conf - служи да се определи местоположението на файла с настройки за всички виртуални сървъри
NGINXUSER = www-data - потребителите, с който ще работи nginx
NGINXLOGLOCATION = /var/log/nginx - директорията за лог файловете на nginx
NGINXPIDFILE = /var/run/nginx.pid - директорията за pid файловете на nginx
NGINXPORT = 81 - порта, с който nginx ще работи
APACHEIP = 188.11.11.11 IP-адреса, с който Apache ще работи
APACHEPORT = 80 - порта, с който ще работи apache
Описание за акаунта за достъпа до базата данни ispcp
DBUSER = nginx - потребителя на базата данни
DBPASS = yourpassword - вашата парола за базата данни
PUBLICFOLDER = htdocs - главната директория за уеб съдържанието
STATIC = all - показва, каква роля играе nginx
all - използване на nginx за всички статични домейни
php - използване на nginx за всички статични домейни, който работят само с php
none - използване на nginx за контрол и заявления към apache
readme_bg
Code:
Инструкция по установке модуля интеграции nginx и хостинг-панели ispCP (Русский язык)
***************************************************************************
***************************************************************************
*** Разработка модуля - koffu ***
*** Инструкция - Enkil ***
*** Адаптация инструкции - DragonZX ***
*** Версия модуля - 0.7.1 ***
*** Успешное тестирование на системе (при написании инструкции) - ***
*** ***
*** ispCP 1.0.7 OMEGA ***
*** build: 20100819 ***
*** Операционная система: Ubuntu Server 10.4 LTS ***
***************************************************************************
***************************************************************************
Общи сведения:
Модулът Ispcp2nginx е предназначен за автоматично генериране на конфигурационни файлове за работещ уеб сървър с nginx
За да не се конфигурира самият панел nginx ще работи с порт 81, а Apache с порт 80. Това ще се направи с помощта на IPTABLES
Предвидени са и ограничения, определени в "/" и ". php", който претоварват Apache.
# Поставлены под себя на основании конфигурации сайта большого туроператора, которого часто атаковали. При желании менять строки - 70,71.
# FreeBSD и Linux автоматично заменят kqueue на epoll.
Apache ще получава въпроси от 127.0.0.1, следователно, необходимо е инсталирането на mod-rpaf, който ще записва цялата информация в access.log
Трафика чрез Nginx се счита за несигурен(забранен)
При создании конфигурации скрипт заполнит соответствующую секцию vhosts.conf информацией, взятой из файлов переопределения конфигурации.
Конфигурацию можно не создавать с нуля, а скопировать из файла vhosts.conf, а потом создать на его основе файл переопределения конфигурации.
Если размер файла будет равен нулю, то он будет пропущен.
###################################################################################################
Модуль включает в себя следующие файлы и папки:
/conf.d - папка размещения файлов переопределения конфигурации доменов/поддоменов/алиасов доменов
ispcp-nginx.pl - изпълнимият файл за модула
ispcp-nginx.conf - файла за конфигурация на модула
readme_ru.txt - общата информация на Български език
conf-structure_ru.txt - обяснява структурата на файла ispcp-nginx.conf
installation_ru - Инструкции за инсталиране на Български език
###################################################################################################
installation_bg
Code:
Инсталиране на модула nginx за хостинг панела ispCP (Български език)
***************************************************************************
***************************************************************************
*** Разработка на модула - koffu ***
*** Инструкция - Enkil ***
*** Адаптация инструкции - DragonZX ***
*** Версия модуля - 0.7.1 ***
*** Успешно тестване на системата (при писане на интструкции) ***
*** ***
*** ispCP 1.0.7 OMEGA ***
*** build: 20100819 ***
*** Операционна система: Ubuntu Server 10.4 LTS ***
***************************************************************************
***************************************************************************
Подготовка за инсталация
Ние мислим, че сте инсталирали вече панела и той работи и сте решили да добавите apache nginx мод
Създаваме папка за скрипта
#cd /usr/local/src
# mkdir ispcp-nginx
# cd ispcp-nginx
Изтеглете най-новата версия на панела от форума
# wget http://repo.public-source.ru/ispcp-omega/mods/ispcp2nginx/ispcp-nginx-0.7.1.tar.gz
# tar xvfz ispcp-nginx-0.7.1.tar.gz
Създаваме папка и копираме скрипта
# mkdir /usr/local/nginx
# cp -r ispcp-nginx-0.7.1/* /usr/local/nginx
# cd /usr/local/nginx
Инсталираме mod_rpaf
Инсталираме необходимите модули
# apt-get install libhtml-parser-perl libwww-perl libcompress-zlib-perl apache2-prefork-dev
Рестартираме Apache
# /etc/init.d/apache2 restart
Сваляме и инсталираме mod_rpaf
# cd /usr/local/src
# wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# tar xzf mod_rpaf-0.6.tar.gz
# cd mod_rpaf-0.6
# apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Създаваме файл rpaf-2.0.load и вписваме това
LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.0 x.x.x.x
Включваме модула
# a3enmod rpaf-2.0
рестартираме Apache
# /etc/init.d/apache2 restart
За да проверим дали модула mod_rpaf работи направете файл test.php с това съдържание:
<?
echo $_SERVER['REMOTE_ADDR'];
?>
Инсталиране на nginx
# wget http://sysoev.ru/nginx/nginx-0.8.50.tar.gz
# tar xzf nginx-0.8.50.tar.gz
# cd nginx-0.8.50
# 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
# mkdir /var/log/nginx && chown www-data:www-data /var/log/nginx
След инсталацията на nginx създаваме база данни.
# mysql -u root -p ispcp
USE ispcp
grant select on ispcp.domain to 'nginx'@'localhost' identified by 'вашата парола';
grant select on ispcp.subdomain to 'nginx'@'localhost' identified by 'вашата парола';
grant select on ispcp.domain_aliasses to 'nginx'@'localhost' identified by 'вашата парола';
exit
Прехвърляне на администраторския панел на 443 порт
# mkdir /etc/apache2/ssl
# openssl req -x509 -days 3650 -nodes -new -newkey rsa:2048 -out /etc/apache2/ssl/ispcpweb.pem -keyout /etc/apache2/ssl/ispcpweb.pem
# chmod 600 /etc/apache2/ssl/ispcpweb.pem
# a2enmod ssl
Проверяваме конфигурацията на Apache
# nano /etc/apache2/ports.conf
Променяме порта, на който работи админа
Пълно копиране на раздела
<VirtualHost 111.222.333.444:80>
содержимое секции
</VirtualHost>
и променяме съдържанието на раздела
файла трябва да съдържа
<VirtualHost 111.222.333.444:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
съдържанието на раздела
</VirtualHost>
и по-долу
<VirtualHost 111.222.333.444:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ispcpweb.pem
содержимое секции
</VirtualHost>
Добавяме зареждането на nginx
# nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 20
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ $(ps ax | grep nginx | grep -v grep | wc -l) = "0" ]; then killall -s HUP nginx; fi
endscript
}
Промяна на настройките за достъп до администраторския панел
nano /etc/ispcp/ispcp.conf
BASE_SERVER_VHOST_PREFIX = https://
За да работи правилно трябва да се промени и съдържанието на phpmyadmin
# nano /var/www/ispcp/gui/client/sql_auth.php
на
$fp = fsockopen('ssl://'.Config::get('BASE_SERVER_IP'), 443, $errno, $errstr, 5);
Добавяне на домейни и поддомейни, за което следва да се отмени конфигурация в папката /conf.d
touch /usr/local/nginx/conf.d/site1.bg
touch /usr/local/nginx/conf.d/site2.bg
touch /usr/local/nginx/conf.d/subdomain.site1.bg
touch /usr/local/nginx/conf.d/subdomain.site2.bg
После пускаме скрипта
# ./ispcp-nginx.pl
Когато скриптът работи правилно трябва да видите нещо подобно
//Writing global nginx configuration file...
Writing nginx.conf...done
Converted subdomain.site1.bg
Converted site1.bg
Converted subdomain.site2.bg
Converted site2.bg
Writing nginx virtual hosts configuration file...
Writing vhosts.conf...done//
проверка на синтаксиса на конфигурационните файлове
# nano /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
Добавяме в IPTABLES и пренасочваме целият входящ трафик към сървъра на порт 80 - 81
# iptables -t nat -A PREROUTING ! -s 127.0.0.1 -d Вашият ip address -p tcp --dport 80 -j REDIRECT --to-ports 81
Рестартирайте apache и nginx
# /etc/init.d/apache2 restart
# kill -HUP `cat /var/run/nginx.pid`
translated readme_ru partly because I did not understand some of the words if you are able to translate the English file readme_ru gonna be easier.
RE: nginx module - DragonZX - 11-05-2010 08:08 AM
English version of Readme. Sory for some mistakes. It's very hard work to translate manual into foreign language specific text, if you're don't know how to translate some dialectic words
RE: nginx module - Alex1 - 11-05-2010 09:08 AM
ready
readme_bg.txt
Code:
Инструкции за инсталиране на модула nginx в хостинг панела ispCP (Български език)
***************************************************************************
***************************************************************************
*** Module Development - koffu ***
*** Instruction - Enkil ***
*** Adaptation - DragonZX ***
*** Module version - 0.7.1 ***
*** Hopefully tested on (during writing this manual) - ***
*** ***
*** ispCP 1.0.7 OMEGA ***
*** build: 20100819 ***
*** Operation system: Ubuntu Server 10.4 LTS ***
***************************************************************************
***************************************************************************
Обща информация
Модулът ispcp2nginx е необходим за автоматично създаване на конфигурационни файлове за интерфейса на уеб сървър nginx
За да не се конфигурира ръчно панела, nginx ще използва порт 81, а Apache порт 80 ще използваме препращане чрез IPTABLES
Предвидени са и ограничения, определени в "/" и ".php", който претоварват Apache.
# Той е настроен за себе си, при условие, че цялата конфигурация и целият сайт са били пренатоварени(DDOS-ed) може да промените стринговете на 70-71.
# За FreeBSD и Linux автоматично се променя използвайки kqueue за epoll.
Apache ще има въпроси от 127.0.0.1, за това трябва да инсталирате mod-rpaf, които предоставят заглавията на Nginx и записва точната информация
в access.log. Трафика чрез Nginx няма нищо общо с панела !
По време на създаването на конфигурационният скрипт при пълен пропуск на vhosts.conf с информация взета предварително натоварва конфигурационните файлове.
Конфигурацията може да не се генерира от празни, но копира от vhosts.conf, след предварителното натоварване конфигурационните файлове ще бъдат генерирани.
Ако файловете са празни те ще бъдат пропуснати.
###################################################################################################
Модула използва тези файлове и папки:
/conf.d - Предварително натоварване на конфигурационните файлове директория: domains/subdomeins/aliases' (домейни,поддомейни,домейни,псевдоними)
ispcp-nginx.pl - изпълним файл
ispcp-nginx.conf - конфигурационният файл
readme_bg.txt - Инструкции за инсталиране на модула
conf-structure_bg.txt - Всичко за ispcp-nginx.conf
installation_bg - Инструкции за инсталация
###################################################################################################
|