Установка PrestaShop на Debian 11 с Apache и Let's Encrypt
TL;DR
Краткое пошаговое руководство по установке PrestaShop на Debian 11 с Apache, MariaDB, PHP и бесплатным SSL от Let’s Encrypt. Описаны подготовка сервера, создание базы, конфигурация Apache, запуск установщика и базовые меры безопасности.

PrestaShop — бесплатное и открытое решение для электронной коммерции. Это гибкая CMS для интернет-магазина с управлением каталогом, складом, доставкой и счётом. Поддерживает более 5000 модулей и множество платёжных шлюзов.
В этом руководстве показано, как установить PrestaShop с веб-сервером Apache и сертификатом Let’s Encrypt на Debian 11.
Для кого это руководство
- Администраторы серверов и разработчики, которые разворачивают магазин на собственном VPS или выделенном сервере.
- Знания: базовые команды Linux, доступ по SSH и права root.
Основные шаги
- Подготовить сервер и домен
- Установить Apache, MariaDB и PHP с расширениями
- Настроить php.ini
- Создать базу данных и пользователя
- Скачать и распаковать PrestaShop
- Настроить виртуальный хост Apache
- Пройти веб-установку
- Получить SSL от Let’s Encrypt
Предварительные требования
- Сервер с Debian 11
- Домен, указывающий на IP сервера
- Настроен root-пароль или доступ по sudo
Установка Apache, MariaDB и PHP
Установите Apache, MariaDB, PHP и необходимые расширения:
apt-get install apache2 mariadb-server libapache2-mod-php php php-gd php-mbstring php-mysql php-curl php-xml php-cli php-intl php-zip unzip -yПосле установки откройте конфигурационный файл PHP для Apache:
nano /etc/php/7.4/apache2/php.iniИзмените или добавьте эти параметры для стабильной работы магазина:
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 32M
date.timezone = UTCСохраните файл и перезапустите Apache:
systemctl restart apache2Важно: версия PHP в пакете может отличаться. PrestaShop 1.7.x обычно работает с PHP 7.2–7.4, но проверьте требования конкретной версии.
Создание базы данных для PrestaShop
Сначала защитите MariaDB и задайте пароль root:
mysql_secure_installationЗатем выполните вход в MariaDB и создайте базу и пользователя:
mysql -u root -pВ интерактивной консоли MariaDB выполните:
MariaDB [(none)]> CREATE DATABASE prestadb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestadb.* TO 'prestauser'@'localhost' IDENTIFIED BY 'yourpass';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Используйте надёжный пароль вместо ‘yourpass’ и запишите его в безопасном месте.
Загрузка PrestaShop
Скачайте последний архив с официального сайта (пример для 1.7.7.7):
wget https://download.prestashop.com/download/releases/prestashop_1.7.7.7.zipРаспакуйте скачанный файл:
unzip prestashop_1.7.7.7.zipЗатем распакуйте установочный zip внутрь корня сайта Apache:
unzip prestashop.zip -d /var/www/html/prestashopУстановите владельца и права доступа:
chown -R www-data:www-data /var/www/html/prestashop/
chmod -R 755 /var/www/html/prestashopНастройка Apache для PrestaShop
Создайте виртуальный хост для вашего домена:
nano /etc/apache2/sites-available/prestashop.confДобавьте конфигурацию (замените адреса и домен своими значениями):
ServerAdmin [email protected]
ServerName presta.example.com
DocumentRoot /var/www/html/prestashop
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
Включите модуль rewrite и сайт, затем перезапустите Apache:
a2enmod rewrite
a2ensite prestashop
systemctl restart apache2Проверьте статус:
systemctl status apache2Пример ожидаемого вывода приведён в оригинальном руководстве и показывает, что Apache активен.
Доступ к веб-интерфейсу установки
Откройте в браузере http://presta.example.com и пройдите шаги установщика.

Выберите язык и нажмите Далее.

Примите условия и нажмите Далее.

Укажите имя магазина и данные администратора.

Введите настройки базы данных, созданные ранее, и продолжите установку.
После успешной установки вы увидите страницу завершения:

