We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Не делает бекапы из-за ошибки при парсинге шаблонов
Не делает бекапы из-за ошибки при парсинге шаблонов
Доброе время суток, в /usr/local/vesta/data/templates/web/nginx/php-fpm добавил свой шаблон, 2 файла обычный tpl и stpl. Домены в панельку добавляются но с ошибкой, но шаблон все равно применяется. Аналогично с ошибкой и удаляются, но из nginx конфига сайт уже не пропадает. Также не делаются бекапы, останавливается все на ошибке:
Error: can't parse template /usr/local/vesta/data/templates/web/nginx/php-fpm/*.tpl
Проблема думаю в том, что я в шаблон прописал регулярное выражение для поддоменов и парсеру это не нравится, подскажите как такое можно скормить панельке, чтобы она не ругалась, может где то подправить что-то можно:
UP.
Проблема решилась, парсер ищет в конфиге домен по прямому вхождению (site.com) без лишних добавлений, чтобы решить проблему в первую секцию server для server_name достаточно добавить: %domain_idn%, после этой процедуры, парсер работает без ошибок.
Error: can't parse template /usr/local/vesta/data/templates/web/nginx/php-fpm/*.tpl
Проблема думаю в том, что я в шаблон прописал регулярное выражение для поддоменов и парсеру это не нравится, подскажите как такое можно скормить панельке, чтобы она не ругалась, может где то подправить что-то можно:
Code: Select all
server {
listen %ip%:%web_port%;
server_name ~^([a-z-]+\.|)%domain_idn%;
set $subdomain "%domain_idn%";
if ($host ~* ^([a-z-]+)\.%domain_idn%) {
set $subdomain $1.%domain_idn%;
}
if ($host ~* ^www.%domain_idn%$) {
set $subdomain "%domain_idn%";
}
rewrite ^(.*) http://www.$subdomain$1 permanent;
}
server {
listen %ip%:%web_port%;
server_name www.%domain_idn% ~^www.([a-z-]+\.)%domain_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;
...
}
Проблема решилась, парсер ищет в конфиге домен по прямому вхождению (site.com) без лишних добавлений, чтобы решить проблему в первую секцию server для server_name достаточно добавить: %domain_idn%, после этой процедуры, парсер работает без ошибок.
Last edited by Twistnv on Fri Oct 06, 2017 1:12 pm, edited 1 time in total.
Re: Не делает бекапы из-за ошибки при парсинге шаблонов
Согласен, скорее всего проблема в регулярке в Service Name.
Предлагаю рассмотреть альтернативную схему:
Для https:
Предлагаю рассмотреть альтернативную схему:
Code: Select all
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
Code: Select all
server {
listen 80;
server_name www.domain.com;
# $scheme will get the http protocol
# and 301 is best practice for tablet, phone, desktop and seo
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80;
server_name domain.com;
# here goes the rest of your config file
# example
location / {
rewrite ^/cp/login?$ /cp/login.php last;
# etc etc...
}
}
Re: Не делает бекапы из-за ошибки при парсинге шаблонов
Вы предложили альтернативу для просто домена site.com, а у меня много поддоменов (site.com, test.site.com, blabla.site.com, vesta.site.com), и их нужно отловить, то что у меня делается регуляркой и передать во второй блок server чтобы вставить после www.
Up.
Во втором блоке server, допустим я могу отказаться от регулярки, вывести все поддомены с www через заполнение формы алиас в панельке. Но как вывести все поддомены без www для первого блока сервер, чтобы редеректить их на www?
Up.
Во втором блоке server, допустим я могу отказаться от регулярки, вывести все поддомены с www через заполнение формы алиас в панельке. Но как вывести все поддомены без www для первого блока сервер, чтобы редеректить их на www?