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

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.

После установки проверьте состояние Apache:
sudo systemctl is-enabled apache2
sudo systemctl status apache2Ожидаемый результат — служба включена и активна.

Проверка MariaDB:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbОжидаемый результат — MariaDB также активна и включена.

Проверьте версию PHP и список включённых модулей:
php -v
php -mНа большинстве современных установок будет PHP 8.3 или выше с включёнными расширениями вроде fileinfo, gd и opcache.

Проверьте версию 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, жёлтые/красные — требуют вмешательства.

Важно: после проверки удалите или защитите утилиту 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
Совет: при использовании нескольких сайтов убедитесь, что файл конфигурации по умолчанию отключён (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.
- Выберите язык установки и нажмите «Next».

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

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

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

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

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

После завершения установки важно удалить установочный каталог, чтобы предотвратить повторную или несанкционированную переустановку:
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 без критических ошибок.
Мини‑методология развертывания (шаги)
- Подготовка сервера и окружения: обновление, бэкап, пользователь sudo.
- Установка LAMP и зависимостей.
- Настройка PHP и MariaDB, создание БД.
- Проверка окружения через ps‑check.
- Развёртывание PrestaShop и права доступа.
- Настройка виртуального хоста и HTTPS.
- Установка через веб‑мастер и пост‑инсталляционные проверки.
- Настройка мониторинга и регулярных бэкапов.
Быстрые тесты и приёмочные сценарии
- Попытка регистрации администратора и входа в админку.
- Создание тестового товара и просмотр карточки покупателем.
- Импорт/экспорт демо‑данных (если используются).
- Проверка работы корзины и оформления заказа (тестовый платёжный шлюз).
Типичные ошибки и способы решения
- 403 Forbidden после установки: проверьте права на каталог и директивы Apache (Require all granted, AllowOverride All).
- 500 Internal Server Error: проверьте журналы Apache и включите лог PHP; иногда помогает увеличение memory_limit.
- Проблемы с подключением к базе: убедитесь, что пользователь и пароль правильные, и привилегии выданы правильно.
Сценарий отката (коротко)
- Остановите веб‑сервер.
- Восстановите файлы сайта из резервной копии.
- Восстановите базу данных из дампа.
- Перезапустите сервисы и проверьте работоспособность.
1‑строчная глоссарий
- LAMP — стек Linux, Apache, MariaDB (или MySQL), PHP.
- Composer — менеджер зависимостей PHP.
- Certbot — клиент для автоматического получения сертификатов Let’s Encrypt.
Заключение
Поздравляем — вы установили PrestaShop на Ubuntu 24.04 с LAMP и настроили HTTPS. Следующие шаги: перенести реальные данные каталога, подключить платёжные шлюзы, адаптировать тему и модули, настроить мониторинг и регулярные бэкапы. Соблюдайте правила безопасности, обновляйте систему и проверяйте журналы.
Важно: поддерживайте регулярные обновления и тестирование на стенде перед применением обновлений в продакшене.
Рекомендуемые действия сразу после установки:
- Создать бэкап файлов и базы данных.
- Ограничить доступ к панели администратора.
- Настроить мониторинг доступности и алерты на ошибки.
Спасибо за внимание — удачного запуска магазина!
Похожие материалы
Исправление ошибки Search protocol host в Windows 10
Как включить камеру на Mac
Устранение Fatal Application Exit в Resident Evil 7
Уменьшение фонового шума микрофона
Ускорение загрузок в Microsoft Store на Windows