Установка на хостинг

Легкая установка на Бегет

Первые 30 дней хостинга на Бегете предоставляются бесплатно.

  1. Зарегистрируйтесь на хостинге Бегет. В поле Указать код партнера по желанию введите наш партнерский код 566.

  2. Нажмите Регистрация, на телефон придет sms с кодом подтверждения.

3. После ввода кода, вы войдете в панель управления хостингом. Выберите раздел CMS, и затем наш логотип PHPShop:

5. В открывшемся окне придумайте логин и пароль от будущего магазина, нажмите Установить:

6. В разделе CMS появится установленный магазин, по нажатию на который откроются ссылки на витрину и бек-офис магазина:

Если не удается войти в админпанель, введите логин и нажмите галочку Восстановить пароль. На почту придет письмо со ссылкой на сброс пароля. После сброса, вторым письмом придет новый пароль. Авторизуйтесь с новым паролем.

Получение последней версии платформы

Убедитесь, что вы тестируете актуальную версию платформы и шаблона.

Установщик загрузит не последнюю версию. Для получения самой свежей версии, обновите витрину магазина, затем зайдите в админпанель магазина, меню Справка - Мастер обновлений и .

Затем до последней версии в меню Настройки - шаблоны дизайна.

Загрузка товаров на бесплатном тарифе Бегета

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

Загрузите 100-500 товаров и убедитесь в корректности результата:

Пример импорта базы с помощью Q-parser

Пример загрузки базы через Прайс поставщика

Привязка своего домена на Бегете

Демо-версия установится на технический домен. Чтобы перейти на основной домен, нужно:

  1. Зарегистрируйте домен на nic.ru или reg.ru.

  2. В панели управления доменом пропишите dns Бегета (или вашего хостинга). Настройки DNS Бегета:

ns1.beget.com ns2.beget.com ns1.beget.pro ns2.beget.pro

2. Припаркуйте ваш домен в панели Бегета, раздел Домены:

3. Переключите магазин с технического домена на основной. В техническом домене нажмите на иконку цепи 🔗+ и выберите основной домен:

Лицензия выдается на основной домен, который должен совпадать с доменом, который привязан на хостинге.

4. После приобретения платформы, выдается Лицензия на указанный домен. Вам приходит письмо-уведомление, что нужно зайти в PHPShop в меню Справка - О программе и нажать кнопку Синхронизировать лицензию.

Через файл-установщик

Можно быстро установить PHPShop с помощью одного файла.

  1. Распакуйте архив, файлы загрузите через любой ftp-клиент на свой сайт, в корень вашего сайта: www, public_html и другие – зависит от хостинга

  2. Введите в строке браузера адрес: http://имя_вашего_сайта/install.php для обычной установки или http://имя_вашего_сайта/install_utf.php для установки в международной кодировке utf-8

  3. Вы увидите окно установщика, где нужно будет указать пароль от базы данных:

После установки магазина, загрузите все обновления платформы и шаблона, чтобы тестировать актуальную версию.

Обновление через админпанель работает на многих популярных хостингах: Beget, TimeWeb, REG, SpiceWeb, NIC и других. Если хостинг использует усиленную защиту безопасности или является VPS/VDS хостингом, то обновление через админпанель может не работать.

Установка через архив в ручном режиме

Для установки интернет-магазина в ручном режиме:

  1. Cкачайте архив с платформой PHPShop из Центра загрузки в разделе Ручная установка для разработчиков.

2. Подключитесь к своему серверу через FTP-клиент (FileZilla, CuteFTP, Total Commander и др.) или через файловый менеджер на хостинге.

3. Загрузите распакованный архив с PHPShop в корневую директорию для веб-документов (www, public_html и т.д.).

4. Запустите режим ручной установки, через встроенный в PHPShop инсталлятор, по адресу вашего сайта /install/. Откроется окно помощника:

5. Создайте новую базу MySQL на сервере или узнайте пароли доступа к уже созданной базе у Вашего хост-провайдера.

6. Отредактируйте файл связи с базой MySQL config.ini в папке имя_сайта/phpshop/inc/. Измените данные в кавычках " " на свои данные.

[connect]
host="localhost";   # имя хоста базы данных
user_db="user";     # имя пользователя
pass_db="mypas";    # пароль базы
dbase="mybase";     # имя базы
charset="cp1251";   # кодировка базы

