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/ і дотримуйтеся кроків майстра встановлення:

  • Виберіть бажану мову інтерфейсу.

webinstall

  • Прийміть ліцензійну угоду.

webinstall1

  • Заповніть адміністративні дані та відомості про ваш магазин.

webinstall2

  • Оберіть бажану тему для вашого магазину.

webinstall3

  • Введіть параметри раніше створеної бази даних: DB_HOST, DB_NAME, DB_USER, DB_PASSWORD.

webinstall4

  • Дочекайтеся завершення встановлення.

webinstall5

webinstall6

Встановлення 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-сертифікат.

Cron-завдання 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

Корисні посилання