Гид по технологиям

Установка PrestaShop на Ubuntu 24.04 с LAMP и Composer

8 min read Интернет-магазины Обновлено 28 Nov 2025
Установка PrestaShop на Ubuntu 24.04
Установка PrestaShop на Ubuntu 24.04

PrestaShop логотип и схема LAMP

PrestaShop — это бесплатное и открытое решение для электронной коммерции на PHP. С его помощью можно создать интернет-магазин, развернуть его на собственном сервере и масштабировать бизнес. PrestaShop полностью настраиваемый и оснащён множеством функций для построения комплексных e‑commerce сайтов. По состоянию на последнее официальное сообщение платформа используется тысячами магазинов и доступна на многих языках.

В этом руководстве вы узнаете, как установить PrestaShop на сервер Ubuntu 24.04 с LAMP (Linux, Apache, MariaDB, PHP) и Composer, как подготовить PHP и базу данных, как настроить виртуальный хост Apache и получить SSL‑сертификат от Let’s Encrypt.

Важно: инструкции предполагают, что вы работаете от имени пользователя с правами sudo и владеете доменом, указывающим на IP‑адрес сервера.

Содержание

  • Требования
  • Установка зависимостей (LAMP, Composer, Git)
  • Настройка PHP
  • Настройка MariaDB и создание базы данных
  • Проверка окружения PrestaShop
  • Скачивание PrestaShop
  • Настройка виртуального хоста Apache
  • Защита HTTPS через Certbot
  • Установка через веб‑мастер установки
  • Постустановочные шаги и удаление каталога install
  • Рекомендации по безопасности, отладке и бэкапам
  • Чек‑листы для ролей, краткое руководство и критерии приёмки

Требования

  • Сервер Ubuntu 24.04 с подключением к интернету.
  • Ненулевой (non-root) пользователь с правами sudo.
  • Доменное имя, указывающее на IP сервера (A/AAAA запись).
  • Резервная копия или снимок сервера перед началом работ (strongly recommended).

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

PrestaShop требует среды LAMP, Composer и Git. В примерах ниже используется MariaDB как сервер базы данных.

Сначала обновите индекс пакетов Ubuntu:

sudo apt update

Далее установите необходимые пакеты. Команда собирает Apache, MariaDB, Composer, Git и все нужные расширения PHP для корректной работы PrestaShop.

sudo apt install apache2 mariadb-server composer git php php-curl php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick

Совет: при появлении запроса подтверждения введите Y и нажмите Enter.

Установка зависимостей: вывод apt

После установки проверьте состояние Apache:

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Ожидаемый результат — служба включена и активна.

Проверка Apache: служба запущена

Проверка MariaDB:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Ожидаемый результат — MariaDB также активна и включена.

Проверка MariaDB: служба запущена

Проверьте версию PHP и список включённых модулей:

php -v
php -m

На большинстве современных установок будет PHP 8.3 или выше с включёнными расширениями вроде fileinfo, gd и opcache.

Проверка PHP: версия и модули

Проверьте версию Composer и Git:

sudo -u www-data composer --version
git --version

Важно: запуск Composer от имени www-data проверяет, что веб‑пользователь сможет выполнять Composer‑команды при необходимости.

Настройка PHP

PrestaShop требует корректной конфигурации PHP (память, время выполнения, загрузки файлов). Откройте файл php.ini для Apache (пример для PHP 8.3):

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

Измените или добавьте настройки в соответствии с ресурсами вашего сервера. Пример конфигурации:

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

Примечение: замените date.timezone на ваш часовой пояс (например, Europe/Moscow) и увеличьте memory_limit при ограниченных ресурсах.

Сохраните файл и перезапустите Apache:

sudo systemctl restart apache2

Важно: если вы используете PHP‑FPM и Nginx, конфигурация PHP‑FPM будет в другом каталоге (/etc/php/8.3/fpm/php.ini).

Настройка MariaDB и создание базы данных

Защитите MariaDB и создайте отдельную базу данных и пользователя для PrestaShop.

Выполните скрипт безопасной установки MariaDB:

sudo mariadb-secure-installation

Вы будете поочерёдно опрошены о параметрах (сменить метод аутентификации unix_socket, установить пароль root, удалить анонимных пользователей, запретить удалённый root вход, удалить тестовую базу, перезагрузить привилегии). Ответы: в большинстве случаев вводите Y, а при unix_socket введите n, если хотите использовать пароль для root.

Подключитесь к MariaDB как root (по паролю, если вы его установили):

sudo mariadb -u root -p

Создайте базу данных и пользователя (поменяйте имя базы, пользователя и пароль на собственные):

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

Проверьте права пользователя:

SHOW GRANTS FOR prestashop@localhost;

Создание базы и проверка привилегий

Завершите работу клиента MariaDB:

quit

Совет: используйте надёжный пароль и по возможности отдельного пользователя с доступом только к базе PrestaShop.

