Как установить PrestaShop в Ubuntu 18.04

Установка PrestaShop на Ubuntu 18.04 с Nginx

PrestaShop — это бесплатная платформа электронной коммерции с открытым исходным кодом. Она основана на PHP и MySQL и может быть расширена бесплатными и платными плагинами и темами.

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

В этом руководстве мы покажем вам, как установить PrestaShop на сервер Ubuntu 18.04. Мы будем использовать Nginx в качестве веб-сервера, последнюю версию PHP 7.2 и MySQL/MariaDB в качестве сервера базы данных.

Предпосылки

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

  • Укажите доменное имя, указывающее на IP-адрес вашего публичного сервера. Мы будем использовать example.com .
  • Nginx устанавливается на ваш сервер Ubuntu, следуя этим инструкциям .
  • SSL-сертификат, установленный для вашего домена, для шифрования данных пользователя. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .

Обновите системные пакеты до последних версий и установите утилиту unzip :

 sudo apt update && sudo apt upgrade sudo apt install unzip

Создание базы данных MySQL

PrestaShop хранит свою информацию в базе данных MySQL.

Если на вашем сервере установлены MySQL или MariaDB , вы можете пропустить этот шаг. В противном случае установите пакет сервера MySQL 5.7 из стандартных репозиториев Ubuntu, выполнив команду:

 sudo apt install mysql-server mysql-client

Для новых установок MySQL рекомендуется выполнить команду mysql_secure_installation , чтобы повысить безопасность вашего сервера MySQL.

Чтобы создать базу данных, войдите в оболочку mysql:

 sudo mysql

В оболочке MySQL выполните следующий оператор SQL, чтобы создать новую базу данных с именем prestashop :

 CREATE DATABASE prestashop;

Затем создайте учетную запись пользователя MySQL с именем prestashop и предоставьте пользователю необходимые разрешения, выполнив следующую команду:

 GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password';

Не забудьте изменить change-with-strong-password на надежный пароль.

После этого выйдите из консоли MySQL, введя:

 EXIT;

Установка и настройка PHP

PHP 7.2 — версия PHP по умолчанию в Ubuntu 18.04, она полностью поддерживается и рекомендуется для PrestaShop.

Выполните следующую команду для установки PHP и всех необходимых модулей PHP:

 sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

После завершения установки служба PHP-FPM запустится автоматически. Вы можете проверить это, введя:

 sudo systemctl status php7.2-fpm

Вывод должен выглядеть примерно так:

 * php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-03-24 11:53:33 PDT; 14s ago Docs: man:php-fpm7.2(8) Main PID: 15853 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Выполните следующие команды sed , чтобы задать рекомендуемые параметры PHP:

 sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Загрузка PrestaShop

На момент написания статьи последней стабильной версией PrestaShop является версия 1.7.6.2 .

Загрузите последнюю версию PrestaShop со страницы загрузок PrestaShop с помощью следующей команды wget :

 cd /tmp wget https://download.prestashop.com/download/releases/prestashop_1.7.6.2.zip

После завершения загрузки создайте каталог, в котором будут храниться файлы PrestaShop:

 sudo mkdir -p /var/www/html/example.com

Далее извлеките архив PrestaShop :

 unzip prestashop_*.zip

Этот архив содержит ещё один zip-файл «prestashop.zip», содержащий все файлы PrestaShop. Распакуйте файлы в корневой каталог документов домена:

 sudo unzip prestashop.zip -d /var/www/html/example.com

Установите правильные разрешения, чтобы веб-сервер имел полный доступ к файлам и каталогам сайта, с помощью следующей команды chown :

 sudo chown -R www-data: /var/www/html

Настройка Nginx

К настоящему моменту на вашем сервере Ubuntu уже должен быть установлен Nginx с SSL-сертификатом. Если нет, проверьте предварительные требования для этого руководства.

