Конфиг nginx Эгея for vestacp

Настройка Эгеи под VestaCP (nginx)

В папку с правами 644 пользователь root:
nginx + php-fpm
/usr/local/vesta/data/templates/web/nginx/php-fpm5

egea.tpl

server {
    http2      on;
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;
#   if you need to rewrite www to non-www uncomment bellow
#   if ($host != '%domain%' ) {
#       rewrite      ^/(.*)$  http://%domain%/$1  permanent;
#    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ @rewrite;
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }
    }
    location @rewrite {
        rewrite ^/(.*)$ /index.php?go=$uri;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass %backend_lsnr%;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include /etc/nginx/fastcgi_params;
    }

    error_page  403 /error/404.html;
    error_page  404 /error/404.html;
    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   %home%/%user%/web/%domain%/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   %home%/%user%/web/%domain%/stats/;
        include %home%/%user%/conf/web/%domain%.auth*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;
}

и файл
egea.stpl

server {
    http2      on;
    listen      %ip%:%web_ssl_port% ssl
    server_name %domain_idn% %alias_idn%;
    root        %sdocroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

    ssl_certificate      %ssl_pem%;
    ssl_certificate_key  %ssl_key%;
#   if you need to rewrite www to non-www uncomment bellow
#   if ($host != '%domain%' ) {
#       rewrite      ^/(.*)$  https://%domain%/$1  permanent;
#    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ @rewrite;
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }
    }
    location @rewrite {
        rewrite ^/(.*)$ /index.php?go=$uri;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass %backend_lsnr%;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include /etc/nginx/fastcgi_params;
    }

    error_page  403 /error/404.html;
    error_page  404 /error/404.html;
    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   %home%/%user%/web/%domain%/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   %home%/%user%/web/%domain%/stats/;
        include %home%/%user%/conf/web/%domain%.auth*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     %home%/%user%/conf/web/snginx.%domain%.conf*;
}

потом выбираем Web Template NGINX — egea и пользуемся

Поделиться
Отправить
Запинить
 663   2018   vesta   vestacp   эгея
6 комментариев
Атомный трамвай 2018

Это если Нгинкс и Апач. А ежели Нгинкс и ФПМ5, то класть всё в /usr/local/vesta/data/templates/web/nginx/php-fpm5.

Илья Кондитеров 2019

спасибо

m0ze 2019

Добрый день. В конфигах не закрыт доступ к /user/password-reset.psa или /user/password-reset.txt (NginX + PHP-FPM), так что, при отсутствующей почте для восстановления доступа к блогу, есть возможность просто скачать файл с токеном для смены пароля у любого желающего, что не есть хорошо.

Илья Кондитеров 2019

я не знаю как закрыть)

Атомный трамвай 2019

Ах да, ещё. Я не знаю, почему у меня это работало, но конфиг .tpl ваще не должен содержать ssl on; и прочая. Возможно, тогда всё заработало, потому что я не сразу применил этот шаблон (хотя ведь он сразу переопределяется!).

Короче, в итоге в шаблоне для незащищённого соединения у меня оказался порт 443. С чего это? А сертификата-то у меня и нету. Так что поместите s в положенное ей место.

Илья Кондитеров 2020

Я заметку писал очень давно и толком ничего не помню:)

Если вам не сложно отправьте что поправить мне на почту egea@utata.ru

Евгений Захаров 2020

Автор блога, спасибо огромное за конфиг! Сэкономил мне вечер или час-два точно!
Душевно вышло)

Есть микро-опечатка в тексте статьи, которая для начинающих сисадминов может стать фатальной.

Атомный трамвай 2 месяца назад писал что шаб .tpl содержит ssl on; и т. п.

Причина сложностей на самом деле в Ооочень простом моменте.

Надо в статье поставить код файла egea.stpl на место файла egea.tpl
И наоборот.
т. е. код абсолютно верный,
нужно только поменять местами либо названия файлов,
либо их содержимое.

Ещё раз спасибо и офигенного завершения недели ;)
Автору блога и Всем остальным Авторам блогов! ;)

Илья Кондитеров 2020

Спасибо!

done

Атомный трамвай 2020

Евгений Захаров прав, я сам понял механизм, хотя уже после моего коммента растерянности.

Илья Кондитеров 2020

¯\_(ツ)_/¯

Атомный трамвай 10 мес

Годы идут, стираются империи, а эта статья только наращивает свою актуальность.
Тем не менее, надо отметить, что Нгинкс улетел в космос с тех пор (зачем-то), по этой причине нужны изменения в файле stpl.
В строке 2:
<code>listen %ip%:%web_ssl_port% ssl;</code>
А строку 10 удалить:
<code> ssl on;</code>
А ещё Веста тоже пытается угнаться за неудержимым господином Сысоевым и указывает «http2» в директиве «listen». Нгинкс пока по-хорошему говорит, что скоро так будет нельзя, поэтому где-то в начале обоих файлов, вестимо, надо добавить
<code>http2 on;</code>

Илья Кондитеров 7 мес

Благодарю, спасибо!