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-сертификат
Крон-задачи 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 |
Полезные ссылки
Официальная документация и ресурсы


