Поиск по сайту:

Как установить Shopware 6 с Nginx и Lets Encrypt SSL в Ubuntu 20.04


Это руководство существует для этих версий ОС

  • Ubuntu 18.04 (Бионический бобер)

На этой странице

  1. Предпосылки
  2. Установите Nginx и MariaDB
  3. Установка PHP и других компонентов
  4. Настройка базы данных MariaDB
  5. Установить Композитор
  6. Загрузить ПО для магазина
  7. Настройка Nginx для Shopware
  8. Доступ к мастеру установки Shopware
  9. Защитите ПО для магазинов с помощью Lets Encrypt
  10. Заключение

Shopware CE — это бесплатная платформа электронной коммерции с открытым исходным кодом, написанная на Symfony и Vue.js. Он основан на довольно современном стеке технологий и является очень хорошей альтернативой другому приложению для электронной коммерции, например Magento. Это очень мощное и гибкое приложение, которое дает вам возможность быстро и легко использовать свой потенциал роста и сосредоточиться на идеальном клиентском опыте. Он предоставляет простой и удобный интерфейс администратора для управления клиентами и заказами. Он позволяет вам управлять ценами на продукты, изменять или обновлять темы, создавать шаблоны электронной почты для маркетинга ваших продуктов и генерировать статистические результаты.

В этом руководстве мы покажем вам, как установить Shopware CE с Nginx и Lets Encrypt на Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04 с оперативной памятью не менее 4 ГБ.
  • Действительное доменное имя, указывающее на ваш сервер.
  • На вашем сервере настроен пароль root.

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

Сначала установите веб-сервер Nginx и сервер базы данных MariaDB, используя следующую команду:

apt-get install nginx mariadb-server -y

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

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Установите PHP и другие компоненты

Shopware 6 поддерживает версии PHP от 7.2 до 7.3. Поэтому вам нужно будет установить PHP вместе с другими библиотеками в вашей системе.

Сначала добавьте репозиторий PHP в вашу систему с помощью следующей команды:

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

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

apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-intl php7.2-opcache git unzip socat curl bash-completion -y

После установки всех пакетов отредактируйте файл php.ini и настройте нужные параметры:

nano /etc/php/7.2/fpm/php.ini

Измените следующие строки:

memory_limit = 512M
upload_max_filesize = 20M
max_execution_time = 300

Сохраните и закройте файл, когда закончите.

Далее вам нужно будет установить загрузчик IonCube в вашей системе.

Сначала загрузите его с помощью следующей команды:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

После загрузки извлеките загруженный файл с помощью следующей команды:

tar xfz ioncube_loaders_lin_x86-64.tar.gz

Затем найдите путь к каталогу расширения PHP:

php -i | grep extension_dir

Вы должны увидеть следующий вывод:

extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902

Затем скопируйте загрузчик IonCube в каталог расширения PHP:

cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/

Затем отредактируйте файл php.ini и определите загрузчик IonCube:

nano /etc/php/7.2/fpm/php.ini

Добавьте следующую строку в раздел [PHP]:

zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.2.so

Сохраните и закройте файл, затем перезапустите службу PHP-FPM, чтобы изменения вступили в силу.

systemctl restart php7.2-fpm

Настроить базу данных MariaDB

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

mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Когда вы закончите, войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

Укажите свой корневой пароль MariaDB, затем создайте базу данных и пользователя для Shopware:

MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';

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

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

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

Установить Композитор

Composer — это менеджер зависимостей для PHP. Он используется для установки всех зависимостей PHP, необходимых для установки Shopware.

Вы можете установить его с помощью команды curl, как показано ниже:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

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

composer --version

Вы должны получить следующий результат:

Composer version 1.10.7 2020-06-03 10:03:56

Скачать ПО для магазина

Сначала создайте каталог для Shopware внутри корневого веб-каталога Nginx:

mkdir /var/www/html/shopware

Затем измените каталог на shopware и загрузите последнюю версию Shopware, используя следующую команду:

cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip

После загрузки разархивируйте загруженный файл с помощью следующей команды:

unzip install_6.2.2_1592398977.zip

Затем установите все зависимости PHP, используя следующую команду:

composer install

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

chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware

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

Настроить Nginx для Shopware

Сначала создайте новый файл конфигурации виртуального хоста Nginx для Shopware:

nano /etc/nginx/sites-available/shopware.conf

Добавьте следующие строки:

server {
    listen 80;

    index index.php index.html;
    server_name shopware.linuxbuz.com;
    root /var/www/html/shopware/public;

    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

    location /recovery/update/ {
        location /recovery/update/assets {
        }
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 24M;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        http2_push_preload on;
    }
}

Сохраните и закройте файл, затем включите файл виртуального хоста Shopware с помощью следующей команды:

ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/

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

nginx -t

Вы должны получить следующий результат:

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

Затем перезапустите службу Nginx, чтобы применить изменения:

systemctl reload nginx

Доступ к Мастеру установки Shopware

На данный момент Shopware установлен в вашей системе. Теперь откройте веб-браузер и введите URL-адрес http://shopware.linuxbuz.com. Вы должны увидеть мастер веб-установки Shopware:

Выберите свой язык и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Убедитесь, что все необходимые зависимости установлены, затем нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Примите условия и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Укажите данные вашей базы данных и нажмите кнопку «Начать установку». После успешного завершения установки вы должны увидеть следующий экран:

Теперь нажмите кнопку «Далее». Вы должны увидеть экран конфигурации Shopware:

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

Нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Установите нужные данные и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Выберите нужный почтовый агент и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Выберите нужный вариант и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Настройте свой PayPal или нажмите кнопку «Пропустить». Вы должны увидеть следующий экран:

Настройте свои учетные данные PayPal или нажмите кнопку «Пропустить». Вы должны увидеть следующий экран:

Выберите свой регион и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Нажмите на кнопку Пропустить. После настройки Shopware вы должны увидеть следующий экран:

Нажмите кнопку Готово. Вы должны увидеть панель инструментов Shopware на следующем экране:

Безопасное ПО для магазинов с помощью Lets Encrypt

Прежде чем начать, вам необходимо установить клиент Certbot в вашей системе для установки и управления Lets Encrypt SSL. Вы можете установить его с помощью следующей команды:

apt-get install certbot python3-certbot-nginx -y

После установки клиента Certbot выполните следующую команду, чтобы загрузить и установить Lets Encrypt SSL для своего веб-сайта:

certbot --nginx -d shopware.linuxbuz.com

Укажите свой адрес электронной почты и примите условия обслуживания, как показано ниже:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for shopware.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/shopware.conf

Выберите, следует ли перенаправлять HTTP-трафик на HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

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

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/shopware.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://shopware.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=shopware.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

На данный момент ваш веб-сайт Shopware защищен с помощью Lets Encrypt SSL. Теперь вы можете безопасно получить доступ к своему веб-сайту, используя URL-адрес https://shopware.linuxbuz.com.

Заключение

Поздравляем! вы успешно установили Shopware с Nginx и Lets Encrypt SSL на Ubuntu 20.04. Теперь вы можете начать создавать свой собственный онлайн-бизнес с помощью Shopware. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.