Установка PrestaShop · 8 min read · Oct 19, 2025

Как установить Prestashop с Apache и бесплатным SSL Let's Encrypt на Debian 12

Prestashop — это бесплатное решение для электронной коммерции с открытым исходным кодом, написанное на PHP. Оно позволяет вам самостоятельно размещать и создавать интернет-магазины и развивать ваш онлайн-бизнес. Prestashop — это полностью настраиваемое и функционально насыщенное решение для электронной коммерции, которое позволяет создавать комплексные веб-сайты для электронной торговли. В настоящее время Prestashop используется более чем 250 000 интернет-магазинов по всему миру и доступен на 65 языках.

В этом руководстве я проведу вас шаг за шагом через установку PrestaShop на сервере Debian 12. Вы установите PrestaShop с помощью стека LAMP (Apache2, MariaDB и PHP), а затем защитите вашу установку PrestaShop с помощью сертификатов SL/TLS через Letsencrypt.

Предварительные требования

Перед тем как начать, пожалуйста, подготовьте следующее:

  • Сервер Debian 12.
  • Непользователь с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

PrestaShop — это платформа с открытым исходным кодом для создания интернет-магазина, написанная на PHP с MariaDB/MySQL в качестве базы данных. На следующем шаге вы установите зависимости для PrestaShop, которые включают пакеты стека LAMP (Apache2, MariaDB и PHP) с некоторыми дополнительными расширениями PHP. Вы установите конкретно PHP 8.1 через сторонний репозиторий, потому что текущий PrestaShop все еще не поддерживает PHP 8.2.

Сначала выполните следующую команду, чтобы добавить сторонний репозиторий PHP и GPG-ключ в вашу систему Debian.

sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg  
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Обновите и обновите индекс пакетов Debian, выполнив следующую команду apt.

sudo apt update

После обновления репозитория установите зависимости для PrestaShop, используя следующую команду. Это установит пакеты LAMP Stack (Apache2, MariaDB, PHP 8.1), Certbot, плагин Certbot для Apache и дополнительные расширения PHP, необходимые для PrestaShop.

sudo apt install apache2 mariadb-server certbot python3-certbot-apache php8.1 php8.1-curl php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip php8.1-cli php8.1-mysql php8.1-common php8.1-opcache php8.1-memcached php8.1-bcmath php8.1-gd php8.1-mbstring php8.1-xml php8.1-gmp php8.1-imagick unzip

Введите y, чтобы продолжить установку.

install deps

После установки зависимостей проверьте каждую зависимость, используя следующую команду.

Проверьте службу apache2, чтобы убедиться, что служба работает, выполнив команду systemctl ниже.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Следующий результат будет показан, что подтверждает, что служба apache2 работает и включена.

check apache2

Теперь проверьте службу mariadb, используя следующую команду.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

Вывод ниже подтверждает, что служба mariadb работает и включена.

check mariadb

Наконец, выполните следующую команду, чтобы проверить вашу версию PHP и список включенных расширений.

php -v  
php -m

Вы должны увидеть, что PHP 8.1 установлена на вашем компьютере с Debian, с перечисленными включенными расширениями.

check php

Настройка сервера MariaDB

Теперь, когда вы установили зависимости для PrestaShop, следующий шаг — защитить вашу установку сервера MariaDB с помощью утилиты mariadb-secure-installation. Затем вам нужно будет создать новую базу данных и пользователя для PrestaShop.

Выполните команду mariadb-secure-installation ниже, чтобы защитить вашу установку сервера MariaDB.

sudo mariadb-secure-installation

Введите Y, чтобы подтвердить и применить новую конфигурацию, или n для Нет и отклонить ее. Ниже приведены конфигурации сервера MariaDB, о которых вас спросят:

  • Переключить на аутентификацию unix_socket? Введите n и нажмите ENTER. Пользователь root по умолчанию уже защищен. Опционально, вы также можете включить его, набрав y для да.
  • Изменить пароль root? Введите y, чтобы подтвердить и установить новый пароль root для MariaDB.
  • Удалить анонимного пользователя? Введите y, чтобы подтвердить.
  • Запретить удаленный вход root? Введите y, чтобы подтвердить. Только локальное соединение будет разрешено, если вы используете пользователя root MariaDB.
  • Удалить тестовую базу данных и доступ к ней? Введите y, чтобы подтвердить и удалить базу данных по умолчанию ‘test’.
  • Наконец, снова введите y, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.

Затем выполните команду клиента mariadb ниже, чтобы войти в сервер MariaDB. Введите ваш пароль root для MariaDB, когда будет предложено.

sudo mariadb -u root -p

После входа выполните следующие запросы, чтобы создать новую базу данных prestashopdb, пользователя prestashop с паролем password. Новая база данных и пользователь MariaDB здесь будут использоваться для установки PrestaShop.