Откройте текстовый редактор и создайте следующий файл:

 sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

 server { listen 80 ; listen 443 ssl http2 ; server_name example.com www.example.com ; root /var/www/html/example.com ; index index.php ; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem ; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem ; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem ; include snippets/ssl.conf ; include snippets/letsencrypt.conf ; # Cloudflare / Max CDN fix location ~ * .(eot|otf|ttf|woff(?:2)?) $ { add_header Access-Control-Allow-Origin * ; } # Do not save logs for these location = /favicon.ico { auth_basic off ; allow all ; log_not_found off ; access_log off ; } location = /robots.txt { auth_basic off ; allow all ; log_not_found off ; access_log off ; } # Images rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$1$2$3.jpg last ; rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$1$2$3$4.jpg last ; rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$1$2$3$4$5.jpg last ; rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$4/$1$2$3$4$5$6.jpg last ; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last ; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last ; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last ; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg $ /img/p/ $1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last ; rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg $ /img/c/ $1$2$3.jpg last ; rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg $ /img/c/ $1$2.jpg last ; # AlphaImageLoader for IE and fancybox rewrite ^images_ie/?([^/]+).(jpe?g|png|gif) $ js/jquery/plugins/fancybox/images/ $1.$2 last ; # Web service API rewrite ^/api/?(.*) $ /webservice/dispatcher.php?url= $1 last ; # Installation sandbox rewrite ^(/install(?:-dev)?/sandbox)/(.*) / $1/test.php last ; #Change this block to your admin folder location /admin_CHANGE_ME { if (!-e $request_filename ) { rewrite ^/.* $ /admin_CHANGE_ME/index.php last ; } } # File security # .htaccess .DS_Store .htpasswd etc location ~ /. { deny all ; } # Source code directories location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ { deny all ; } # Prevent exposing other sensitive files location ~ .(yml|log|tpl|twig|sass)$ { deny all ; } # Prevent injection of php files location /upload { location ~ .php$ { deny all ; } } location /img { location ~ .php$ { deny all ; } } # PHP FPM part location ~ .php$ { include snippets/fastcgi-php.conf ; fastcgi_pass unix:/run/php/php7.2-fpm.sock ; } }

Не забудьте заменить example.com на ваш домен PrestaShop, а «admin_CHANGE_ME» — на ваш каталог admin. Имя каталога можно узнать, просмотрев содержимое корневого каталога PrestaShop:

 sudo ls -l /var/www/html/example.com | grep admin

Также убедитесь, что вы используете правильный путь к файлам SSL-сертификата. Фрагменты, используемые в этой конфигурации, созданы в этом руководстве .

Перед перезапуском службы Nginx проверьте конфигурацию на наличие синтаксических ошибок:

 sudo nginx -t

Вывод должен выглядеть так:

 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите службу Nginx , введя:

 sudo systemctl restart nginx

Установка PrestaShop

Теперь, когда PrestaShop загружен и настройка сервера завершена, вы можете завершить установку через веб-интерфейс.

Откройте браузер, введите свой домен, и появится экран, подобный следующему:

Установить язык PrestaShop

Выберите нужный вам язык и нажмите кнопку «Далее».

На следующем экране вам будет представлено лицензионное соглашение PrestaShop. Ознакомьтесь с ним и выберите «Я согласен с вышеуказанными условиями». Чтобы продолжить:

Установить лицензию PrestaShop

Далее вы увидите следующую информационную страницу:

Установка PrestaShop Pre-Installltion

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

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

Подробности установки PrestaShop

Далее мастер настройки попросит вас ввести данные для подключения к базе данных. Введите имя пользователя MySQL и данные базы данных, которые вы создали ранее:

Установить базу данных PrestaShop

Нажмите кнопку «Далее», и установка начнется:

Установить PrestaShop Assistant

Установка может занять несколько минут. После ее завершения откроется следующая страница с сообщением об установке PrestaShop.

Установить PrestaShop

В целях безопасности вам необходимо удалить каталог установки. Для этого вернитесь в терминал и введите следующую команду rm :

 sudo rm -rf /var/www/html/example.com/install

Чтобы получить доступ к панели управления PrestaShop, нажмите кнопку «Управление магазином». Введите адрес электронной почты и пароль, и вы будете перенаправлены на панель управления.

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

Заключение

Вы успешно установили PrestaShop на свой сервер Ubuntu 18.04. Документация PrestaShop — хорошая отправная точка для получения дополнительной информации об управлении установкой PrestaShop.

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

ubuntu prestashop mysql php nginx электронная коммерция

Связанные руководства

Источник

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

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