Как установить Prestashop на сервер Ubuntu 24.04

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

установить deps

После завершения установки проверьте состояние веб-сервера Apache, выполнив следующие действия:

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Ниже показано, что веб-сервер Apache запущен и включен.

проверить apache2

Проверьте состояние сервера MariaDB с помощью следующей команды:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

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

проверить mariadb

Теперь проверьте версию PHP и список включенных расширений, выполнив следующие действия:

php -v
php -m

Из приведенного ниже результата видно, что PHP 8.3 установлен с некоторыми расширениями fileinfo, gd, и opcache также включены.

проверить php

Наконец, проверьте версию 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;

база данных ceate

Далее выполните запрос 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.

ps checker

Загрузка 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

установить 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.

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

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