Shopware CE je bezplatná a open source platforma elektronického obchodu napsaná v Symfony a Vue.js. Je založen na poměrně moderním technologickém zásobníku a velmi dobrou alternativou k jiné eCommerce aplikaci, jako je Magento. Je to velmi výkonná a flexibilní aplikace a dává vám svobodu rychle a snadno využít svůj růstový potenciál a zaměřit se na perfektní zákaznickou zkušenost. Poskytuje jednoduché a snadno použitelné administrátorské rozhraní pro správu klientů a objednávek. Umožňuje vám spravovat ceny produktů, měnit nebo aktualizovat témata, navrhovat e-mailové šablony pro marketing vašich produktů a generovat statistické výsledky.
V tomto tutoriálu vám ukážeme, jak nainstalovat Shopware CE s Nginx a Let's Encrypt na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04 s minimálně 4 GB RAM.
- Platný název domény odkazovaný na váš server.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat Nginx a MariaDB
Nejprve nainstalujte webový server Nginx a databázový server MariaDB pomocí následujícího příkazu:
apt-get install nginx mariadb-server -y
Jakmile jsou oba balíčky nainstalovány, spusťte službu Nginx a MariaDB a povolte jim spuštění při spuštění systému:
systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb
Instalace PHP a dalších komponent
Shopware 6 podporuje PHP verze mezi 7.2 a 7.3. Budete tedy muset nainstalovat PHP spolu s dalšími knihovnami ve vašem systému.
Nejprve přidejte úložiště PHP do svého systému pomocí následujícího příkazu:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Jakmile je úložiště přidáno, nainstalujte PHP s dalšími knihovnami pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a dolaďte některá požadovaná nastavení:
nano /etc/php/7.2/fpm/php.ini
Změňte následující řádky:
memory_limit = 512M upload_max_filesize = 20M max_execution_time = 300
Po dokončení uložte a zavřete soubor.
Dále budete muset do svého systému nainstalovat zavaděč IonCube.
Nejprve si jej stáhněte pomocí následujícího příkazu:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Po stažení rozbalte stažený soubor pomocí následujícího příkazu:
tar xfz ioncube_loaders_lin_x86-64.tar.gz
Dále vyhledejte cestu k adresáři rozšíření PHP:
php -i | grep extension_dir
Měli byste vidět následující výstup:
extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902
Dále zkopírujte zavaděč IonCube do adresáře rozšíření PHP:
cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/
Dále upravte soubor php.ini a definujte zavaděč IonCube:
nano /etc/php/7.2/fpm/php.ini
Do sekce [PHP] přidejte následující řádek:
zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.2.so
Uložte a zavřete soubor a poté restartujte službu PHP-FPM, aby se změny projevily.
systemctl restart php7.2-fpm
Konfigurace databáze MariaDB
Nejprve zabezpečte instalaci MariaDB a nastavte heslo uživatele root pomocí následujícího skriptu:
mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
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
Jakmile budete hotovi, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Zadejte své root heslo MariaDB a poté vytvořte databázi a uživatele pro Shopware:
MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Composer
Composer je správce závislostí pro PHP. Používá se k instalaci všech PHP závislostí potřebných k instalaci Shopware.
Můžete jej nainstalovat pomocí příkazu curl, jak je znázorněno níže:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
Po instalaci ověřte verzi aplikace Composer pomocí následujícího příkazu:
composer --version
Měli byste získat následující výstup:
Composer version 1.10.7 2020-06-03 10:03:56
Stáhnout Shopware
Nejprve vytvořte adresář pro Shopware v kořenovém adresáři webu Nginx:
mkdir /var/www/html/shopware
Dále změňte adresář na shopware a stáhněte si nejnovější verzi Shopware pomocí následujícího příkazu:
cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip
Po stažení stažený soubor rozbalte pomocí následujícího příkazu:
unzip install_6.2.2_1592398977.zip
Dále nainstalujte všechny závislosti PHP pomocí následujícího příkazu:
composer install
Dále změňte vlastnictví adresáře shopware a udělte správná oprávnění pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Nginx pro Shopware
Nejprve vytvořte nový konfigurační soubor virtuálního hostitele Nginx pro Shopware:
nano /etc/nginx/sites-available/shopware.conf
Přidejte následující řádky:
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; } }
Uložte a zavřete soubor a poté povolte soubor virtuálního hostitele Shopware pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/
Dále pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:
nginx -t
Měli byste získat následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Poté restartujte službu Nginx, aby se změny aplikovaly:
systemctl reload nginx
Přístup k průvodci instalací Shopware
V tomto okamžiku je ve vašem systému nainstalován Shopware. Nyní otevřete webový prohlížeč a zadejte adresu URL http://shopware.linuxbuz.com. Měli byste vidět webového průvodce instalací Shopware:
Vyberte jazyk a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Ujistěte se, že jsou nainstalovány všechny požadované závislosti, a poté klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Přijměte smluvní podmínky a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Zadejte podrobnosti o databázi a klikněte na Spustit instalaci knoflík. Po úspěšném dokončení instalace byste měli vidět následující obrazovku:
Nyní klikněte na Další knoflík. Měli byste vidět konfigurační obrazovku Shopware:
Zadejte název obchodu, e-mail, zemi, e-mail správce, uživatelské jméno správce, heslo a klikněte na Další knoflík. Budete přesměrováni na obrazovku řídicího panelu Shopware:
Klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Nainstalujte požadovaná data a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Vyberte požadovaného e-mailového agenta a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Vyberte požadovanou možnost a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Nakonfigurujte svůj PayPal nebo klikněte na Přeskočit knoflík. Měli byste vidět následující obrazovku:
Nakonfigurujte své přihlašovací údaje PayPal nebo klikněte na Přeskočit knoflík. Měli byste vidět následující obrazovku:
Vyberte svou oblast a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Klikněte na Přeskočit knoflík. Jakmile je Shopware nakonfigurován, měli byste vidět následující obrazovku:
Klikněte na Dokončit knoflík. Na následující obrazovce byste měli vidět řídicí panel Shopware:
Bezpečný Shopware s Let's Encrypt
Než začnete, budete muset do svého systému nainstalovat klienta Certbot, abyste mohli nainstalovat a spravovat Let's Encrypt SSL. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install certbot python3-certbot-nginx -y
Po instalaci klienta Certbot spusťte následující příkaz ke stažení a instalaci Let's Encrypt SSL pro váš web:
certbot --nginx -d shopware.linuxbuz.com
Zadejte svou e-mailovou adresu a přijměte podmínky služby, jak je uvedeno níže:
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): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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
Vyberte, zda chcete přesměrovat provoz HTTP na 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
Zadejte 2 a stiskněte Enter pro zahájení procesu. Po dokončení instalace byste měli vidět následující výstup:
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
V tuto chvíli jsou vaše webové stránky Shopware zabezpečeny pomocí Let's Encrypt SSL. Nyní můžete bezpečně přistupovat na svůj web pomocí adresy URL https://shopware.linuxbuz.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali Shopware s Nginx a Let's Encrypt SSL na Ubuntu 20.04. Nyní můžete začít zakládat svůj vlastní online obchod pomocí Shopware. Pokud máte nějaké dotazy, neváhejte se mě zeptat.