Нажмите кнопку управления магазином. В терминале удалите папку установщика:
rm -rf /var/www/html/prestashop/installОткройте панель администратора по URL, который показан в установщике.

Войдите в админку:

После входа вы увидите панель управления:

Получение SSL через Let’s Encrypt
Установите Certbot для Apache:
apt-get install python3-certbot-apache -yЗапустите автоматическую настройку сертификата для вашего домена:
certbot --apache -d presta.example.comВо время работы certbot попросит указать email и принять условия. В конце можно выбрать автоматическое перенаправление HTTP на HTTPS — рекомендуется выбрать перенаправление (вариант 2).
После успешной установки вы увидите сообщение об активации HTTPS. Проверьте конфигурацию на https://www.ssllabs.com/ssltest/ по вашему домену.
Проверки и критерии приёмки
- Сайт должен открываться по https и без ошибок в консоли браузера.
- Панель администратора доступна и позволяет войти под созданной учётной записью.
- Каталог магазина (товары, категории) корректно отображается.
- Веб-сервер отвечает без 500/502 ошибок при загрузке страниц.
Чек-листы ролей
- Системный администратор:
- Настроить резервное копирование базы и файлов
- Настроить автоматическое обновление сертификатов
- Настроить firewall (ufw/iptables)
- Владелец магазина / менеджер контента:
- Проверить шаблон и локализацию
- Настроить способы доставки и оплаты
- Добавить тестовый товар и пройти заказ
- Разработчик:
- Проверить логи Apache и PHP
- Настроить систему кэша (opcache, Varnish при необходимости)
Тесты и приёмка
- Сделать пробный заказ от создания корзины до завершения (платёж можно имитировать).
- Проверить загрузку изображений товаров.
- Проверить работу поиска и фильтров.
- Проверить восстановление из резервной копии базы.
Альтернативы и когда это не подходит
- Nginx: если требуется более высокая производительность при статическом контенте, можно использовать Nginx вместо Apache. Конфигурация и команды для Certbot будут отличаться.
- Docker: для изолированного и воспроизводимого окружения используйте официальные контейнеры PrestaShop и MariaDB.
- Если требуется поддержка очень большого каталога и высокой нагрузки, стоит рассмотреть кластеризацию БД и CDN.
Безопасность и жёсткая настройка (рекомендации)
- Отключите FTP и используйте SFTP или SCP для передачи файлов.
- Отключите показ ошибок PHP в продакшене (display_errors = Off).
- Регулярно обновляйте OS, PHP и модули PrestaShop.
- Настройте fail2ban для защиты от грубой силы в панель администратора.
- Ограничьте доступ к панели администратора по IP, если возможно.
Типовые ошибки и способы их устранения
- Ошибка 500 при установке: проверьте логи Apache (/var/log/apache2/error.log) и права файлов.
- Проблемы с подключением к базе: проверьте параметры хоста, имя пользователя и пароль, а также привилегии в MariaDB.
- SSL не выдан: убедитесь, что DNS для домена указывает на сервер и порт 80 доступен извне.
Краткая методология развертывания (мини-SOP)
- Подготовка сервера: обновление пакетов и назначение безопасности.
- Установка LAMP-компонентов и PHP-расширений.
- Настройка конфигурации PHP и прав доступа к файлам.
- Настройка базы и пользователя.
- Разворачивание файлов PrestaShop и проверка веб-доступа.
- Получение SSL и тестирование HTTPS.
- Проведение тестов и создание резервной копии рабочей конфигурации.
Заключение
Это полное руководство по установке PrestaShop на Debian 11 с Apache и бесплатным SSL от Let’s Encrypt. Вы получили пошаговые команды, настройки и контрольные списки для запуска и проверки магазина.
Важно: всегда создавайте резервные копии перед обновлением и тестируйте изменения в тестовой среде.
Краткое резюме
- Подготовьте сервер и домен
- Установите LAMP и нужные PHP-модули
- Создайте базу данных и распакуйте PrestaShop
- Настройте виртуальный хост и получите SSL
- Пройдите веб-установку и выполните постустановочные проверки
Если нужны примеры конфигураций для Nginx, Docker-контейнеров или чек-листы конкретной роли — напишите, и я дополню руководство.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента