Prestashop — это бесплатное решение для электронной коммерции с открытым исходным кодом, написанное на PHP. Он позволяет создавать интернет-магазины, самостоятельно размещать их на хостинге и развивать свой онлайн-бизнес.
Prestashop — это полностью настраиваемое и многофункциональное решение для создания комплексных сайтов электронной коммерции. В настоящее время Prestashop используется более чем 250.000 интернет-магазинами по всему миру и доступен на 65 языках.
В этом руководстве вы узнаете, как установить Prestashop на сервер Ubuntu 24.04 с помощью стека LAMP (Linux, Apache, MySQL/MariaDB и PHP) и Composer.
Предварительные условия
Чтобы начать работу с этим руководством, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04.
- Некорневой пользователь с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
Установка зависимостей
Чтобы установить Prestashop, необходимо установить зависимости в вашей системе. В этом примере вы установите пакеты LAMP Stack (Linux, Apache, MySQL/MariaDB и PHP), Composer и Git.
Для начала выполните приведенную ниже команду, чтобы обновить индекс пакетов Ubuntu.
sudo apt update
Теперь выполните следующую команду для установки стека LAMP (Linux, Apache, MySQL/MariaDB и PHP), Composer и Git в качестве зависимостей для Prestashop. Введите Y для продолжения установки.
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

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

Проверьте состояние сервера MariaDB с помощью следующей команды:
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Вы увидите аналогичный вывод, сервер MariaDB запущен и включен в вашей системе.

Теперь проверьте версию PHP и список включенных расширений, выполнив следующие действия:
php -v php -m
Из приведенного ниже результата видно, что PHP 8.3 установлен с некоторыми расширениями fileinfo, gd, и opcache также включены.

Наконец, проверьте версию Composer и Git с помощью команды ниже — вы увидите Composer 2.7.1 установлены.
sudo -u www-data composer --version

Настройка PHP
Теперь, когда вы установили зависимости для Prestashop, вам нужно настроить PHP, отредактировав файл php.ini файл и изменив некоторые параметры по умолчанию, необходимые для Prestashop.
Откройте стандартный файл конфигурации PHP /etc/php/8.3/apache2/php.ini со следующими параметрами nano editor командой.
sudo nano /etc/php/8.3/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
Сохраните и выйдите из файла, когда закончите.
Теперь выполните приведенную ниже команду, чтобы перезапустить веб-сервер Apache и применить новую конфигурацию PHP.
sudo systemctl restart apache2
Настройка сервера MariaDB
В этом разделе вы защитите сервер MariaDB и создадите новую базу данных и пользователя для Prestashop. Вы защитите MariaDB с помощью mariadb-secure-installation , затем создадите новую базу данных и пользователя с помощью команды mariadb клиент.
Чтобы защитить сервер MariaDB, выполните команду mariadb-secure-installation команду, приведенную ниже:
sudo mariadb-secure-installation
После выполнения команды вас спросят о следующих конфигурациях:
- Переключиться на аутентификацию unix_socket? Введите n и нажмите ENTER. По умолчанию пользователь MariaDB root уже защищен. По желанию вы можете включить эту функцию, введя y для yes.
- Изменение пароля корневого пользователя. Введите y для подтверждения и установите новый пароль корневого пользователя MariaDB.
- Удалить анонимных пользователей? Введите y для подтверждения.
- Запретить удаленный вход в систему root? Введите y для подтверждения. Будет разрешено только локальное подключение, если вы используете пользователя MariaDB root.
- Удалите тестовую базу данных и получите к ней доступ. Введите y, чтобы подтвердить и удалить базу данных по умолчанию ‘test’.
- Наконец, введите y еще раз, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.
Теперь, когда вы защитили и настроили сервер MariaDB, создайте новую базу данных и пользователя для Prestashop с помощью команды mariadb клиента.
Войдите на сервер MariaDB под именем root с mariadb командой ниже. Введите свой root пароль при появлении запроса.
sudo mariadb -u root -p
Теперь выполните следующие запросы для создания новой базы данных prestashopdb, и нового пользователя prestashop, с паролем p4ssword. Не забудьте изменить подробную информацию на свою.
CREATE DATABASE prestashopdb; CREATE USER prestashop@localhost IDENTIFIED BY 'p4ssword'; GRANT ALL PRIVILEGES on prestashopdb.* TO prestashop@localhost; FLUSH PRIVILEGES;

Далее выполните запрос t ниже, чтобы убедиться, что пользователь prestashop может получить доступ к базе данных prestashopdb.
SHOW GRANTS FOR prestashop@localhost;
В приведенном ниже выводе вы можете увидеть, что пользователь prestashop может получить доступ к базе данных prestashopdb.

