Как установить PrestaShop на AlmaLinux 9

PrestaShop – это платформа электронной коммерции с открытым исходным кодом, которая эффективно работает на AlmaLinux и представляет собой надежное решение для создания и управления интернет-магазинами. Известная своей гибкостью и широким набором функций, PrestaShop позволяет пользователям легко создавать настраиваемые интернет-магазины. Платформа поддерживает множество платежных шлюзов, способов доставки и маркетинговых инструментов, что повышает удобство покупок как для продавцов, так и для покупателей. На базе AlmaLinux, стабильного и безопасного дистрибутива Linux корпоративного класса, PrestaShop имеет надежную и высокопроизводительную среду. Такое сочетание делает его идеальным для компаний любого размера, стремящихся создать профессиональное и масштабируемое онлайн-представительство.

В этом руководстве вы узнаете, как установить PrestaShop на сервер AlmaLinux 9 со стеком LAMP (Apache/Htppd, MySQL/MariaDB и PHP). Вы также узнаете, как защитить PrestaShop с помощью SSL/TLS сертификатов от Letsencrypt.

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

Прежде чем продолжить, убедитесь, что у вас есть следующее:

  • Сервер AlmaLinux 9.
  • Некорневой пользователь с привилегиями root.
  • Доменное имя, указывающее на IP-адрес сервера.
  • SELinux со статусом permissive.

Установка стека LAMP

Для запуска PrestaShop вам необходимо установить зависимости пакетов. В этом руководстве вы будете запускать PrestaShop с помощью стека LAMP (Apache2/Httpd, MySQL/MariaDB и PHP). На данный момент для PrestaShop требуется как минимум Apache 2.4, PHP 8.1 и MySQL 5.6.

В этом шаге вы установите LAMP Stack с дополнительными расширениями PHP, которые требуются PrestaShop.

Перед этим выполните приведенную ниже команду, чтобы включить EPEL и репозиторий Remi для AlmaLinux.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Теперь выполните приведенную ниже команду, чтобы включить PHP 8.1 через репозиторий Remi.

sudo dnf module reset php
sudo dnf module enable php:remi-8.2

включить remi

Установите пакет LAMP Stack на ваш сервер AlmaLinux 9 с помощью следующей команды.

sudo dnf install httpd mariadb-server php php-curl php-soap php-intl php-zip php-cli php-mysqlnd php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick

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

установить лампу

Также введите y, чтобы принять ключ GPG для репозитория Remi.

принять ключ gpg

После завершения установки запустите и включите службы Apache и MariaDB в вашей системе.

Выполните следующую команду, чтобы запустить и включить службу httpd.

sudo systemctl enable httpd
sudo systemctl start httpd

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

sudo systemctl status httpd

проверить httpd

Как показано на рисунке ниже, служба httpd запущена.

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

sudo systemctl enable mariadb
sudo systemctl start mariadb

После запуска MariaDB проверьте работу службы mariadb с помощью следующей команды.

sudo systemctl status mariadb

Вы увидите, что служба MariaDB запущена на вашем сервере AlmaLinux.

проверить mariadb

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

php -v
php -m

проверить php

Настройка Firewalld

После установки LAMP Stack вы должны открыть HTTP и HTTPS сервисы через firewalld. Это позволит клиентам получить доступ к вашей установке PrestaShop.

Откройте службы HTTP и HTTPS в firewalld с помощью следующей команды.

sudo firewall-cmd --add-service={http,https} --permanent

Теперь перезагрузите firewalld, чтобы изменения вступили в силу.

sudo firewall-cmd --reload

Наконец, проверьте список включенных служб и портов в firewalld. Убедитесь, что службы HTTP и HTTPS добавлены в firewalld.

sudo firewall-cmd --list-all

настройка firewalld

Настройка PHP

В этом разделе вы настроите установку PHP, отредактировав стандартный файл php.ini. Для PrestaShop требуется как минимум 256 МБ memory_limit, а также требует включения allow_url_fopen. Поэтому вы должны изменить конфигурационный файл php.ini.

Откройте файл конфигурации PHP /etc/php.ini , используя следующий редактор nano.

sudo nano /etc/php.ini

Измените стандартную конфигурацию PHP на следующую. Убедитесь, что настройки timezone и memory_limit соответствуют вашему текущему окружению.

date.timezone = Europe/Paris
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, чтобы перезапустить службу httpd и применить конфигурацию PHP.

sudo systemctl restart httpd

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

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

Чтобы защитить установку сервера MariaDB, выполните следующую команду.