Кодировка базы может иметь значения cp1251 (кириллическая по умолчанию) или utf-8 (международная). Для использования utf-8 базой данных, кодировка сервера также должна быть utf-8. Для управления кодировкой сервера можно использовать параметр AddDefaultCharset utf-8 в корневом файле .htaccess.

По умолчанию, установка рассчитана на кодировку сервера windows-1251 и базы данных cp1251. Изменять настройки кодировки рекомендуется только для языков, не имеющих кириллических символов (армянская, азербайджанская и т.д.). База данных в кириллической кодировке cp1251 работает быстрее и занимает меньше места.

7. Теперь обновите страницу Помошника CTRL+F5. Запустите Установщик базы данных - нажмите на зеленую кнопку. Установщик базы запускать необходимо, чтобы создать базу в магазине.

8. Задайте емейл и пароль Администратора магазина, нажмите Далее.

9. Для безопасности удалите папку /install, чтобы никто не смог зайти и переустановить магазин под своими паролями.

10. Установите (проверьте) права на запись в папках на хостинге, это опция CHMOD 777 (UNIX сервера):

/license
/UserFiles/Image
/UserFiles/Files
/1cManager/upload
/1cManager/goods
/phpshop/admpanel/csv
/phpshop/admpanel/dumper/backup

11. Вход в админпанель магазина - нажатием CTRL+F12 c главной страницы сайта.

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

Обновление через админпанель работает на многих популярных хостингах: Beget, TimeWeb, REG, SpiceWeb, NIC и других. Если хостинг использует усиленную защиту безопасности или является VPS/VDS хостингом, то обновление через админпанель может не работать.

Кодировка UTF-8

Кодировка базы может иметь значения cp1251 (кириллическая по умолчанию) или utf-8 (международная). Для использования utf-8 базой данных кодировка сервера так же должна быть utf-8. Для управления кодировкой сервера можно использовать параметр AddDefaultCharset utf-8 в корневом файле .htaccess.

По умолчанию установка рассчитана на кодировку сервера windows-1251 и базы данных cp1251.

Изменять настройки кодировки рекомендуется только для языков, не имеющих кириллических символов (армянская, азербайджанская и т.д.). База данных в кириллической кодировке cp1251 работает быстрее и занимает меньше места.

Статья на Хабре на тему кодировки.

Для установки PHPShop в кодировке utf-8, перейдите по адресу сайта /install/index_utf.php.

Для замены отображения страницы 404 ошибки в кодировке utf-8 замените строку в корневом файле .htaccess с ErrorDocument 404 /404.html на ErrorDocument 404 /403.html

Быстрая установка через командную строку

Существует возможность для Unix пользователей, имеющих доступ к командной строке SSH, запустить установку PHPShop через специальный shell установщик. Требуется выполнить команды:

wget https://www.phpshop.ru/sh/install.sh
sh install.sh 

Для установки потребуется указать параметры доступа к MySQL базе.

Поддерживается загрузка и установка одной строкой через передачу всех параметров в виде аргументов для install.sh

wget https://www.phpshop.ru/sh/install.sh
sh install.sh localhost shop_bduser shop_bdname shop_bdpass admin_name admin_pass admin_mail path    

Поэтапная установка через командную строку

Файлы для запуска в командной строке собраны в папке /sh и доступы после распаковки архива. Все действия нужно выполнять в корневой директории сайта для документов public_html и т.д.

cd public_html
wget https://install.myphpshop.ru/load/enterprise6.zip
unzip enterprise6.zip
cd sh
sh install.sh

Поддерживается передачу всех параметров в виде аргументов для install.sh

cd public_html
wget https://install.myphpshop.ru/load/enterprise6.zip
unzip enterprise6.zip
cd sh
sh install.sh localhost shop_bduser shop_bdname shop_bdpass admin_name admin_pass admin_mail

При возникновении ошибки создания новых записей в MySQL нужно на время выставить параметр sql_mode в конфигурационном файле /etc/mysql/my.cnf и перезапустить MySQL.

[mysqld]
sql-mode=""

Ngnix настройка

