Перенос сайта на VDS
Здравствуйте, может кто нибудь, что нибудь сможет подсказать, на днях впервые столкнулся с данным движком.
Сегодня попытался перенести, магазин попался на Webasyst 6 Установленная версия: 1.5.6.17 Чтобы на черновом варианте попытаться обновиться до последних версий и на этом черновом варианте собрать все подводные камни.
Попытка переноса на ВДС на ISPManager, Debian 8, Apache на Nginx.
Все делал по инструкции, но в итоге загружается только главная страница и то после удаления Аштакесса в корневой папке.
При попытке попасть на любую другую страницу выдает ошибку
Not Found
The requested URL /contacts/ was not found on this server.
Apache/2.4.10 (Debian) Server at fvsport.com Port 80
Захожу в лог сервера, там вижу
[Tue Nov 22 21:47:05.903824 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Undefined index: hotdeals in /var/www/cuff/data/www/fvsport.com/public_html/wa-cache/apps/sho p/templates/compiled/shop_ru_RU/98/fa/90/98fa90cc74a9103ffa1f466751e8dd76bb4f3ecf.file.home.html.php on line 51 [Tue Nov 22 21:47:05.903883 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Trying to get property of non-object in /var/www/cuff/data/www/fvsport.com/public_html/wa-cac he/apps/shop/templates/compiled/shop_ru_RU/98/fa/90/98fa90cc74a9103ffa1f466751e8dd76bb4f3ecf.file.home.html.php on line 51 [Tue Nov 22 21:47:05.960221 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Undefined index: error in /var/www/cuff/data/www/fvsport.com/public_html/wa-cache/apps/shop/t emplates/compiled/shop_ru_RU/99/37/d0/9937d0930d12cfeb5e7006f0ec38679e1f375f38.file.index.html.php on line 204 [Tue Nov 22 21:47:05.960244 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Trying to get property of non-object in /var/www/cuff/data/www/fvsport.com/public_html/wa-cac he/apps/shop/templates/compiled/shop_ru_RU/99/37/d0/9937d0930d12cfeb5e7006f0ec38679e1f375f38.file.index.html.php on line 204 [Tue Nov 22 21:47:05.967563 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Undefined index: errors in /var/www/cuff/data/www/fvsport.com/public_html/wa-cache/apps/shop/ templates/compiled/shop_ru_RU/99/37/d0/9937d0930d12cfeb5e7006f0ec38679e1f375f38.file.index.html.php on line 228 [Tue Nov 22 21:47:05.967582 2016] [:error] [pid 1621] [client 109.173.43.137:39142] PHP Notice: Trying to get property of non-object in /var/www/cuff/data/www/fvsport.com/public_html/wa-cac he/apps/shop/templates/compiled/shop_ru_RU/99/37/d0/9937d0930d12cfeb5e7006f0ec38679e1f375f38.file.index.html.php on line 228
Но в папке кеша я все удалял, как было написанно в инструкции.
Подскажите пожалуйста, что нужно сделать или может где-то еще нужно постмотреть логи?
9 ответов
mod_rewrite включен у апача?
Да, вот список активных пакетов
Loaded Modules
core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_actions mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authnz_external mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_fs mod_deflate mod_dir mod_env mod_expires mod_filter mod_headers mod_mime mpm_itk prefork mod_negotiation mod_php5 mod_remoteip mod_rewrite mod_setenvif mod_socache_shmcb mod_ssl mod_status mod_suexec mod_vhost_alias
Сложно так помочь.
Попробуйте для начала уберите nginx - если на чистом индейце всё заработает, значит косячит nginx - ковыряйте его.
Я же правильно понимаю, что у вас nginx это вебпрокси, а апач - бэкенд с mod_php?
Спасибо за совет.
Черновик сайта расположен:
# more /etc/hosts
185.87.48.205 fvsport.com
Да, именно такая конфигурация (Кстати при этой конфигурации WordPress с WooCommerce переносил моментально). Правда сайт, который мне попался впервые на Webasyst на днях возможно с правками, подозреваю что поэтому там не делались обновления вообще нигде. Вот и нужно все это исправить, как-то по кусочкам, но блин даже не переносится.
Вот мой фрагмент переписки с ISPManager, по поводу конфигураций сервера VDS на их платформе
Я задал вопрос у ISPManager
Поддержка ответила:
Что я еще попытался сделать.
Задал права на всю папку и подпапки сайта - chmod 775 *....
Пользователя nginx, под которым работает данная служба добавил в группу пользователя, который создатель данной папки с файлами# gpasswd -a nginx cuff и еще добавил его в группу, которую используют ISPManager #gpasswd -a nginx www-data
Чисто Апатчевой конфигурации по дефолтам там нет, но я попытался запустить сайт без Апатча в Нджиникс на дефолтной конфигурации ISPManager - "Nginx + PHP-FPM"
Раз проблема в нем, то думаю надо просто как-то завести на нем.
Тогда открывается пустая страница
Файл на сервере с ошибками nginx вообще пустой.
Файл удачных соединений отработал нормально 109.173.43.137 - - [24/Nov/2016:15:33:33 +0300] "GET / HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
Не понимаю почему на чистом Ngnix не отрабатывает файл index.php, попробовал создать файл index.html с текстом hello world, отработал нормально и надпись появилась.
Может вообще проблема не в nginx?
Файл конфигурации при пустой странице index.php на nginx такой -
Могу скинуть сюда любые логи. И прописать идеальный конфиг nginx под Webasyst, который покажите.
Заранее огромное спасибо за внимание к нашей проблеме!
Эххх....старый я уже для таких вопросов -) Молодняк сюда загонять надо, чтоб глаза горели и пока сайт не поднимет - спать не мог -)
1. Вот тут - http://blog.megazubr.ru/2016/08/100-nginx-php-fpm-...
100% рабочий конфиг nginx+php-fpm для webasyst, юзается на нескольких проектах.
2. Внимательно проверьте конфиг апача. В связке - nginx-фронт+apache-бэк по идее, особых сюрпризов возникать не должно.
Если нету AllowOverride all , то добавьте в <Directory "/путь/до/сайта/public_html">
3. Не смотря на то, что mod_rewrite стоит - убедитесь что он работает.
RewriteRule ^(.*)$ index.php [L,QSA] - это правило в htaccess не зря стоит.
4. Ну а дальше уже начинайте дебажить. Включать все возможные выводы ошибок, трэйсить код т.д. и пр.
Спасибо Вам огромное, Николай!
Очень доходчиво.
Пройду по всем пунктам и отпишусь, чтобы в карму от Гугл и Яши.
Написал конфиг 100% рабочий, может кому пригодится, который будет работат под ISPManager с https и юникод картинками , Nginx + PHP-FPM конфигурация. Соответственно подстовляем свои данные и пути.
#user 'cuff' virtual host 'fvsport.com' configuration file
server {
server_name fvsport.com www.fvsport.com;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/cuff/data/www/fvsport.com/public_html;
access_log /var/www/httpd-logs/fvsport.com.access.log ;
error_log /var/www/httpd-logs/fvsport.com.error.log notice;
listen 185.87.48.205:80;
include /etc/nginx/vhosts-includes/*.conf;
if ($http_user_agent ~* (slurp|bingbot)) {
return 403;
}
try_files $uri $uri/ /index.php?$query_string;
# To allow POST on static pages
error_page 405 =200 $uri;
location /index.php {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location /api.php {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ^~ /wa-data/protected/ {
#return 403;
#X-Accel-Redirect
internal;
}
location ~* ^/wa-(log|config|cache|system)/ {
return 403;
}
location ~* ^/wa-data/public/contacts/photo/[0-9]+/ {
access_log off;
expires 30d;
error_page 404 = @contacts_thumb;
}
location @contacts_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/contacts/photos/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/contacts/photos/thumb.php;
}
# photos app
location ~* ^/wa-data/public/photos/[0-9]+/ {
access_log off;
#expires 30d;
error_page 404 = @photos_thumb;
}
location @photos_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/photos/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/photos/thumb.php;
}
# end photos app
# shop app
location ~* ^/wa-data/public/shop/products/[0-9]+/ {
access_log off;
#expires 30d;
error_page 404 = @shop_thumb;
}
location @shop_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/shop/products/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/shop/products/thumb.php;
}
# end shop app
# mailer app
location ~* ^/wa-data/public/mailer/files/[0-9]+/ {
access_log off;
error_page 404 = @mailer_file;
}
location @mailer_file {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/mailer/files/file.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php;
}
# end mailer app
location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
access_log off;
#expires 30d;
}
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
#если нужен доступ к другим файлам php, а не только через index.php
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
ssi on;
return 301 https://$host:443$request_uri;
}
server {
server_name fvsport.com www.fvsport.com;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/cuff/data/www/fvsport.com/public_html;
access_log /var/www/httpd-logs/fvsport.com.access.log ;
error_log /var/www/httpd-logs/fvsport.com.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
if ($http_user_agent ~* (slurp|bingbot)) {
return 403;
}
try_files $uri $uri/ /index.php?$query_string;
# To allow POST on static pages
error_page 405 =200 $uri;
location /index.php {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location /api.php {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ^~ /wa-data/protected/ {
#return 403;
#X-Accel-Redirect
internal;
}
location ~* ^/wa-(log|config|cache|system)/ {
return 403;
}
location ~* ^/wa-data/public/contacts/photo/[0-9]+/ {
access_log off;
expires 30d;
error_page 404 = @contacts_thumb;
}
location @contacts_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/contacts/photos/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/contacts/photos/thumb.php;
}
# photos app
location ~* ^/wa-data/public/photos/[0-9]+/ {
access_log off;
#expires 30d;
error_page 404 = @photos_thumb;
}
location @photos_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/photos/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/photos/thumb.php;
}
# end photos app
# shop app
location ~* ^/wa-data/public/shop/products/[0-9]+/ {
access_log off;
#expires 30d;
error_page 404 = @shop_thumb;
}
location @shop_thumb {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/shop/products/thumb.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/shop/products/thumb.php;
}
# end shop app
# mailer app
location ~* ^/wa-data/public/mailer/files/[0-9]+/ {
access_log off;
error_page 404 = @mailer_file;
}
location @mailer_file {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_NAME /wa-data/public/mailer/files/file.php;
fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php;
}
# end mailer app
location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
access_log off;
#expires 30d;
}
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
#если нужен доступ к другим файлам php, а не только через index.php
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
ssi on;
add_header Strict-Transport-Security "max-age=31536000;";
listen 185.87.48.205:443;
ssl on;
ssl_certificate "/var/www/httpd-cert/cuff/fvsport.com.crt";
ssl_certificate_key "/var/www/httpd-cert/cuff/fvsport.com.key";
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
Раз уж у вас интернет-магазин, где проходят деньги и личные данные людей то наймите хотя бы на время грамотного unix админа. В вашем конфиге есть ошибки и некоторые вещи которые не рекомендуется делать.
Знай бы я, что в вашем интернет-магазине настраивал человек, который не шарит совсем - я бы ни за что не ввел личных данных. Никаких.
Пока что у меня подозрение только к компетенции Эмиля, почитал посты. К примеру этот -
https://support.webasyst.ru/16796/strannaya-oshibka-v-logakh-nginx/