Конфиг 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 и пользуемся
Это если Нгинкс и Апач. А ежели Нгинкс и ФПМ5, то класть всё в /usr/local/vesta/data/templates/web/nginx/php-fpm5.
спасибо
Добрый день. В конфигах не закрыт доступ к /user/password-reset.psa или /user/password-reset.txt (NginX + PHP-FPM), так что, при отсутствующей почте для восстановления доступа к блогу, есть возможность просто скачать файл с токеном для смены пароля у любого желающего, что не есть хорошо.
я не знаю как закрыть)
Ах да, ещё. Я не знаю, почему у меня это работало, но конфиг .tpl ваще не должен содержать ssl on; и прочая. Возможно, тогда всё заработало, потому что я не сразу применил этот шаблон (хотя ведь он сразу переопределяется!).
Короче, в итоге в шаблоне для незащищённого соединения у меня оказался порт 443. С чего это? А сертификата-то у меня и нету. Так что поместите s в положенное ей место.
Я заметку писал очень давно и толком ничего не помню:)
Если вам не сложно отправьте что поправить мне на почту egea@utata.ru
Автор блога, спасибо огромное за конфиг! Сэкономил мне вечер или час-два точно!
Душевно вышло)
Есть микро-опечатка в тексте статьи, которая для начинающих сисадминов может стать фатальной.
Атомный трамвай 2 месяца назад писал что шаб .tpl содержит ssl on; и т. п.
Причина сложностей на самом деле в Ооочень простом моменте.
Надо в статье поставить код файла egea.stpl на место файла egea.tpl
И наоборот.
т. е. код абсолютно верный,
нужно только поменять местами либо названия файлов,
либо их содержимое.
Ещё раз спасибо и офигенного завершения недели ;)
Автору блога и Всем остальным Авторам блогов! ;)
Спасибо!
done
Евгений Захаров прав, я сам понял механизм, хотя уже после моего коммента растерянности.
¯\_(ツ)_/¯
Годы идут, стираются империи, а эта статья только наращивает свою актуальность.
Тем не менее, надо отметить, что Нгинкс улетел в космос с тех пор (зачем-то), по этой причине нужны изменения в файле stpl.
В строке 2:
<code>listen %ip%:%web_ssl_port% ssl;</code>
А строку 10 удалить:
<code> ssl on;</code>
А ещё Веста тоже пытается угнаться за неудержимым господином Сысоевым и указывает «http2» в директиве «listen». Нгинкс пока по-хорошему говорит, что скоро так будет нельзя, поэтому где-то в начале обоих файлов, вестимо, надо добавить
<code>http2 on;</code>
Благодарю, спасибо!