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.