4.1.12 PrestaShop: встановлення на хостингу та сервері

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_limit≥512M - СУБД: MySQL 5.7+ або MariaDB 10.2+ (рекомендовані актуальні мінорні версії)
- Доступ: root або користувач із правами
sudo
Змінні оточення
DOMAIN_NAME— адреса вашого доменуPS_VERSION— версія PrestaShop, наприклад9.0.0DB_HOST,DB_NAME,DB_USER,DB_PASSWORD— параметри БДWWW_USER,WWW_GROUP— користувач і група вебсервера (зазвичайwww-data)SHOP_NAME,ADMIN_EMAIL,ADMIN_PASS— параметри інсталяції
Встановлення PrestaShop на хостингу
-
Завантажте дистрибутив PrestaShop. Візьміть стабільну збірку на сторінці версій і релізів проєкту на GitHub.
-
Завантажте архів PrestaShop за допомогою менеджера файлів або по FTP.
-
Створіть користувача і базу даних.
-
Запустіть встановлення через вебінтерфейс. Відкрийте
http://DOMAIN_NAME/install/і дотримуйтеся кроків майстра встановлення:
- Виберіть бажану мову інтерфейсу.

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

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

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

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

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


Встановлення PrestaShop на сервер
-
Завантажте дистрибутив 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 -
Створіть базу та користувача БД. Виконайте команди:
Створення БД і користувача MySQL/MariaDBmysql -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; -
Встановіть 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. -
Запустіть встановлення через вебінтерфейс. Відкрийте
http://DOMAIN_NAME/install/і дотримуйтеся кроків майстра.
Налаштування вебсервера Nginx
Використовуйте актуальний приклад конфігурації з офіційної документації для PrestaShop.
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:
crontab -e
# кожні 5 хвилин:
*/5 * * * * wget -q -O - "http://DOMAIN_NAME/modules/cronjobs/cron.php?token=CRON_TOKEN"
Кешування та продуктивність
- Увімкніть OPcache у PHP.
- На боці Nginx використовуйте стиснення та кешування статичних ресурсів. Зробити це можна так.
Перевірка роботи
- Відкрийте сторінку вашого сайту:
http://DOMAIN_NAME/— має відображатися вітрина без 404 і циклічних редиректів. - Авторизація в адмінпанелі: після встановлення назва каталогу адмінки отримує випадковий суфікс. URL матиме вигляд
http://DOMAIN_NAME/admin<випадковий_хеш>/. - Увімкніть 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 |
Корисні посилання
Офіційна документація та ресурси


