Current time: 04-20-2024, 05:04 AM Hello There, Guest! (LoginRegister)


Post Reply 
nginx module
Author Message
DragonZX Offline
Moderator
*****
Moderators

Posts: 441
Joined: Aug 2010
Reputation: 5
Post: #1
nginx module
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.
(This post was last modified: 11-04-2010 06:45 PM by DragonZX.)
11-04-2010 06:45 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Alex1 Offline
Junior Member
*

Posts: 96
Joined: Nov 2008
Reputation: 0
Post: #2
RE: nginx module
I can translate it in Bulgarian.
11-04-2010 07:27 PM
Find all posts by this user Quote this message in a reply
DragonZX Offline
Moderator
*****
Moderators

Posts: 441
Joined: Aug 2010
Reputation: 5
Post: #3
RE: nginx module
Do it plz)
11-05-2010 02:11 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Alex1 Offline
Junior Member
*

Posts: 96
Joined: Nov 2008
Reputation: 0
Post: #4
RE: nginx module
what to translate?
11-05-2010 02:57 AM
Find all posts by this user Quote this message in a reply
DragonZX Offline
Moderator
*****
Moderators

Posts: 441
Joined: Aug 2010
Reputation: 5
Post: #5
RE: nginx module
Documentation (.txt files) and here is the same
http://isp-control.net/documentation/ru:...inx_module
11-05-2010 03:53 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Alex1 Offline
Junior Member
*

Posts: 96
Joined: Nov 2008
Reputation: 0
Post: #6
RE: nginx module
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`
11-05-2010 05:46 AM
Find all posts by this user Quote this message in a reply
DragonZX Offline
Moderator
*****
Moderators

Posts: 441
Joined: Aug 2010
Reputation: 5
Post: #7
RE: nginx module
good, but do it at wiki or translate .txt directly and attach it.
Get it


Attached File(s)
.txt  installation_ru.txt (Size: 7.5 KB / Downloads: 9)
.txt  readme_ru.txt (Size: 2.44 KB / Downloads: 8)
.txt  conf-structure_ru.txt (Size: 2.15 KB / Downloads: 4)
(This post was last modified: 11-05-2010 06:06 AM by DragonZX.)
11-05-2010 05:59 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Alex1 Offline
Junior Member
*

Posts: 96
Joined: Nov 2008
Reputation: 0
Post: #8
RE: nginx module
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.
11-05-2010 07:09 AM
Find all posts by this user Quote this message in a reply
DragonZX Offline
Moderator
*****
Moderators

Posts: 441
Joined: Aug 2010
Reputation: 5
Post: #9
RE: nginx module
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


Attached File(s)
.txt  readme_en.txt (Size: 2.32 KB / Downloads: 18)
(This post was last modified: 11-05-2010 05:47 PM by DragonZX.)
11-05-2010 08:08 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Alex1 Offline
Junior Member
*

Posts: 96
Joined: Nov 2008
Reputation: 0
Post: #10
RE: nginx module
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 - Инструкции за инсталация

################################################################################​###################
11-05-2010 09:08 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)