Skip to content

nginx_apache

andyceo edited this page Oct 23, 2014 · 1 revision

Структура папок и доменов

====== DRUPAL ====== ===== Папка drupal6 ===== ^ Домен ^ Папка ^ | intecco.ru | drupal6 | | alex.intecco.ru | drupal6 | | ntt.intecco.ru | drupal6 | | jivi.intecco.ru | drupal6 | | alex78.ru | drupal6 | | szfpk.ru | drupal6 | | ..... | drupal6 |

===== Папка drupal7 =====

^ Домен ^ Папка ^ |drupal7.intecco.ru | drupal7 | |newsite.ru | drupal7 | |..... | drupal7 |

====== UMI.CMS ====== ===== Папка umi1 =====

^ Домен ^ Папка ^ | bis-english.ru | umi1 | | bis-translate.ru | umi1 |

===== Папка umi2 ===== ^ Домен ^ Папка ^ |newsiteonumi.ru | umi2 |

===== Папка umi3 ===== ^ Домен ^ Папка ^ | newsupaersiteonumi.ru | umi3 |

====== BITRIX ====== ===== Папка bitrix1 ===== ^ Домен ^ Папка ^ | bitrix1.ru | bitrix1 | | bitrix1alias.ru | bitrix1 |

===== Папка bitrix2 ===== ^ Домен ^ Папка ^ | bitrix2.ru | bitrix2 |

===== Папка bitrix3 ===== ^ Домен ^ Папка ^ | bitrix3.ru | bitrix3 |

====== РАЗНОЕ ====== ^ Домен ^ Папка ^ |pma2.intecco.ru | phpmyadmin| |mantis.intecco.ru | mantisbt| |v.intecco.ru | v.intecco.ru| |b.intecco.ru | b.intecco.ru|

Подготовка прав и владельца и группы для файлов веба

Директория веб-проектов: ''/var/www''

На саму папку ''/var/www/'' права такие: ''rwx r-x r-x www-data www-data''

sudo find /var/www/ -type f -exec chmod 644 {} \; sudo find /var/www/ -type d -exec chmod 755 {} \; sudo chown www-data:www-data -R /var/www/

Подготовка пользователя для nginx

nginx будет выполняться из-под этого пользователя. Можно не заморачиваться и использовать www-data.

adduser nginx //добавим пользователя, из-под которого будет работать nginx
id nginx //ПРОВЕРКА
usermod -g www-data nginx
id nginx
usermod -a -G nginx nginx
id nginx
passwd -l nginx

Конфигурация APACHE

====== Файл ''apache2.conf'' ======

Этот файл остается с параметрами по умолчанию, только некоторые параметры критичны для работы Apache в роли бэкенда в связке nginx + Apache, и должны быть изменены в соответствии с этими рекомендациями.

########Добавляем это в самый конец файла####### ###############added by andyceo################# #Настройка RPAF RPAFenable On RPAFsethostname On RPAFproxy_ips 62.152.52.66 127.0.0.1 #RPAFheader X-Forwarded-For

====== Файл ''ports.conf'' ======

# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz

ServerName localhost NameVirtualHost 127.0.0.1:80 Listen 127.0.0.1:80

# If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 127.0.0.1:443 Listen 127.0.0.1:443

====== Виртуальные хосты и default ====== Делаем default-виртуальный хост и затем на основе его творим конфигурации виртуальных хостов. ===== default - дефолтный виртуальный хост =====

Имя файла: ''/etc/apache2/sites-available/default''. Настройки идут практически такие же, как с апачем по дефолту.

ServerAdmin andyceo@yandex.ru
DocumentRoot /var/www/

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<Directory /var/www/>
  Options Indexes -FollowSymLinks -MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride All
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

===== Общая конфигурация мультисайтовой связки на drupal6 ===== Имя файла: ''/etc/apache2/sites-available/drupal6'' <VirtualHost 127.0.0.1:80> ServerAdmin andyceo@yandex.ru ServerName intecco.ru ServerAlias drupal6.intecco.ru

DocumentRoot /var/www/drupal6

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride All
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

===== Общая конфигурация мультисайтовой связки на drupal7 ===== <VirtualHost 127.0.0.1:80> ServerAdmin andyceo@yandex.ru ServerName drupal7.intecco.ru

DocumentRoot /var/www/drupal7

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride All
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

===== pma2.intecco.ru ===== <VirtualHost 127.0.0.1:80> ServerAdmin andyceo@yandex.ru ServerName pma2.intecco.ru

DocumentRoot /var/www/pma.intecco.ru

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride All
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog /var/log/apache2/pma.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/pma.access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

===== v.intecco.ru ===== <VirtualHost 127.0.0.1:80> ServerAdmin andyceo@yandex.ru ServerName v.intecco.ru ServerAlias www.v.intecco.ru

DocumentRoot /var/www/v.intecco.ru

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride All
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

Конфигурация NGINX

====== Виртуальные хосты NGINX ====== Конфигурация виртуальных хостов для NGINX.

===== Файл default ===== Имя файла: ''default''

server { listen 62.152.52.66:80 default; server_name _;

index index.html;

#Корень сайта root /var/www/;

#deny access to .htaccess files, if Apache's document root #concurs with nginx's one location ~ /.ht { deny all; } }

===== Файл drupal6 ===== server { listen 62.152.52.66:80; server_name intecco.ru. www.intecco.ru *.intecco.ru;

настраиваем лог ошибок, не пишем туда про не найденные файлы

log_not_found off;

Перенаправление всех не найденных файлов в апач

error_page 404 403 = @apache;

location ~ .php$ { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

Корень сайта

root /var/www/drupal6/;

location @apache { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

deny access to .htaccess files, if Apache's document root

concurs with nginx's one

location ~ /.ht { deny all; } }

===== Файл drupal7 ===== server { listen 62.152.52.66:80; server_name drupal7.intecco.ru drupal7test.intecco.ru;

настраиваем лог ошибок, не пишем туда про не найденные файлы

log_not_found off;

Перенаправление всех не найденных файлов в апач

error_page 404 403 = @apache;

location ~ .php$ { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

Корень сайта

root /var/www/drupal7/;

location @apache { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

deny access to .htaccess files, if Apache's document root

concurs with nginx's one

location ~ /.ht { deny all; } }

===== Файл other - для других конфигураций =====

Имя файла: ''other''

server { listen 62.152.52.66:80; server_name v.intecco.ru;

root /var/www/v.intecco.ru/;

location ~ .php$ { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

location ~ /.ht { deny all; } }

PMA

server { listen 62.152.52.66:443; # порт https listen 62.152.52.66:80; # порт http server_name pma2.intecco.ru;

root /var/www/phpmyadmin/;

include /etc/nginx/ssl/intecco.conf; # подключение конфигурации ssl

if ( $scheme = "http" ) { rewrite ^/(.*)$ https://$host/$1 permanent; }

location ~ .php$ { proxy_pass http://backend; include /etc/nginx/proxy.conf; }

location ~ /.ht { deny all; } }

Ссылки про nginx

Ссылки про apache+nginx и модуль apache rpaf

sudo apt-get install libapache2-mod-rpaf

Sidebar is under construction

Clone this wiki locally