Перенос сайта на 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 ответов

  • 2

    mod_rewrite включен у апача?

  • 2

    Да, вот список активных пакетов

    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

  • 3

    Спасибо за совет.

    Черновик сайта расположен:

    # more /etc/hosts
    185.87.48.205 fvsport.com



    Да, именно такая конфигурация (Кстати при этой конфигурации WordPress с WooCommerce переносил моментально). Правда сайт, который мне попался впервые на Webasyst на днях возможно с правками, подозреваю что поэтому там не делались обновления вообще нигде. Вот и нужно все это исправить, как-то по кусочкам, но блин даже не переносится.
    Вот мой фрагмент переписки с ISPManager, по поводу конфигураций сервера VDS на их платформе

    Я задал вопрос у ISPManager

    В Nginx прописано
    Код:
    proxy_pass http://127.0.0.1:8080;
    proxy_redirect http://127.0.0.1:8080 /;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
    Тоесть это получается, что он прокси, а апач на бекенде, я правильно понимаю? Как можно их поочереди отключать в ISPManager для определенного сайта не выключая службы(нужно определить, в ком из них проблема)? Отключать службу нельзя потому что крутятся несколько доменов

    Поддержка ответила:

    В стандартной установке nginx "слушает" 80й и 443й порты, а apache только 8080.
    Соответственно, все внешние запросы обрабатывает nginx и передаёт их в apache в случае работы с динамическим содержимым.
    Проблему лучше всего искать в логах того или другого. Отключать их отдельно для домена нельзя, но можно менять конфигурацию в панели ISPmanager в меню "Домены" -> "WWW-домены" -> кнопка "Конфиг"

    Что я еще попытался сделать.

    Задал права на всю папку и подпапки сайта - 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 такой -

    #user 'cuff' virtual host 'fvsport.com' configuration file
    server {
    	server_name 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;
    	location / {
    		location ~ [^/]\.ph(p\d*|tml)$ {
    			try_files /does_not_exists @php;
    		}
    	}
    	location @fallback {
    		access_log off ;
    	}
    	location @php {
    		fastcgi_index index.php;
    		fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f kodzero@fvsport.com";
    		fastcgi_pass unix:/var/www/php-fpm/cuff.sock;
    		fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
    		try_files $uri =404;
    		include fastcgi_params;
    	}
    	ssi on;
    	listen 185.87.48.205:80;
    	listen 172.16.220.6:80;
    }
    

    Могу скинуть сюда любые логи. И прописать идеальный конфиг nginx под Webasyst, который покажите.

    Заранее огромное спасибо за внимание к нашей проблеме!





    • +3

      Эххх....старый я уже для таких вопросов -) Молодняк сюда загонять надо, чтоб глаза горели и пока сайт не поднимет - спать не мог -)

      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. Ну а дальше уже начинайте дебажить. Включать все возможные выводы ошибок, трэйсить код т.д. и пр.

  • 3

    Спасибо Вам огромное, Николай!
    Очень доходчиво.

    Пройду по всем пунктам и отпишусь, чтобы в карму от Гугл и Яши.

  • 3

    Написал конфиг 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;
    }



    • +2

      Раз уж у вас интернет-магазин, где проходят деньги и личные данные людей то наймите хотя бы на время грамотного unix админа. В вашем конфиге есть ошибки и некоторые вещи которые не рекомендуется делать.

      Знай бы я, что в вашем интернет-магазине настраивал человек, который не шарит совсем - я бы ни за что не ввел личных данных. Никаких.


  • 1

    Пока что у меня подозрение только к компетенции Эмиля, почитал посты. К примеру этот -

    https://support.webasyst.ru/16796/strannaya-oshibka-v-logakh-nginx/


Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите