Настройка сервера Nginx с конфигурацией Perusio под Drupal (часть 1)

Давно мечтал настроить сервер nginx для друпала с специально заточенной под Друпал конфигурацией Perusio (António P. P. Almeida), человека который хорошо разбирается в nginx и друпале и пожалуй это лучшая конфигурация из доступных.

Почему конфигурация Perusio? Что она дает?

Основные фичи:

  • Использование пары серверных директив для рерайта доменов, обычно для переадресации  www.example.com в example.com или наоборот. Как рекомендуется для nginx на странице Wiki Pitfalls.
  • Поддержка чистых URL.
  • Контроль доступа к cron.php. Его можно запустить только с IP, который ты пропишешь. Это для без драшевой версии. 
  • Поддержка  мультисайтинга.
  • Поддержка Boost модуля.
  • Поддержка виртуальных хостов (файл конфигурации example.com.conf).
  • Поддержка Sitemaps RSS лент.
  • Поддержка для Filefield Nginx Progress модуля для полосы загрузки (upload progress bar).
  • Использование non-capturing регулярных выражений для всехдиректив, которые не перезаписываются, что требуется для использования URI компонентов.
  • Поддержка IPv6 и IPv4.
  • Поддержка использования приватных файлов в друпале.
  • Поддержка hot link protection (защита от показа изображений на других сайтах используя ссылку на твой сайт) imagecache генерируемых изображений.
  • Заканчивание expensive 404s , что обычно Друпал управляет используя апачевский default.htaccess.
  • Возможность использования Апачи как бэкенд для работы с PHP. Имеется ввиду использование Nginx как reverse proxy.
  • Поддержка Advanced Help модуля.
  • Поддержка Advanced Aggregation модуля.
  • Поддержка микрокэширования и для анонимных и для аутентифицированных пользователей.
  • Поддержка escaped URI.
  • Поддержка ETag.
  • Поддержка для drupal 8.
  • Поддержка для file_force модуля.

+ SSL

+ меры безопасности

Но её не так просто установить. На digitalocean (далее DO) этого не удалось, т.к. под свою конфигурацию perusio использует свою сборку nginx, которая хорошо у меня встала только на testing ветку debian, о чем пишет и сам perusio: "This is packaged for Debian unstable or testing".* 

Недавно я заметил небольшое движен продвинутых пользователей от DO в сторону подобного сервиса VULTR.

Его даже называют убийцей DO. Так вот у него можно ставить дистрибутив с любой кастомного образа + цены у них дешевле + бесплатная защита от DDoS. 

Итак начнем.

1. Регистрация. 

Регистрируемся на VULTR.com.

2. Закачка образа. 

Переходим в раздел ISO, закачиваем образ: в поле "Remote URL:" вставляем ссылку на testing Debian http://ftp.ie.debian.org/debian-cd-weekly/amd64/iso-cd/debian-testing-am..., нажимаем кнопку Upload и вуа-ля образ закачался.

3. Установка образа. 

Переходим на вкладку "Deploy" и выбираем "Custom" в разделе "Operating System" и выбираем наш образ, остальные опции на этой странице на твой вкус и жмем "Place order" 

и ждем пока проинсталлит. 

 

Когда закончит инсталяцию, то придет письмо: Vultr.com: Subscription Activated.

Вместо "Installing" появится ссылка "Manage", нажимаем её. 

4. Установка системы. 

Нажимаем "View console"

В консоле увидим начало установки системы, устанавливаем систему.

Когда дойдет до шага установки софта "Software selection", оставляем звездочку только  "SSH server" и "standart system utilities".

!!!! На последнем шаге "Finish the installation" нажимаем "<Continue>", закрываем окно консоли, останавливаем сервер (кнопка "Stop"), переходим на вкладку "Custom ISO" и удаляем образ "Remove ISO".

5. Теперь можно зайти по SSH на наш сервер.

Заходим не из под root (не пустит), а из под пользователя.

Когда зайдем, то меняем пользователя на root:

~$ su

6. Закоменнтим CD источник для пакетов nano /etc/apt/sources.list: 

# deb cdrom:[Debian GNU/Linux testing _Jessie_ - Official Snapshot amd64 CD Binary-1 20150413-06:58]/ jessie main

и добавим репозиторий perusio:


deb http://debian.perusio.net unstable/

deb-src http://debian.perusio.net unstable/
 

Добавляем ключ:

apt-key adv --recv-keys --keyserver keys.gnupg.net add 4D722217

Обновляем источники:

aptitude update

Устанавливаем nginx:

aptitude -t unstable install nginx

проверяем версию, модули nginx: 

nginx -V

должно быть так:

nginx version: nginx/1.7.9
built by gcc 4.9.1 (Debian 4.9.1-19) 
TLS SNI support enabled
configure arguments: --conf-path=/etc/nginx/nginx.conf --with-cc-opt=-fPIC --with-ld-opt=-pie --with-pcre-jit --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-ipv6 --with-file-aio --with-http_secure_link_module --with-http_mp4_module --with-http_image_filter_module --with-http_spdy_module --with-http_auth_request_module --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/nginx-upstream-fair --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/nginx-upload-progress-module --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/lua-nginx-module --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/ngx_http_delay_module --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/ngx_devel_kit --add-module=/home/appa/C/nginx/nginx-1.7.9/modules/ngx_cache_purge

Продолжение -->>

 

  * можно ещё на стабильном смешивать пакеты с помощью APT Pinning, но я не пробывал.

    тогда в /etc/apt/preferences

 

Package: *
Pin: release a=lenny-backports
Pin-Priority: 300
 
Package: *
Pin: release a=testing
Pin-Priority: 200
 
Package: *
Pin: release a=unstable
Pin-Priority: 100
 
Package: *
Pin: release a=experimental
Pin-Priority: 50

 

 и соответственно в source.list добавить соответственные репы.

 

 

 

 

Комментарии отсутствуют.

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Регистрация доменов в зоне RU и РФ всего за 99 рублей.
ßäñòàtitle=