sudo mariadb-secure-installation

Когда процесс начнется, вам будет предложено ввести некоторые настройки MariaDB – введите Y, чтобы применить предложенную конфигурацию, или N, чтобы отклонить ее:

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

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

Войдите на сервер MariaDB с помощью команды, приведенной ниже. Введите пароль корня MariaDB, когда появится запрос.

sudo mariadb -u root -p

После входа в систему выполните следующие запросы для создания новой базы данных prestashopdb с пользователем prestashop и паролем psp4ssw0rd.

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

создать базу данных и пользователя

Теперь выполните следующий запрос для проверки привилегий пользователя prestashop. Убедитесь, что пользователь prestashop имеет привилегии для доступа к базе данных prestashopdb.

SHOW GRANTS FOR prestashop@localhost;

Наконец, введите выйти для выхода из сервера MariaDB.

проверить пользователя

Проверка окружения для установки PrestaShop

Теперь, когда вы настроили LAMP Stack, следующим шагом будет проверка среды PrestaShop.

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

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

После загрузки извлеките исходный код программы проверки PrestaShop и переименуйте извлеченную директорию в check-ps.

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

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

Введите стандартный пользователь и пароль ‘prestashop‘.

проверка prestashop

На странице PrestaShop checker убедитесь, что все зависимости и конфигурация системы соответствуют требованиям PrestaShop.

программа проверки prestashop

Загрузка PrestaShop

В этом разделе вы загрузите исходный код PrestaShop на ваш сервер AlmaLinux. Вы также установите соответствующие разрешения и права собственности на исходный код PrestaShop.

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

cd /var/www/
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.3/prestashop_8.1.3.zip

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

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

Теперь измените права собственности и разрешения на каталог /var/www/prestashop на пользовательские apache.

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

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

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

Создание новой конфигурации виртуального хоста httpd /etc/httpd/conf.d/prestashop.conf , используя следующую команду редактора nano.

sudo nano /etc/httpd/conf.d/prestashop.conf

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

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

Options +FollowSymlinks
AllowOverride All
Require all granted

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

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

Теперь выполните следующую команду, чтобы проверить конфигурацию httpd. Если у вас правильный синтаксис httpd, вы получите сообщение Syntax OK.

sudo apachectl configtest

настройка vhost

И наконец, выполните приведенную ниже команду, чтобы перезапустить службу httpd и реализовать новую конфигурацию виртуального хоста. Теперь ваша установка PrestaShop должна быть доступна.

sudo systemctl restart httpd

Настройка Certbot

Перед началом установки PrestaShop обязательно сгенерируйте SSL/TLS сертификаты, особенно для производства. Это легко сделать с помощью Certbot.

Установите certbot и плагин Certbot Apache на ваш сервер AlmaLinux с помощью следующей команды.

sudo dnf install -y certbot python3-certbot-apache -y

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

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

Таким образом, ваши SSL/TLS-сертификаты будут сгенерированы по адресу /etc/letsencrypt/live/domain.com каталог. Кроме того, ваша установка PrestaShop будет автоматически настроена на HTTPS с помощью плагина Certbot Apache.

Установка PrestaShop

Откройте веб-браузер и зайдите на домен PrestaShop, который находится по адресу https://prestashop.local/. Если установка прошла успешно, вы получите страницу установки PrestaShop.

Сначала выберите язык по умолчанию – английский, затем нажмите кнопку Далее.

язык по умолчанию

Теперь выберите Согласитесь чтобы принять лицензионное соглашение для PrestaShop, и нажмите кнопку Далее.

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

Введите название вашего магазина, пользователя admin, пароль и адрес электронной почты, который будет использоваться в качестве администратора для вашей установки PrestaShop. Затем нажмите кнопку Далее , чтобы продолжить.

администратор настроек

Для настройки магазина вы можете установить демо-данные и нажать кнопку Далее.

демонстрационные данные

Далее введите имя базы данных MariaDB, пользователя и пароль. Затем нажмите кнопку Далее снова.

база данных настроек

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

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

Домашняя страница PrestaShop.

демо-магазин

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

rm -rf /var/www/prestashop/install

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

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

Заключение

Поздравляем! Вы завершили установку PrestaShop на сервер AlmaLinux 9. Вы установили PrestaShop с помощью стека LAMP (Apache/Httpd, MySQL/MariaDB и PHP) и защитили PrestaShop с помощью сертификатов SSL/TLS от Letsencrypt. Теперь вы можете загружать свои темы и добавлять товары для продажи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *