Как установить Prestashop на сервер Ubuntu 24.04
На этой странице
- Предварительные условия
- Установка зависимостей
- Настройка PHP
- Настройка сервера MariaDB
- Проверка среды сервера
- Скачивание Престашопа
- Настройка виртуального хоста Apache
- Защита Prestashop с помощью HTTPS
- Установка Престашопа
- Заключение
Prestashop — это бесплатное решение для электронной коммерции с открытым исходным кодом, написанное на PHP. Это позволяет вам создавать интернет-магазины, самостоятельно размещать их и развивать свой онлайн-бизнес.
Prestashop — это полностью настраиваемое и многофункциональное решение для электронной коммерции, позволяющее создавать комплексные веб-сайты электронной коммерции. В настоящее время Prestashop используется более чем в 250 000 интернет-магазинах по всему миру и доступен на 65 языках.
В этом руководстве вы узнаете, как установить Prestashop на сервер Ubuntu 24.04 с помощью стека LAMP (Linux, Apache, MySQL/MariaDB и PHP) и Composer.
Предварительные условия
Прежде чем начать работу с этим руководством, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04.
- Пользователь без полномочий root с правами администратора.
- Доменное имя указывает на 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. Пользователь root MariaDB по умолчанию уже защищен. при желании вы также можете включить его, набрав y вместо «да».
- Измените пароль root. Введите y, чтобы подтвердить и настроить новый корневой пароль MariaDB.
- Удалить анонимных пользователей? Введите y для подтверждения.
- Запретить удаленный вход в систему root? Введите y для подтверждения. Если вы используете root-пользователя MariaDB, будет разрешено только локальное подключение.
- Удалите тестовую базу данных и получите к ней доступ. Введите 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;
Затем выполните приведенный ниже запрос, чтобы убедиться, что пользователь 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, и переименуйте извлеченный каталог в 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 с 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
своим доменным именем.
<VirtualHost *:80>
ServerName howtoforge.local
ServerAdmin [email
DocumentRoot /var/www/prestashop
<Directory /var/www/prestashop>
# enable the .htaccess rewrites
AllowOverride All
Options +Indexes
Require all granted
# Disable back office token
# SetEnv _TOKEN_ disabled
</Directory>
ErrorLog /var/log/apache2/prestashop_error.log
CustomLog /var/log/apache2/prestashop_access.log combined
</VirtualHost>
Сохраните и выйдите из файла, когда закончите.
Затем выполните команду ниже, чтобы включить файл prestashop.conf
и проверьте синтаксис Apache. Если у вас правильный синтаксис, вы получите результат Синтаксис в порядке
.
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 -d howtoforge.local
После завершения процесса ваш Prestashop будет защищен с помощью HTTPS, а ваши SSL-сертификаты будут доступны по адресу /etc/letsencrypt/live/domain. conf
.
Установка Престашопа
Посетите свое доменное имя Prestashop, например http://howtoforge.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.