Проверка серверного окружения PrestaShop

PrestaShop предоставляет утилиту проверки окружения (ps‑info). Скачайте её в каталог веб‑сервера и убедитесь, что все требования выполнены.

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

Распакуйте и переименуйте каталог:

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

Перейдите в браузере на адрес http://server-ip/ps-check/phppsinfo.php. Стандартный логин/пароль — prestashop / prestashop. Проверьте сообщения: зелёные — OK, жёлтые/красные — требуют вмешательства.

Проверка окружения PrestaShop через ps-check

Важно: после проверки удалите или защитите утилиту ps-check, чтобы не оставлять в открытом доступе информацию о системе.

Скачивание PrestaShop

Вы можете установить PrestaShop двумя способами: через Composer или скачав архив с GitHub/релиза. В примере ниже показана установка путём скачивания архива.

Создайте каталог для сайта:

mkdir -p /var/www/prestashop

Перейдите в каталог и скачайте релиз. Обратите внимание: проверяйте страницу релизов PrestaShop, чтобы получить актуальную версию:

cd /var/www/prestashop
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.6/prestashop_8.1.6.zip

Распакуйте архив:

unzip prestashop_8.1.6.zip

Установите права и владельца каталога (веб‑сервер Apache под пользователем www-data):

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

Совет: если вы используете SELinux или AppArmor, дополнительно настройте контексты/права для Apache.

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

Убедитесь, что домен указывает на ваш сервер. Включите необходимые модули Apache:

sudo a2enmod rewrite headers ssl

Создайте файл виртуального хоста:

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

Пример конфигурации (замените ServerName и контактный email):


    ServerName howtoforge.local
    ServerAdmin [email protected]
    DocumentRoot /var/www/prestashop

    
        # enable the .htaccess rewrites
        AllowOverride All
        Options +Indexes
        Require all granted

        # Disable back office token
        # SetEnv _TOKEN_ disabled
    

     ErrorLog /var/log/apache2/prestashop_error.log
     CustomLog /var/log/apache2/prestashop_access.log combined

Сохраните и выйдите. Включите сайт и проверьте синтаксис конфигурации:

sudo a2ensite prestashop.conf
sudo apachectl configtest

Ожидаемый вывод: Syntax is OK. Перезапустите Apache:

sudo systemctl restart apache2

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

Совет: при использовании нескольких сайтов убедитесь, что файл конфигурации по умолчанию отключён (a2dissite 000-default.conf) или настроены ServerName/ServerAlias корректно.

Защита HTTPS через Certbot и Let’s Encrypt

Для обеспечения безопасного соединения используйте Certbot для автоматического получения и продления бесплатных сертификатов Let’s Encrypt.

Установите Certbot:

sudo apt install certbot python3-certbot-apache

Запустите Certbot и следуйте подсказкам (замените email и имя домена):

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

После успешного запуска Certbot автоматически настроит HTTPS и перенаправление с HTTP на HTTPS. Копии сертификатов будут храниться в /etc/letsencrypt/live/your-domain.

Важно: убедитесь, что порт 80 и 443 открыты в сетевом брандмауэре (ufw, security group и т.д.).

Установка PrestaShop через веб‑мастер установки

Откройте в браузере ваш домен, например https://howtoforge.local, и следуйте мастеру установки PrestaShop.

  1. Выберите язык установки и нажмите «Next».

Выбор языка установки

  1. Примите лицензионное соглашение и продолжите.

Лицензионное соглашение

  1. Введите информацию о магазине и учётные данные администратора.

Информация о магазине и учётной записи администратора

  1. При желании установите демонстрационные данные и дополнительные модули.

Установка демонстрационных данных

  1. Укажите параметры подключения к базе данных (имя хоста, имя базы, пользователя и пароль).

Параметры базы данных

  1. Дождитесь завершения установки — вы увидите страницу завершения установки.

Установка завершена

После завершения установки важно удалить установочный каталог, чтобы предотвратить повторную или несанкционированную переустановку:

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

Совет: меняйте права и имена директорий по умолчанию, чтобы затруднить атаки перебором URL.

Постустановочные рекомендации и безопасность

  • Удалите каталог install и временные утилиты проверки.
  • Ограничьте доступ к админ‑панели (ip‑фильтрация, двухфакторная аутентификация, изменённый URL админки).
  • Регулярно обновляйте PrestaShop, модули и системные пакеты.
  • Создавайте резервные копии базы данных и файлов (ежедневно/по нагрузке).
  • Мониторьте журналы Apache и системные логи.

Быстрая проверка безопасности

  • Разрешения: каталоги 755, файлы 644, владельцем www-data.
  • PHP‑настройки: disable_functions при необходимости, отключить display_errors в продакшене.
  • HTTPS: принудительный редирект, HSTS, OCSP Stapling через Certbot.

Тестирование и отладка