CREATE DATABASE prestashopdb;  
GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password';  
FLUSH PRIVILEGES;

Затем выполните следующий запрос, чтобы проверить пользователя MariaDB prestashop.

SHOW GRANTS FOR 'prestashop'@'localhost';

Вывод ниже показывает, что пользователю MariaDB prestashop разрешен доступ к базе данных prestashopdb.

check user privileges

Наконец, введите quit, чтобы выйти из сервера MariaDB.

Настройка PHP

После настройки сервера MariaDB вы настроите вашу установку PHP, изменив файл php.ini. Затем вы также проверите вашу среду, чтобы убедиться, что все, что связано с конфигурацией PHP, соответствует требованиям PrestaShop.

Откройте файл конфигурации PHP по умолчанию /etc/php/8.1/apache2/php.ini с помощью следующей команды редактора nano.

sudo nano /etc/php/8.1/apache2/php.ini

Измените конфигурацию ниже и обязательно настройте параметры date.timezone и memory_limit в соответствии с вашей серверной средой.

date.timezone = Europe/Amsterdam  
max_execution_time = 130  
memory_limit = 256M  
allow_url_fopen = On  
allow_url_include = Off  
post_max_size = 128M  
upload_max_filesize = 128M  
max_input_vars = 5000

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду systemctl, чтобы перезапустить службу apache2 и применить изменения.

sudo systemctl restart apache2

Теперь, когда вы настроили PHP, вы проверите, что ваша серверная среда готова к установке PrestaShop. Это можно сделать, используя проверщик среды, предоставленный PrestaShop.

Перейдите в директорию /var/www/html и загрузите скрипт проверки среды с помощью команды wget ниже. Вы увидите файл v1.1.tar.gz в вашей текущей рабочей директории.

cd /var/www/html  
wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz

Извлеките файл v1.1.tar.gz и переименуйте извлеченную директорию в check-ps.

tar -xf v1.1.tar.gz  
mv php-ps-info-1.1 check-ps

Наконец, откройте ваш веб-браузер и посетите IP-адрес сервера, за которым следует путь check-ps, чтобы получить доступ к скрипту проверки среды PrestaShop, например http://192.168.10.15/check-ps/phppsinfo.php.

Введите имя пользователя по умолчанию prestashop и пароль prestashop, затем нажмите Войти.

login check-ps

Убедитесь, что ваши зависимости, конфигурации PHP и расширения PHP соответствуют требованиям PrestaShop. Если нет, вы можете настроить свои параметры в соответствии с рекомендациями на странице.

ps-checker

Загрузка Prestashop

Теперь, когда сервер MariaDB и PHP настроены, следующий шаг — загрузить исходный код PrestaShop и настроить каталог установки с правильными правами и владельцем.

Переместите вашу рабочую директорию в /var/www/ и загрузите исходный код PrestaShop с помощью команды wget ниже. Обязательно проверьте страницу релизов PrestaShop, чтобы получить последнюю версию PrestaShop.

cd /var/www/  
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.2/prestashop_8.1.2.zip

Теперь извлеките исходный код PrestaShop с помощью команды unzip ниже. Вы должны увидеть исходный код PrestaShop в zip-файле prestashop.zip.

unzip prestashop_8.1.2.zip

Извлеките файл prestashop.zip с помощью команды unzip ниже в целевой каталог /var/www/prestashop. Исходный код PrestaShop будет извлечен в директорию prestashop, поэтому ваш каталог установки Prestashop должен быть /var/www/prestashop.

unzip prestashop.zip -d /var/www/prestashop

Наконец, выполните следующую команду, чтобы установить правильные права и разрешения для каталога установки PrestaShop /var/www/prestashop. Владельцем должно быть www-data с правами u+rw, что означает, что владелец может читать и записывать в целевой каталог.

sudo chown -R www-data:www-data /var/www/prestashop  
sudo chmod u+rw /var/www/prestashop

Настройка виртуального хоста Apache2

На следующем шаге вы создадите новую конфигурацию виртуального хоста Apache2, которая будет использоваться для запуска PrestaShop. Поэтому перед этим убедитесь, что ваше доменное имя указывает на IP-адрес сервера.

Для начала выполните следующую команду, чтобы включить модуль rewrite для Apache.

sudo a2enmod rewrite

enable rewrite

Затем создайте новую конфигурацию виртуального хоста /etc/apache2/sites-available/prestashop.conf с помощью команды редактора nano.

sudo nano /etc/apache2/sites-available/prestashop.conf

