Установка PrestaShop · 19 min read · Oct 14, 2025

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

PrestaShop — это веб-приложение для электронной коммерции с открытым исходным кодом, написанное с использованием фреймворка Symfony PHP. Оно позволяет вам проектировать, создавать и размещать интернет-магазин для продажи товаров, получения платежей и управления всеми связанными аспектами. Его используют более 300 000 сайтов, что делает его одной из самых популярных платформ для электронной коммерции. Оно поддерживает модули, которые позволяют вам расширять его функциональность еще больше. Вы можете настроить его с помощью различных качественных тем. Оно предлагает настраиваемые шаблоны, безопасные платежные шлюзы, управление запасами и инструменты, оптимизированные для SEO, для улучшения позиций в поисковых системах.

В этом руководстве вы узнаете, как установить Prestashop на сервер Rocky Linux 9.

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

  • Сервер с установленным Rocky Linux 9 и минимум 1 ГБ оперативной памяти.
  • Пользователь, не являющийся root, с правами sudo.
  • Полное доменное имя (FQDN), например prestashop.example.com, указывающее на ваш сервер.
  • Учетная запись SMTP с почтовым сервисом, таким как Amazon SES или Mailgun.
  • Все обновлено. $ sudo dnf update
  • Для выполнения этого руководства и работы Prestashop требуется несколько основных пакетов. Некоторые из них уже могут быть на вашем сервере. $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y

Шаг 1 - Настройка брандмауэра

Первый шаг — настроить брандмауэр. Rocky Linux использует брандмауэр Firewalld. Проверьте статус брандмауэра.

$ sudo firewall-cmd --state
running

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

$ sudo firewall-cmd --permanent --list-services

Он должен показать следующий вывод.

cockpit dhcpv6-client ssh

Разрешите порты HTTP и HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Проверьте статус брандмауэра еще раз.

$ sudo firewall-cmd --permanent --list-services

Вы должны увидеть аналогичный вывод.

cockpit dhcpv6-client http https ssh

Перезагрузите брандмауэр, чтобы применить изменения.

$ sudo firewall-cmd --reload

Шаг 2 - Установка Nginx

Rocky Linux 9 поставляется со старой версией Nginx. Чтобы установить последнюю версию, вам нужно загрузить официальный репозиторий Nginx.

Создайте и откройте файл /etc/yum.repos.d/nginx.repo для редактирования.

$ sudo nano /etc/yum.repos.d/nginx.repo

Вставьте в него следующий код.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Когда закончите, сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Установите Nginx.

$ sudo dnf install nginx -y

Проверьте установку.

$ nginx -v
nginx version: nginx/1.24.0

Включите и запустите службу сервера Nginx.

$ sudo systemctl enable nginx --now

Проверьте статус службы.

$ sudo systemctl status nginx
? nginx.service - nginx - высокопроизводительный веб-сервер
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 10:58:03 UTC; 5s ago
       Docs: http://nginx.org/en/docs/
    Process: 4220 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4222 (nginx)
      Tasks: 2 (limit: 10841)
     Memory: 1.9M
        CPU: 9ms
     CGroup: /system.slice/nginx.service
             ??4222 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4223 "nginx: worker process"

Откройте IP-адрес вашего сервера в веб-браузере. Вы должны увидеть следующую страницу, что означает, что ваш сервер работает.

Страница по умолчанию Nginx

Шаг 3 - Установка PHP и расширений

Rocky Linux 9 по умолчанию поставляется с PHP 8.1. Чтобы всегда оставаться на последней версии PHP или если вы хотите установить несколько версий PHP, нам нужно использовать репозиторий REMI.

Первый шаг — получить репозиторий Epel.

$ sudo dnf install epel-release -y

Затем установите репозиторий Remi.

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Проверьте доступные потоки PHP.

$ dnf module list php -y
Name    Stream              Profiles                                      Summary
php     8.1                 common [d], devel, minimal                    PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name    Stream              Profiles                                      Summary
php     remi-7.4            common [d], devel, minimal                    PHP scripting language
php     remi-8.0            common [d], devel, minimal                    PHP scripting language
php     remi-8.1            common [d], devel, minimal                    PHP scripting language
php     remi-8.2            common [d], devel, minimal                    PHP scripting language
php     remi-8.3            common [d], devel, minimal                    PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Версия по умолчанию — 8.1. На момент написания этого руководства Prestashop совместим с PHP 8.1. Поэтому включите репозиторий PHP 8.1 от Remi.

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1

Установите PHP и его расширения, необходимые для Prestashop.