При ошибках смотрите логи Apache (/var/log/apache2/*.log) и логи PHP. Если установка зависает на шаге подключения к базе, проверьте:

  • правильно ли указаны хост и порт базы (localhost vs 127.0.0.1),
  • есть ли привилегии у пользователя базы данных,
  • не блокирует ли сетевой брандмауэр соединение.

Если страница установки возвращает 500, временно включите display_errors в php.ini (в тестовой среде) и смотрите ошибку в логах.

Альтернативные подходы и когда они применимы

  • Composer‑установка: предпочтительна для разработческих сред и CI/CD, когда требуется управление зависимостями.
  • Nginx + PHP‑FPM: лучше по производительности при высоких нагрузках, но требует иной конфигурации виртуального хоста и прав для PHP‑FPM.
  • Управляемый хостинг с preinstalled PrestaShop: подойдёт для быстрого старта без поддержки инфраструктуры.

Чек‑лист для ролей

Администратор сервера:

  • Обновил систему и установил зависимости.
  • Настроил брандмауэр и открыл порты 80/443.
  • Получил SSL сертификат и настроил автоматическое продление.

Разработчик / DevOps:

  • Проверил права на файлы и владельца www-data.
  • Настроил процессы CI для бэкапов и миграций.
  • Интегрировал Composer и систему контроля версий.

Менеджер магазина:

  • Подготовил данные для магазина (товары, категории, изображения).
  • Создал учётную запись администратора и настроил права доступа.

Критерии приёмки

  • Сайт доступен по HTTPS и корректно перенаправляет HTTP на HTTPS.
  • Админ‑панель доступна и работает, можно добавить товар.
  • Соединение с базой данных стабильно, нет ошибок в логах.
  • Установленный магазин проходит базовую проверку ps‑check без критических ошибок.

Мини‑методология развертывания (шаги)

  1. Подготовка сервера и окружения: обновление, бэкап, пользователь sudo.
  2. Установка LAMP и зависимостей.
  3. Настройка PHP и MariaDB, создание БД.
  4. Проверка окружения через ps‑check.
  5. Развёртывание PrestaShop и права доступа.
  6. Настройка виртуального хоста и HTTPS.
  7. Установка через веб‑мастер и пост‑инсталляционные проверки.
  8. Настройка мониторинга и регулярных бэкапов.

Быстрые тесты и приёмочные сценарии

  • Попытка регистрации администратора и входа в админку.
  • Создание тестового товара и просмотр карточки покупателем.
  • Импорт/экспорт демо‑данных (если используются).
  • Проверка работы корзины и оформления заказа (тестовый платёжный шлюз).

Типичные ошибки и способы решения

  • 403 Forbidden после установки: проверьте права на каталог и директивы Apache (Require all granted, AllowOverride All).
  • 500 Internal Server Error: проверьте журналы Apache и включите лог PHP; иногда помогает увеличение memory_limit.
  • Проблемы с подключением к базе: убедитесь, что пользователь и пароль правильные, и привилегии выданы правильно.

Сценарий отката (коротко)

  1. Остановите веб‑сервер.
  2. Восстановите файлы сайта из резервной копии.
  3. Восстановите базу данных из дампа.
  4. Перезапустите сервисы и проверьте работоспособность.

1‑строчная глоссарий

  • LAMP — стек Linux, Apache, MariaDB (или MySQL), PHP.
  • Composer — менеджер зависимостей PHP.
  • Certbot — клиент для автоматического получения сертификатов Let’s Encrypt.

Заключение

Поздравляем — вы установили PrestaShop на Ubuntu 24.04 с LAMP и настроили HTTPS. Следующие шаги: перенести реальные данные каталога, подключить платёжные шлюзы, адаптировать тему и модули, настроить мониторинг и регулярные бэкапы. Соблюдайте правила безопасности, обновляйте систему и проверяйте журналы.

Важно: поддерживайте регулярные обновления и тестирование на стенде перед применением обновлений в продакшене.

Рекомендуемые действия сразу после установки:

  • Создать бэкап файлов и базы данных.
  • Ограничить доступ к панели администратора.
  • Настроить мониторинг доступности и алерты на ошибки.

Спасибо за внимание — удачного запуска магазина!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Исправление ошибки Search protocol host в Windows 10
Windows

Исправление ошибки Search protocol host в Windows 10

Как включить камеру на Mac
How-to

Как включить камеру на Mac

Устранение Fatal Application Exit в Resident Evil 7
Игры

Устранение Fatal Application Exit в Resident Evil 7

Уменьшение фонового шума микрофона
Аудио

Уменьшение фонового шума микрофона

Ускорение загрузок в Microsoft Store на Windows
Windows

Ускорение загрузок в Microsoft Store на Windows

YouTube Kids: настройка безопасности и родительский контроль
Родители

YouTube Kids: настройка безопасности и родительский контроль