Добро пожаловать в это пошаговое руководство по установке PrestaShop на Ubuntu 24.04! В эпоху, когда мощный, безопасный интернет-магазин необходим для успеха бизнеса, выбор правильной платформы электронной коммерции имеет все значение. PrestaShop - это надежное решение с открытым исходным кодом, которое предлагает обширную настройку, улучшение производительности и расширенные возможности для создания и управления вашей цифровой витриной.
Это руководство предоставляет четкие инструкции для разработчиков, системных администраторов и технически подкованных пользователей, готовых развернуть PrestaShop на надежном сервере Ubuntu 24.04. Независимо от того, запускаете ли вы новый онлайн-магазин или обновляете существующий, следуйте за тем, чтобы обеспечить плавную и успешную установку.
Предварительные условия#
- Сервер под управлением Ubuntu 24.04 или любой другой ОС Linux.
- Привилегии пользователя: пользователь root или не root с привилегиями sudo.
Конвенции#
1
2
| # — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ – данные команды должны выполняться от имени обычного пользователя
|
Шаг 1. Обновите систему#
Мы предполагаем, что у вас установлена новая версия Ubuntu 24.04. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:
1
| sudo apt update -y && sudo apt upgrade -y
|
Система может нуждаться в перезагрузке после обновления.
Шаг 2. Установите веб-сервер Nginx#
PrestaShop требует веб-сервер и мы будем использовать Nginx для этой цели.
1
| sudo apt install nginx -y
|
Включить и запустить сервис Nginx:
1
2
| sudo systemctl enable nginx
sudo systemctl start nginx
|
Проверка установки:
1
| sudo systemctl status nginx
|
Шаг 3. Установите сервер базы данных MariaDB#
PrestaShop опирается на базу данных для хранения своих данных. Установка MariaDB:
1
| sudo apt install mariadb-server mariadb-client -y
|
Включить и запустить MariaDB:
1
2
| sudo systemctl enable mariadb
sudo systemctl start mariadb
|
Проверка установки:
1
| sudo systemctl status mariadb
|
Шаг 4. Установите PHP и требуемые расширения#
PrestaShop построен на PHP, поэтому установите PHP и его необходимые расширения:
1
| sudo apt install php php-{fpm,mysql,common,cli,opcache,readline,mbstring,xml,gd,curl,imagick,gnupg,ldap,imap,zip,bz2,intl,gmp} -y
|
Шаг 5. Создание базы данных для PrestaShop#
Войти в консоль MariaDB:
Создайте базу данных и пользователя для PrestaShop:
1
2
3
4
5
| CREATE DATABASE prestashop_db;
CREATE USER 'prestashop'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';
GRANT ALL PRIVILEGES ON prestashop_db.* TO 'prestashop'@'localhost';
FLUSH PRIVILEGES;
EXIT;
|
Заменить YourStrongPasswordHere сильным, уникальным паролем.
Шаг 6. Установите Composer#
Чтобы установить Composer начните с загрузки сценария установки на /tmp/composer-setup.php:
1
| curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
|
Затем возьмите официальную подпись и храните ее в переменной:
1
| HASH=`curl -sS https://composer.github.io/installer.sig`
|
Проверка целостности скриптов:
1
| php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
|
Если вывод говорит, что установщик проверен, переходите к общесистемной установке:
1
| sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
|
Наконец, подтвердите установку путем запуска:
Шаг 7. Установите Node.js с помощью APT с методом PPA#
Node.js может быть установлен с помощью хранилища NodeSource. Начните с добавления репозитория:
1
| curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
Далее нам необходимо обновить информацию о пакете системы:
Наконец, мы можем установить Node.js:
1
| sudo apt install nodejs -y
|
Вы успешно установили LTS-версию Node.js.
Шаг 8. Скачать Prestashop#
Скачать последние файлы PrestaShop. Последний релиз - версия 9.0.3; вы можете просмотреть другие доступные версии на официальной странице PrestaShop GitHub.
Перейдите в каталог /tmp и загрузите релиз:
1
2
| cd /tmp
wget https://github.com/PrestaShop/PrestaShop/archive/refs/tags/9.0.3.tar.gz
|
Это позволит извлечь каталог PrestaShop-9.0.3. Переместить и переименовать этот каталог в веб-каталог:
1
2
| tar -zxvf PrestaShop-9.0.3.tar.gz
mv PrestaShop-9.0.3/ /var/www/prestashop/
|
Наконец, установите соответствующую собственность для каталога PrestaShop:
1
| chown -R www-data: /var/www/prestashop
|
Шаг 9. Установка зависимостей Composer#
Используйте composer для загрузки зависимостей проекта:
1
2
| cd /var/www/prestashop
sudo -u www-data /usr/bin/php /usr/local/bin/composer install
|
Шаг 10. Установка зависимостей JavaScript и CSS#
PrestaShop использует NPM для управления зависимостями и Webpack для их компиляции в статических активах. Вы можете использовать следующую команду:
1
2
| cd /var/www/prestashop
sudo -u www-data make assets
|
Шаг 11. Настроить Nginx#
После установки nginx уже будет работать. Затем создайте серверный блок nginx (виртуальный хост) для сайта PrestaShop:
1
| sudo nano /etc/nginx/sites-enabled/prestashop.conf
|
Затем вставьте следующее в файл.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| server {
listen 80;
server_name yourprestashopdomain.com www.yourprestashopdomain.com;
access_log /var/log/nginx/prestashopdomain.com-access.log combined;
error_log /var/log/nginx/prestashopdomain.com-error.log info;
root /var/www/prestashop;
index index.php;
client_max_body_size 16M;
error_page 404 /index.php?controller=404;
location ~* /\.(?!well-known\/) {
deny all;
}
location ~* ^/\.well-known\/ {
default_type text/plain;
}
rewrite ^/(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/c/([\w.-]+)/.+\.jpg$ /img/c/$1.jpg last;
rewrite ^images_ie/?([^/]+)\.(gif|jpe?g|png)$ js/jquery/plugins/fancybox/images/$1.$2 last;
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^(/install(?:-dev)?/sandbox)/.* /$1/test.php last;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location /admin-dev/ {
try_files $uri $uri/ /admin-dev/index.php$is_args$args;
}
location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|var|vendor)/ {
deny all;
}
location ~ ^/modules/.*/vendor/ {
deny all;
}
location ~ \.(log|tpl|twig|sass|yml)$ {
deny all;
}
location /img {
location ~ \.php$ { deny all; }
}
location /upload {
location ~ \.php$ { deny all; }
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_index index.php;
fastcgi_keep_conn on;
fastcgi_read_timeout 60s;
fastcgi_send_timeout 60s;
fastcgi_buffer_size 256k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
}
|
Сохранить и закрыть файл. Затем проверьте конфигурацию nginx для любых ошибок:
Если тест проходит, перезапустите nginx, чтобы применить изменения:
1
| sudo systemctl restart nginx
|
Шаг 12. Установите SSL#
Чтобы включить SSL для установки PrestaShop, сначала установите необходимый пакет Certbot:
1
| sudo apt install python3-certbot-nginx -y
|
Затем получить и установить SSL-сертификат от Let’s Encrypt путем запуска:
1
| sudo certbot certonly --standalone -d yourprestashopdomain.com --non-interactive --agree-tos --email your-email@example.com
|
Поздравляю! PrestaShop теперь установлен и закреплен на вашем сервере Ubuntu 24.04. Запустите начальную настройку на https://yourprestashopdomain.com, настройте настройки вашего магазина и начните создавать свой сайт электронной коммерции. Наслаждайтесь мощными, гибкими и масштабируемыми функциями PrestaShop для вашего онлайн-бизнеса!
Завершение#
Если вам понравился этот пост о том, как установить PrestaShop на Ubuntu 24.04, пожалуйста, поделитесь им с друзьями или оставьте комментарий ниже. Спасибо