$ sudo dnf install php php-bcmath php-cli php-curl php-common \
    php-fpm php-gd php-gmp php-intl php-mbstring \
    php-mysql php-opcache php-xml php-zip -y

Проверьте установленную версию PHP.

$ php --version
PHP 8.1.26 (cli) (built: Nov 21 2023 21:53:48) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.26, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.26, Copyright (c), by Zend Technologies

Включите и запустите службу PHP-FPM.

$ sudo systemctl enable php-fpm --now

Проверьте статус службы.

$ sudo systemctl status php-fpm
? php-fpm.service - Менеджер процессов PHP FastCGI
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 12:54:31 UTC; 2s ago
   Main PID: 6160 (php-fpm)
     Status: "Готов к обработке подключений"
      Tasks: 6 (limit: 10841)
     Memory: 15.2M
        CPU: 56ms
     CGroup: /system.slice/php-fpm.service
             ??6160 "php-fpm: master process (/etc/php-fpm.conf)"
             ??6161 "php-fpm: pool www"
             ??6162 "php-fpm: pool www"
             ??6163 "php-fpm: pool www"
             ??6164 "php-fpm: pool www"
             ??6165 "php-fpm: pool www"

Шаг 4 - Установка Percona MySQL Server

Prestashop требует сервер базы данных MySQL для хранения данных. Но вместо установки MySQL мы установим сервер Percona MySQL. Он работает как замена MySQL и предлагает больше функций и безопасности.

Первый шаг — установить репозиторий выпуска Percona для Rocky Linux.

$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Если вы получите следующую ошибку, вы можете смело игнорировать ее и продолжить, так как это не повлияет на установку. Ключ GPG все равно будет импортирован позже.

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona: key 1 import failed.

После установки репозитория настройте репозиторий Percona Server для MySQL 8.0, выполнив следующую команду.

$ percona-release setup ps80

Вышеприведенная команда спрашивает, хотите ли вы отключить модуль MySQL по умолчанию. Введите y, чтобы продолжить. Это отключит модуль установщика MySQL и включит модуль MySQL от Percona.

Установите Percona Server для MySQL 8.0.

$ sudo dnf -y install percona-server-server

Это установит Percona Server и клиент для MySQL, которые являются основными пакетами, которые вам нужны на данный момент.

Проверьте установку.

$ mysql --version
mysql  Ver 8.0.34-26 for Linux on x86_64 (Percona Server (GPL), Release 26, Revision 0fe62c85)

Запустите службу MySQL.

$ sudo systemctl start mysqld

Проверьте статус службы MySQL.

$ sudo systemctl status mysqld
? mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2023-11-26 06:25:37 UTC; 7s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 6522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 6598 (mysqld)
     Status: "Сервер работает"
      Tasks: 39 (limit: 10841)
     Memory: 486.8M
        CPU: 8.131s
     CGroup: /system.slice/mysqld.service
             ??6598 /usr/sbin/mysqld

Nov 26 06:25:28 prestashop.example.com systemd[1]: Starting MySQL Server...
Nov 26 06:25:37 prestashop.example.com systemd[1]: Started MySQL Server.

Percona генерирует временный пароль root во время установки. Получите этот пароль, используя следующую команду.