Наконец, введите quit для выхода из сервера MariaDB.
Проверка окружения сервера
После того как вы настроили PHP и MariaDB, убедитесь, что ваш сервер готов к установке Prestashop. Чтобы убедиться в готовности сервера, вы будете использовать программу проверки Prestashop.
Перейдите на страницу /var/www/html каталог и загрузите программу проверки Prestashop с помощью файла wget командой ниже.
cd /var/www/html wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz
Выполните следующую команду для извлечения исходного кода Prestashop checker и переименуйте извлеченную директорию в ps-check.
tar -xf v1.1.tar.gz mv php-ps-info-1.1 ps-check
Теперь посетите сайт http://server-ip/ps-check/phppsinfo.php с помощью веб-браузера. Войдите в систему с пользователем и паролем по умолчанию prestashop и убедитесь, что ваш сервер готов к установке Prestashop.

Загрузка Prestashop
Теперь, когда ваш сервер готов, вы можете установить PrestaShop с помощью Composer или загрузить его вручную с помощью wget. В этом примере вы загрузите Prestashop вручную.
Создайте новый /var/www/prestashop каталог со следующим содержимым:
mkdir -p /var/www/prestashop
Перейдите в /var/www/prestashop и загрузите исходный код Prestashop с помощью файла wget командой ниже. Обязательно проверьте страницу Prestasho на GitHub, чтобы получить последнюю версию.
cd /var/www/prestashop wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.6/prestashop_8.1.6.zip
Извлеките исходный код Prestashop с помощью команды unzip командой ниже.
unzip prestashop_8.1.6.zip
Теперь выполните следующую команду, чтобы изменить разрешение и право собственности на каталог установки Prestashop /var/www/prestashop.
sudo chown -R www-data:www-data /var/www/prestashop sudo chmod u+rw /var/www/prestashop
Настройка виртуального хоста Apache
В этом разделе вы создадите новый файл виртуального хоста для Prestashop. Убедитесь, что ваше доменное имя указывает на IP-адрес сервера Prestashop.
Выполните приведенную ниже команду, чтобы включить модули Apache rewrite, headers, и ssl.
sudo a2enmod rewrite headers ssl
Создание новой конфигурации виртуального хоста /etc/apache2/sites-available/prestashop.conf с помощью nano редактором.
sudo nano /etc/apache2/sites-available/prestashop.conf
Добавьте следующую конфигурацию. Обязательно измените ServerName на ваше доменное имя.
ServerName prestashop.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
Сохраните и выйдите из файла после завершения работы.
Далее выполните приведенную ниже команду, чтобы включить prestashop.conf и проверить синтаксис Apache. Если у вас правильный синтаксис, вы получите вывод Syntax is OK.
sudo a2ensite prestashop.conf sudo apachectl configtest
Наконец, выполните приведенную ниже команду, чтобы перезапустить веб-сервер Apache и применить внесенные изменения.
sudo systemctl restart apache2

Защита Prestashop с помощью HTTPS
В этом руководстве вы обеспечите безопасность Prestashop с помощью HTTPS через Certbot и Letsencrypt. Вам необходимо установить Certbot для генерации SSL/TLS сертификатов от Letsencrypt. Для этого вам также понадобится адрес электронной почты.
Установите certbot и python3-certbot-apache с помощью приведенной ниже команды. Введите Y для подтверждения установки.
sudo apt install certbot python3-certbot-apache
Теперь запустите программу certbot команду ниже, чтобы сгенерировать SSL-сертификаты и защитить prestashop с помощью HTTPS. Не забудьте изменить адрес электронной почты и доменное имя.
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d prestashop.local
После завершения процесса ваш Prestashop будет защищен HTTPS, а ваши SSL-сертификаты будут доступны по адресу /etc/letsencrypt/live/domain. conf каталоге.
Установка Prestashop
Зайдите на доменное имя Prestashop, например http://prestashop.local, с помощью веб-браузера. Вы увидите мастера установки Prestashop.
Выберите язык, например английский, и нажмите кнопку Далее.

Нажмите Согласитесь чтобы принять лицензионное соглашение Prestashop.

Введите информацию о вашем магазине, а также нового пользователя и пароль администратора для вашей установки Prestashop. Затем нажмите Далее снова.

Вы можете установить демо-данные и дополнительные модули в Prestashop. Затем нажмите Далее снова.

Введите данные вашей базы данных MariaDB и нажмите кнопку Далее чтобы продолжить установку.

После завершения установки вы увидите следующее. Нажмите Откройте для себя свой магазин чтобы увидеть главную страницу Prestashop или Управление магазином для доступа к странице администратора prestashop.

Перед тем как зайти на страницу администратора Prestashop, вернитесь в терминал и выполните следующую команду, чтобы удалить файл /install директорию.
sudo rm -rf /var/www/prestashop/install
Заключение
Поздравляем! Вы установили Prestashop на сервер Ubuntu 24.04. Вы запустили Prestashop с помощью стека LAMP и защитили HTTPS с помощью Certbot и letsencrypt.