4.1.12 PrestaShop: установка на хостинге и сервере

PrestaShop Banner The Host

PrestaShop — открытая CMS для интернет-магазинов. PrestaShop поддерживает систему модулей и шаблонов, позволяя расширять функциональность без изменения ядра. Благодаря активному сообществу и большому числу готовых расширений, платформа легко адаптируется под любые бизнес-процессы — от витрины товаров до интеграции со службами доставки и CRM.

Подготовка окружения

Требования

  • Активная услуга Хостинга, Виртуального сервера или Выделенного сервера
  • CPU: 2–4 vCPU; RAM: от 4 ГБ; SSD: от 20 ГБ
  • ОС: Ubuntu 22.04 LTS или 24.04 LTS
  • Веб-сервер: Nginx 1.0+ или Apache 2.4+ (рекомендуется Unix-среда)
  • PHP: 8.3–8.4 (рекомендован 8.4), memory_limit512M
  • СУБД: MySQL 5.7+ или MariaDB 10.2+ (рекомендуются актуальные минорные версии)
  • Доступ: root или пользователь с правами sudo

Переменные окружения

  • DOMAIN_NAME — адрес Вашего домена
  • PS_VERSION — версия PrestaShop, например 9.0.0
  • DB_HOST, DB_NAME, DB_USER, DB_PASSWORD — параметры БД
  • WWW_USER, WWW_GROUP — пользователь и группа веб-сервера (обычно www-data)
  • SHOP_NAME, ADMIN_EMAIL, ADMIN_PASS — параметры инсталляции

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

  1. Скачайте дистрибутив PrestaShop. Возьмите стабильную сборку на странице версий и релизов проекта на GitHub

  2. Загрузите архив PrestaShop с помощью менеджера файлов или по FTP.

  3. Создайте пользователя и базу данных.

  4. Запустите установку через веб-интерфейс Откройте http://DOMAIN_NAME/install/ и следуйте шагам мастера установки:

  • Выберите предпочитаемый язык интерфейса

web_install

  • Примите лицензионное соглашение.

web_install_1

  • Заполните административные данные и данные Вашего магазина

web_install_2

  • Выберите предпочитаемую тему для Вашего магазина

web_install_3

  • Введите параметры ранее созданной базы данных DB_HOST, DB_NAME, DB_USER, DB_PASSWORD

web_install_4

  • Дождитесь окончания установки

web_install_5

web_install_6

Установка PrestaShop на сервер

  1. Скачайте дистрибутив PrestaShop. Возьмите стабильную сборку на странице версий и релизов проекта GitHub

    Создание каталога и скачивание архива.
    mkdir -p /var/www/DOMAIN_NAME && cd /var/www/DOMAIN_NAME
    wget -O prestashop.zip "https://github.com/PrestaShop/PrestaShop/archive/refs/tags/9.0.0.zip"
    unzip prestashop.zip && rm prestashop.zip
    
  2. Создайте базу и пользователя БД. Выполните команды:

    Создание БД и пользователя MySQL/MariaDB
      mysql -u root <<'SQL'
    CREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASSWORD';
    GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost';
    FLUSH PRIVILEGES;
    
  3. Установите PHP и расширения. Для Ubuntu 22.04/24.04 установите PHP 8.3 и необходимые модули:

    Установка PHP и расширений (Ubuntu)
    sudo apt update
    sudo apt install -y php8.3 php8.3-fpm php8.3-cli php8.3-mysql php8.3-xml \
      php8.3-gd php8.3-curl php8.3-zip php8.3-intl php8.3-mbstring
    php -v
    php -m | grep -E "mbstring|intl|zip|curl|xml|gd|mysql"
    

    Увеличьте лимиты php в файле php.ini: memory_limit=512M, max_execution_time=300.

  4. Запустите установку через веб-интерфейс. Откройте http://DOMAIN_NAME/install/ и следуйте шагам мастера.

Настройка веб-сервера Nginx

Используйте актуальный пример конфигурации из официальной документации для PrestaShop

/etc/nginx/sites-available/prestashop.conf
server {
    listen 80;
    server_name DOMAIN_NAME;

    root /var/www/DOMAIN_NAME/;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # PHP scripts
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_read_timeout 120;
    }

    # Security: deny direct access to sensitive paths
    location ~* ^/(classes/|config/|download/|mails/|modules/|translations/|tools/|var/) {
        deny all;
        return 403;
    }
}

Создайте ссылку, проверьте конфиг, перезапустите Nginx:

sudo ln -s /etc/nginx/sites-available/prestashop.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Настройка дополнительных функций PrestaShop

SSL-сертификат (HTTPS)

Для работы по защищенному протоколу HTTPS используйте Let’s Encrypt или коммерческий SSL-сертификат

Крон-задачи PrestaShop

Включите регулярные задачи модуля Cron Tasks или настройте системный crontab:

Системный cron для PrestaShop
crontab -e
# раз в 5 минут:
*/5 * * * * wget -q -O - "http://DOMAIN_NAME/modules/cronjobs/cron.php?token=CRON_TOKEN"

Кэширование и производительность

  • Включите OPcache в PHP.
  • На стороне Nginx используйте сжатие и кеширование статических ресурсов, сделать это можно следующим образом.

Проверка работы

  1. Откройте страницу Вашего сайта: http://DOMAIN_NAME/ — должна отображаться витрина без 404 и циклических редиректов.
  2. Авторизация в админ-панели: после установки имя каталога админки получает случайный суффикс. URL будет вида http://DOMAIN_NAME/admin<случайный_хэш>/.
  3. Включите Friendly URL в настройках SEO и проверьте, что страницы и картинки открываются корректно. Для Nginx критично правило try_files.
Типичные проблемы
Ошибка / Симптом Причина Решение
404/редирект на /index.php при включённых Friendly URL Некорректное try_files или конфликт location Примените правило try_files $uri $uri/ /index.php?$query_string;, проверьте дублирующиеся location
500 в админ-панели Ошибка в конфиге Nginx/PHP, несовместимый модуль Сверьтесь с эталонной конфигурацией для PS 9; проверьте логи PHP-FPM
Инсталлятор требует запись во множество папок Неправильные права на файлы и папки сайта, которые мешают процессам пользователя www-data выполнить запись в указанную директорию Выдайте владельца/права на проект
Медленный импорт/обновление Низкие лимиты PHP, нет OPcache memory_limit=512M, включите OPcache
Проблемы с образами товаров на Nginx при Friendly URL Неполные правила для виртуальных URL изображений Сверьтесь с актуальными правилами и обсуждениями по PS 8/9

Полезные ссылки