При использовании Ngnix на сервере и отсутствии обработки .htaccess файлов Apache следует использовать следующую настройку в nginx.conf

    location / {
       try_files $uri $uri/ @phpshop;
       index index.php index.html index.htm;
    }

    location ~ .php$ {
       try_files $uri @phpshop;
       fastcgi_pass   unix:/tmp/php-fpm.sock;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
    }

    location @phpshop {
       fastcgi_pass   unix:/tmp/php-fpm.sock;
       fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
       include        fastcgi_params;
    }

Так же рекомендуем ознакомиться с возможными проблемами и их решениями. Можно воспользоваться онлайн Конвертером конфигураций .htaccess в Ngnix

Настройка хостинга

Для корректной работы PHPShop на хостинге должна быть выбрана кодировка (по умолчанию) windows-1251 и отключена функция mbstring func overload в настройках параметров PHP. В противном случае, сайт будет отображаться с битыми символами или вместо главной страницы сайта открываться белая страница.

Смена кодировки на UTF-8

Если вы установили сайт в кодировке windows-1251 и хотите сменить его на UTF-8, то следуйте инструкции:

  1. Создать резервную копию база данных через База - Резервные копирование или через хостинг.

  2. Узнать имя своей базы данных через Справка - О программе - Имя базы данных.

  3. Выключить по возможности все модули.

  4. Заменить 4 строку в корневом файле .htaccess с AddDefaultCharset windows-1251 на AddDefaultCharset utf-8

  5. Заменить 6 строку в конфигурационном файле phpshop/inc/config.ini c charset = "cp1251"; на charset = "utf-8";

  6. В меню Настройки - Основные выбрать язык сайта и язык панели управления russian_utf

  7. Выполнить все 7 действий через утилиту хостинга phpMyAdmin по инструкции, в шаге 3 команда будет следующая:

SELECT CONCAT('ALTER TABLE `', tbl.`TABLE_SCHEMA`, '`.`', tbl.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') 
FROM `information_schema`.`TABLES` tbl WHERE tbl.`TABLE_SCHEMA` = 'phpshopshop_dbase'

где вместо phpshop_dbase подставить имя своей базы данных, полученную в п.2

Замедленнее в работе

Если после наполнения магазина товарами в пользовательской части сайта наблюдается замедленнее в работе, то это может быть по нескольким причинам:

  • Нехватка памяти под процессы PHP - требуется увеличить память в настройках хостинга.

  • Активирован режим конвертации изображений в формат webp в реальном времени - требуется его отключить в разделе Настройки - Изображения - "Вывод в webp".

  • Зацикливание каталогов или дополнительных каталогов - требуется выполнить SQL команды в разделе База - SQL запрос к базе:

UPDATE phpshop_categories SET parent_to=0 WHERE parent_to=id;
UPDATE phpshop_categories SET dop_cat="";
  • Отсутствие индексов в БД - для больших товарных баз (более 50 000) актуально наличие индексов в таблице товаров. Требуется выполнить SQL команды в разделе База - SQL запрос к базе:

ALTER TABLE `phpshop_products` ADD INDEX(`spec`);
ALTER TABLE `phpshop_products` ADD INDEX(`newtip`);
ALTER TABLE `phpshop_products` ADD INDEX(`yml`);
ALTER TABLE `phpshop_products` ADD INDEX(`parent_enabled`);
ALTER TABLE `phpshop_products` ADD INDEX(`sklad`);
ALTER TABLE `phpshop_products` ADD INDEX(`dop_cat`);
ALTER TABLE `phpshop_categories` ADD INDEX(`vid`);
ALTER TABLE `phpshop_categories` ADD INDEX(`skin_enabled`);
ALTER TABLE `phpshop_categories` ADD INDEX(`menu`);
ALTER TABLE `phpshop_categories` ADD INDEX(`tile`);
ALTER TABLE `phpshop_categories` ADD INDEX(`podcatalog_view`);
ALTER TABLE `phpshop_categories` ADD INDEX(`dop_cat`);

Если после наполнения магазина товарами сразу в пользовательской и административной частях сайта наблюдается замедленнее в работе, то это свидетельствует о большой нагрузке на сайт из-за возросшего трафика посетителей или спам ботов. Для снятия нагрузки нужно увеличивать мощность хостинга или переходить на тарифы VPS/VDS.

Last updated