Вставьте следующую конфигурацию и обязательно измените доменное имя в параметре ServerName.

  
  
    ServerAdmin [email protected]  
    DocumentRoot /var/www/prestashop  
    ServerName howtoforge.local  
  
      
        # включить переопределения .htaccess  
        AllowOverride All  
        Options +Indexes  
        Require all granted  
         
        # Отключить токен бэк-офиса  
        # SetEnv _TOKEN_ disabled  
      
  
    ErrorLog /var/log/apache2/prestashop.error.log  
    CustomLog /var/log/apache2/prestashop.access.log combined  

Сохраните и закройте файл, когда закончите.

Затем выполните следующую команду, чтобы активировать файл виртуального хоста prestashop.conf и проверить вашу конфигурацию Apache.

sudo a2ensite prestashop.conf  
sudo apachectl configtest

Если у вас правильная конфигурация Apache, будет отображен вывод Syntax OK.

setup vhost

Теперь выполните команду systemctl ниже, чтобы перезапустить службу apache2 и применить изменения.

sudo systemctl restart apache2

Наконец, сгенерируйте сертификаты SSL/TLS для вашего доменного имени PrestaShop, выполнив следующую команду certbot. Обязательно измените адрес электронной почты и доменное имя на вашу информацию.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

После завершения процесса ваш файл виртуального хоста prestashop.conf будет автоматически настроен с HTTPS, и ваши сертификаты SSL/TLS будут доступны в каталоге /etc/letsencrypt/live/howtoforge.local.

Установка PrestaShop через командную строку

На этом этапе вы можете завершить установку PrestaShop через веб-интерфейс или командную строку. В этом примере вы завершите установку PrestaShop через командную строку.

Перейдите в каталог установки PrestaShop /var/www/prestashop/install.

cd /var/www/prestashop/install

Запустите скрипт index_cli.php следующим образом, чтобы начать установку PrestaShop через командную строку. Обязательно измените детали доменного имени, хоста базы данных MariaDB, имени, имени пользователя и пароля. Также обязательно измените адрес электронной почты и пароль, которые будут использоваться в качестве администратора для PrestaShop.

sudo -u www-data php index_cli.php --domain=howtoforge.local --db_server=127.0.0.1 --db_name=prestashopdb --db_user=prestashop --db_password=password --prefix=myps_ [email protected] --password=Passw0rd

После завершения установки будет показан вывод “ Установка успешна “.

install prestashop via command line

Затем выполните следующую команду, чтобы установить правильные разрешения для некоторых каталогов PrestaShop. Это позволит www-data быть владельцем, чтобы читать и записывать в эти целевые каталоги.

sudo chmod u+rw /var/www/prestashop/var/cache  
sudo chmod u+rw /var/www/prestashop/var/logs  
sudo chmod u+rw /var/www/prestashop/img  
sudo chmod u+rw /var/www/prestashop/mails  
sudo chmod u+rw /var/www/prestashop/modules  
sudo chmod u+rw /var/www/prestashop/translations  
sudo chmod u+rw /var/www/prestashop/upload  
sudo chmod u+rw /var/www/prestashop/download  
sudo chmod u+rw /var/www/prestashop/app/config  
sudo chmod u+rw /var/www/prestashop/app/Resources/translations

Теперь выполните команду ниже, чтобы удалить каталог /var/www/prestashop/install и защитить вашу установку PrestaShop.

sudo rm -rf /var/www/prestashop/install

Затем откройте ваш веб-браузер и посетите ваше доменное имя PrestaShop, например http://howtoforge.local/. После успешной установки вы должны быть перенаправлены на безопасное HTTPS-соединение, и вы должны увидеть домашнюю страницу вашей установки PrestaShop.

prestashop homepage

Затем посетите доменное имя PrestaShop, за которым следует путь администратора, например https://howtoforge.local/admin/. Если все пройдет хорошо, вы должны быть перенаправлены на страницу входа в PrestaShop. Также вы можете увидеть, что путь URL по умолчанию для PrestaShop изменился на admin051rgjztgtkvgcie6dp.

Введите ваше имя пользователя администратора и пароль, затем нажмите Войти.

login prestashop

Если у вас есть правильное имя пользователя администратора и пароль, вам будет представлен панель управления администратора PrestaShop.

prestashop dashboard

Еще одно замечание: вы можете выполнить следующую команду, чтобы проверить вход администратора PrestaShop.

ls /var/www/prestashop

Вывод ниже показывает, что страница администратора PrestaShop доступна по адресу admin051rgjztgtkvgcie6dp.

check ps admin

Заключение

В заключение, вы теперь успешно установили PrestaShop на Debian 12 шаг за шагом. Вы установили PrestaShop 8 с LAMP Stack (Apache2, MariaDB и PHP) и защитили установку PrestaShop с помощью сертификатов SSL/TLS. Более того, вы также узнали, как начать установку PrestaShop через командную строку. Теперь вы можете добавлять новые темы и дополнительные расширения, чтобы расширить вашу установку PrestaShop.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.