$ sudo grep "temporary password" /var/log/mysqld.log
2023-11-26T06:25:33.316696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (sDeLSgjs7pI

Войдите в оболочку MySQL.

$ sudo mysql -u root -p

Запустите мастер настройки безопасности MySQL.

$ sudo mysql_secure_installation

Введите пароль root, когда будет предложено.

Securing the MySQL server deployment.

Enter password for user root:

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

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:

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

The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.

Введите Y, чтобы удалить анонимных пользователей.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.

Введите Y, чтобы запретить удаленный вход root.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

Введите Y, чтобы удалить тестовую базу данных.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

И наконец, введите N, чтобы перезагрузить таблицы привилегий.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Вот и все. В следующий раз, когда вы захотите войти в оболочку MySQL, используйте следующую команду и введите пароль root, когда будет предложено.

$ sudo mysql -u root -p

Вы получите следующий приглашение оболочки MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.34-26 Percona Server (GPL), Release 26, Revision 0fe62c85

Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Введите exit, чтобы выйти из оболочки.

Шаг 5 - Настройка Percona MySQL Server

Войдите в оболочку MySQL.

$ sudo mysql -u root -p

Создайте новую базу данных MySQL, пользователя базы данных и пароль для вашей установки Prestashop.

mysql> CREATE DATABASE prestashop COLLATE utf8mb4_general_ci;
mysql> CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'Your_password2';
mysql> GRANT ALL PRIVILEGES ON prestashop.* TO 'prestauser'@'localhost';

Замените prestashop, prestauser и yourpassword на учетные данные по вашему выбору. Выберите надежный пароль и убедитесь, что он соответствует политике паролей, описанной выше.

Сбросьте привилегии, чтобы убедиться, что они сохранены в текущей сессии.

mysql> FLUSH PRIVILEGES;

Выйдите из оболочки MySQL.

mysql> exit

Шаг 6 - Загрузка Prestashop

Создайте каталог для Prestashop.

$ sudo mkdir /var/www/html/prestashop -p

Существуют две версии Prestashop — брендированная базовая версия и небрендированная версия. Брендированная версия доступна на сайте Prestashop, в то время как небрендированная версия доступна в репозитории GitHub. Разница между двумя версиями заключается в том, что брендированная версия содержит дополнительные модули, включая процессор платежей, модули Facebook и Google для продвижения и SEO, а также различные другие модули для подключения к Prestashop и аналитики.

Базовая версия выпускается после небрендированной версии. Поэтому на момент написания этого руководства последняя версия базового издания доступна — 8.1.1, а небрендированная версия — 8.1.2. Для нашего руководства мы будем использовать базовую брендированную версию. Вы можете использовать небрендированную версию, если хотите. Процесс установки для обеих версий абсолютно одинаков.

Скачайте последнюю версию, используя следующую команду.

$ cd /tmp
$ wget https://assets.prestashop3.com/dst/edition/corporate/8.1.1/prestashop_edition_basic_version_8.1.1.zip

Вы можете получить ссылку, посетив страницу загрузки Prestashop, введя свой адрес электронной почты и скачав файл. Небрендированную версию можно получить со страницы релизов Prestashop на GitHub.

Распакуйте загруженный архив.

$ unzip prestashop_*.zip

Этот архив содержит еще один zip-файл с именем prestashop.zip, который содержит все файлы. Извлеките файлы в каталог Prestashop.

$ sudo unzip prestashop.zip -d /var/www/html/prestashop

Измените владельца каталога Prestashop на пользователя nginx.

$ sudo chown -R nginx: /var/www/html/prestashop

Шаг 7 - Установка SSL

Нам нужно установить Certbot для генерации SSL-сертификата. Мы будем использовать установщик пакетов Snapd для этого. Поскольку Rocky Linux не поставляется с ним, установите установщик Snapd. Он требует репозиторий EPEL (Дополнительные пакеты для корпоративного Linux), чтобы работать. Но поскольку мы уже установили его на шаге 3, мы можем сразу перейти к делу.

Установите Snapd.

$ sudo dnf install -y snapd

Включите и запустите службу Snap.

$ sudo systemctl enable snapd --now

Установите пакет Snap core и убедитесь, что ваша версия Snapd обновлена.

$ sudo snap install core && sudo snap refresh core

Создайте необходимые ссылки для работы Snapd.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

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

$ sudo snap install --classic certbot

Используйте следующую команду, чтобы убедиться, что команда Certbot может быть выполнена, создав символическую ссылку на каталог /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Проверьте, работает ли Certbot правильно.

$ certbot --version
certbot 2.7.4

Запустите следующую команду для генерации SSL-сертификата.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d prestashop.example.com

Вышеприведенная команда загрузит сертификат в каталог /etc/letsencrypt/live/prestashop.example.com на вашем сервере.

Сгенерируйте сертификат Diffie-Hellman group.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Проверьте службу планировщика обновления Certbot.

$ sudo systemctl list-timers

Вы найдете snap.certbot.renew.service как одну из запланированных служб.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Sun 2023-11-26 17:12:40 UTC 1h 34min left Sun 2023-11-26 15:25:36 UTC 12min ago    dnf-makecache.timer       dnf-makecache.service
Sun 2023-11-26 17:48:00 UTC 2h 10min left -                           -            snap.certbot.renew.timer  snap.certbot.renew.service
Mon 2023-11-27 00:00:00 UTC 8h left       Sun 2023-11-26 00:00:00 UTC 15h ago      logrotate.timer           logrotate.service

Сделайте пробный запуск процесса, чтобы проверить, работает ли обновление SSL.

$ sudo certbot renew --dry-run

Если вы не увидите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.

Шаг 8 - Настройка SELinux

Измените контекст безопасности файла для Prestashop.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"

Примените политику.

$ sudo restorecon -Rv /var/www/html/prestashop/

Примените политику, чтобы разрешить Nginx доступ к MariaDB.

$ sudo setsebool -P httpd_can_network_connect_db 1

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

$ sudo setsebool -P httpd_can_network_connect 1

С MariaDB 10.11 вы столкнетесь с другой проблемой, которая заключается в том, что SELinux предотвращает подключение PHP-FPM к MariaDB. Это можно решить, установив модуль SELinux. Первый шаг — создать файл type enforcement.

Создайте файл my-phpfpm.te в вашем домашнем каталоге и откройте его для редактирования.

$ cd ~
$ nano my-phpfpm.te

Вставьте в него следующий код.

module my-phpfpm 1.0;

require {
        type unconfined_service_t;
        type httpd_t;
        type httpd_sys_content_t;
        class dir write;
        class unix_stream_socket connectto;
}

#============= httpd_t ============== 

#!!!! This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc is allowed in the current policy
allow httpd_t unconfined_service_t:unix_stream_socket connectto;

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Следующий шаг — преобразовать его в модуль политики с помощью следующей команды. Не изменяйте имя файла в команде, иначе она не сработает. Модуль называется my-phpfpm, и имя файла должно совпадать с именем модуля.

$ sudo checkmodule -M -m -o my-phpfpm.mod my-phpfpm.te

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

$ sudo semodule_package -o my-phpfpm.pp -m my-phpfpm.mod

Последний шаг — загрузить пакет политики с помощью команды semodule, которая устанавливает политику для использования.

$ sudo semodule -i my-phpfpm.pp

Шаг 9 - Настройка PHP-FPM

Откройте php.ini для редактирования.

$ sudo nano /etc/php.ini

Чтобы установить размеры загружаемых файлов, измените значения переменных upload_max_filesize и post_max_size. Это значение определяет размер файла, который вы можете загрузить в Prestashop. По умолчанию оно установлено на 10 МБ, что мы и настроим с PHP.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 16M/' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini

Настройте лимит памяти PHP в зависимости от ресурсов вашего сервера и требований.

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini

Откройте файл /etc/php-fpm.d/www.conf.

$ sudo nano /etc/php-fpm.d/www.conf

Нам нужно установить Unix-пользователя/группу процессов PHP на nginx. Найдите строки user=apache и group=apache в файле и измените их на nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Найдите строки listen.owner = nobody, listen.group = nobody, listen.mode = 0660 в файле и измените их следующим образом после их раскомментирования.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Перезапустите процесс PHP-fpm. Убедитесь, что Nginx установлен перед перезапуском службы PHP, иначе он не сможет найти группу nginx.

$ sudo systemctl restart php-fpm

Измените группу каталога сессий PHP на Nginx.

$ sudo chgrp -R nginx /var/lib/php/session

Шаг 10 - Настройка Nginx

Откройте файл /etc/nginx/nginx.conf для редактирования.

$ sudo nano /etc/nginx/nginx.conf

Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Создайте и откройте файл /etc/nginx/conf.d/prestashop.conf для редактирования.

$ sudo nano /etc/nginx/conf.d/prestashop.conf

Вставьте в него следующий код. Замените prestashop.example.com на ваше доменное имя. Убедитесь, что значение client_max_body_size установлено на 10 МБ, что соответствует размеру загружаемого файла по умолчанию в Prestashop. Это то же значение, которое мы настроили с PHP ранее.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # [EDIT] Ваши доменные имена идут сюда.
    server_name prestashop.example.com;

    # [EDIT] Путь к вашим журналам Nginx.
    access_log /var/log/nginx/prestashop.access.log;
    error_log /var/log/nginx/prestashop.error.log;

    # [EDIT] Путь к вашим SSL-сертификатам (посмотрите на Certbot https://certbot.eff.org).
    ssl_certificate      /etc/letsencrypt/live/prestashop.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/prestashop.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/prestashop.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # [EDIT] Путь к вашему каталогу PrestaShop.
    root /var/www/html/prestashop;

    index index.php;

    # Это должно соответствовать настройкам `post_max_size` и/или `upload_max_filesize`
    # в вашем php.ini.
    client_max_body_size 16M;

    # Перенаправление ошибок 404 на PrestaShop.
    error_page 404 /index.php?controller=404;

    # HSTS (Заставьте клиентов взаимодействовать с вашим сайтом только через HTTPS).
    # Для повышения безопасности зарегистрируйте свой сайт здесь: https://hstspreload.org/.
    # ВНИМАНИЕ: Не используйте это, если ваш сайт полностью не на HTTPS!
    # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" preload; always;

    # [EDIT] Если вы используете несколько языков.
    # rewrite ^/fr$ /fr/ redirect;
    # rewrite ^/fr/(.*) /$1;

    # Изображения.
    rewrite ^/(
    # ... (остальной код конфигурации Nginx)

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Проверьте вашу конфигурацию Nginx.

$ sudo nginx -t

Перезапустите сервер Nginx.

$ sudo systemctl restart nginx

Шаг 11 - Установка Prestashop

Посетите URL https://prestashop.example.com в вашем браузере, и вы увидите следующий экран установки.

Страница установщика Prestashop

Нажмите Далее, чтобы перейти к следующей странице.

Страница лицензионного соглашения Prestashop

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

Страница информации о магазине Prestashop

Далее вам будет предложено поделиться информацией о магазине. Укажите название вашего магазина, страну, часовой пояс и тип магазина, а также включите опцию SSL. Также введите свое имя учетной записи, адрес электронной почты и пароль для входа в магазин. Нажмите Далее, когда закончите.

Страница содержимого магазина Prestashop

Далее вам будет предложено, хотите ли вы добавить некоторые демонстрационные продукты в магазин. Выберите «нет», если не хотите их добавлять. Также выберите опцию Установить все модули, или вы можете выбрать, какие модули хотите установить. Нажмите Далее, когда закончите.

Конфигурация базы данных Prestashop

Далее введите учетные данные базы данных, которые мы создали на шаге 5. Оставьте остальные параметры без изменений. Нажмите кнопку Проверить базы данных, чтобы проверить соединение.

Тест подключения к базе данных Prestashop

Нажмите Далее после успешного подключения к базе данных, чтобы перейти к следующей странице.

Прогресс установки Prestashop

Здесь вы увидите прогресс установки Prestashop. После завершения он автоматически откроет следующую страницу.

Страница завершения установки Prestashop

Нажмите кнопку Управлять вашим магазином, чтобы открыть панель администратора для настройки вашего магазина.

Предупреждение о каталоге установки Prestashop

Здесь вы получите предупреждение о том, чтобы удалить каталог install перед тем, как пытаться управлять магазином для повышения безопасности. Войдите обратно на свой сайт через SSH и выполните следующую команду.

$ sudo rm -rf /var/www/html/petrashop/install

Вернитесь на последнюю страницу установщика и снова откройте URL. Если вы заметите, URL-адрес страницы администратора случайным образом сгенерирован. Это сделано для повышения безопасности. Каждая установка Prestashop получает другой URL-адрес администратора. Для нашего руководства сгенерированная ссылка — https://prestashop.example.com/admin705saygwpwquwnhixx1. Вы получите следующую страницу входа.

Страница входа Prestashop

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

Панель управления Prestashop

Страница магазина Prestashop для стандартной установки должна выглядеть следующим образом.

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

Теперь вы можете начать использовать Prestashop.

Шаг 12 - Обновление Prestashop

Существует несколько способов обновления Prestashop. Самый простой способ — использовать встроенный модуль помощника обновления. Ваша установка Prestashop поставляется с этим модулем.

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

Отключите магазин и добавьте свой IP-адрес как IP-адрес обслуживания, нажав кнопку Добавить мой IP. Это обеспечит вам доступ к магазину, даже когда он находится в режиме обслуживания. Нажмите кнопку Сохранить, когда закончите.

Страница обслуживания Prestashop

Далее откройте страницу Менеджер модулей на вашей панели администратора, выбрав опцию Улучшить >> Модули >> Менеджер модулей с левой стороны.

Как только вы окажетесь там, установите модуль 1-Click Upgrade, нажав кнопку Установить. После установки нажмите кнопку Настроить, чтобы открыть новую страницу, где вы настраиваете параметры перед выполнением обновления.

Первая часть страницы перечисляет некоторые проверки перед обновлением. Все проверки должны быть выполнены, прежде чем обновление может быть выполнено.

Предварительный контроль обновления Prestashop

Первая конфигурация позволяет вам выбрать, какой тип обновления вы хотите выполнить. Поскольку мы используем базовую версию 8.1.1, версия 8.1.2 с открытым исходным кодом доступна для обновления. Рекомендуется придерживаться минорных/мажорных веток.

Тип обновления Prestashop

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

Параметры резервного копирования Prestashop

Далее выберите параметры обновления для того, что вы хотите сохранить, и того, что вы хотите обновить.

Параметры обновления Prestashop

Нажмите кнопку Сохранить в каждом разделе, чтобы сохранить параметры. Как только вы будете удовлетворены, нажмите кнопку Обновить Prestashop сейчас! на той же странице, чтобы обновить ваш магазин. Если обновление по какой-то причине не удалось, вам будет предоставлена возможность откатиться.

Заключение

На этом заканчивается наше руководство, в котором вы узнали, как установить Prestashop на сервер Rocky Linux 9. Если у вас есть какие-либо вопросы, оставьте их в комментариях ниже.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.