Shopware je bezplatná platforma s otevřeným zdrojovým kódem, která vám pomůže založit vlastní web pro elektronické obchodování a podpořit tak vaše online podnikání. Poskytuje spoustu užitečných nástrojů, které vám pomohou vytvořit a přizpůsobit plně responzivní internetový obchod. Je velmi podobný Magentu. Ve srovnání s Magento je Shopware velmi výkonná, snadno použitelná a flexibilní aplikace. Díky modernímu uživatelskému rozhraní vám pomůže snadno vytvářet a spravovat obsah a produkty z jakéhokoli zařízení.
V tomto tutoriálu vám ukážeme, jak nainstalovat Shopware s Nginx a Let's Encrypt SSL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat LEMP Server
Shopware běží na webovém serveru a je postaven na PHP s komponentami Symfony a Zend a jako backend databáze používá MySQL nebo MariaDB. Takže budete muset nainstalovat Nginx, MariaDB, PHP a další rozšíření na váš server. Všechny je můžete nainstalovat pomocí následujícího příkazu:
dnf install nginx mariadb-server php php-cli php-intl php-fpm php-common php-mysqli php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache unzip -yJakmile jsou všechny balíčky nainstalovány, spusťte službu Nginx, MariaDB a PHP-FPM a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl spustit mariadb
systemctl povolit mariadb
systemctl spustit nginx
systemctl spustit php-fpm
systemctl povolit nginx
systemctl povolit php-fpmJakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace PHP-FPM
Ve výchozím nastavení je PHP-FPM nakonfigurováno tak, aby běželo jako uživatel a skupina Apache. Budete jej tedy muset nakonfigurovat, aby běžel jako uživatel a skupina Nginx. Můžete to udělat úpravou souboru /etc/php-fpm.d/www.conf:
nano /etc/php-fpm.d/www.confZměňte následující řádky:
user =nginx group =nginxUložte a zavřete soubor, poté vytvořte adresář relace a nastavte správné vlastnictví pomocí následujícího příkazu:
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/sessionDále upravte soubor php.ini a dolaďte některá doporučená nastavení:
nano /etc/php.iniZměňte následující řádky:
memory_limit =512Mupload_max_filesize =20Mdate.timezone =Asie/KolkataUložte a zavřete soubor a poté restartujte službu PHP-FPM, aby se změny projevily:
systemctl restart php-fpmVytvoření databáze pro Shopware
Dále budete muset vytvořit databázi a uživatele pro Shopware. Nejprve se připojte k MariaDB pomocí následujícího příkazu:
mysqlPo připojení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> VYTVOŘIT DATABÁZI shopware;
MariaDB [(none)]> UDĚLEJTE VŠE NA shopware.* NA 'shopware' IDENTIFIKOVANÉ PODLE 'hesla';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.
Stáhnout Shopware
Dále si budete muset stáhnout nejnovější verzi Shopware pro jeho oficiální web. Nejprve vytvořte adresář pro Shopware v kořenovém adresáři Nginx:
mkdir /var/www/html/shopwareDále si stáhněte Shopware pomocí následujícího příkazu:
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_v6.3.5.0_ba08dbfc07784b5cefe7837f2abbda69dbf5b8b7.zip -O shopware.zipPo dokončení stahování rozbalte stažený soubor do adresáře shopware:
rozbalte shopware.zip -d /var/www/html/shopwareDále nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:
chown -R nginx:nginx /var/www/html/shopware
chmod -R 775 /var/www/html/shopwareJakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Nginx pro Shopware
Dále vytvořte konfigurační soubor virtuálního hostitele Nginx pro Shopware pomocí následujícího příkazu:
nano /etc/nginx/conf.d/shopware.confPřidejte následující řádky:
server { poslouchat 80; # Handle / to index.php index index.php; # Název našeho serveru název_serveru shopware.example.com; # Kde je kód umístěn root /var/www/html/shopware/public; # Potřebné pro umístění instalace / aktualizace Shopware / obnova / instalace { index index.php; try_files $uri /recovery/install/index.php$is_args$args; } umístění /recovery/update/ { if (!-e $request_filename){ rewrite . /recovery/update/index.php poslední; } } # Přepošlete jakýkoli nenalezený soubor do index.php. Také umožňuje mít krásné adresy URL jako /homemade-products/ location / { try_files $uri /index.php$is_args$args; } # Nechat php-fpm zpracovat umístění souborů .php ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; zahrnout fastcgi.conf; fastcgi_param HTTP_PROXY ""; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_read_timeout 300s; client_body_buffer_size 128k; fastcgi_pass unix:/run/php-fpm/www.sock; http2_push_preload on; }}Uložte a zavřete soubor a poté pomocí následujícího příkazu ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:
nginx -tMěli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýPoté restartujte službu Nginx, aby se změny aplikovaly:
systemctl restart nginxStav Nginx můžete také ověřit pomocí příkazu níže:
stav systemctl nginxMěli byste získat následující výstup:
? nginx.service – HTTP a reverzní proxy server nginx Načteno:načteno (/usr/lib/systemd/system/nginx.service; zakázáno; přednastaveno dodavatelem:zakázáno) Drop-In:/usr/lib/systemd/system/nginx. service.d ??php-fpm.conf Aktivní:aktivní (běží) od Út 2021-02-02 00:40:04 EST; před 19 s Proces:76059 ExecStart=/usr/sbin/nginx (kód=ukončeno, stav=0/ÚSPĚCH) Proces:76057 ExecStartPre=/usr/sbin/nginx -t (kód=ukončeno, stav=0/ÚSPĚCH) Proces:76054 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:76060 (nginx) Úkoly:3 (limit:12523) Paměť:5,5M CGroup:/ system.slice/nginx.service ??76060 nginx:hlavní proces /usr/sbin/nginx ??76061 nginx:pracovní proces ??76062 nginx:pracovní procesFeb 02 00:40:04 centos8 systemd[1]:Zastaveno HTTP nginx a reverzní proxy server.Feb 02 00:40:04 centos8 systemd[1]:Spouštění nginx HTTP a reverzního proxy serveru...Feb 02 00:40:04 centos8 nginx[76057]:nginx:konfigurační soubor /etc/ Syntaxe nginx/nginx.conf je okFeb 02 00:40:04 centos8 nginx[76057]:nginx:konfigurační soubor /etc/nginx/nginx.conf test je úspěšný 2. února 00:40:04 centos8 systemd[1]:Spuštěno HTTP a reverzní proxy server.Konfigurovat SELinux a bránu firewall
Ve výchozím nastavení je SELinux povolen v CentOS 8. Budete tedy muset nakonfigurovat kontext SELinux pro Shopware. Můžete jej nakonfigurovat pomocí následujícího příkazu:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/shopwareDále povolte port 80 a 443 přes firewalld pomocí následujícího příkazu:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadJakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému rozhraní Shopware
Nyní otevřete webový prohlížeč a zadejte adresu URL http://shopware.example.com .
Vyberte jazyk a klikněte na Další knoflík. Ujistěte se, že byly splněny všechny požadavky, a poté klikněte na Další knoflík. Měli byste vidět následující stránku:
Vyjádřete souhlas s VOP a klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte svou databázi, uživatelské jméno, heslo a klikněte na Start instalace knoflík. Po dokončení instalace byste měli vidět následující stránku:
Klikněte na další stránku. Budete požádáni o zadání názvu obchodu, e-mailové adresy, měny, země, uživatelského jména správce, hesla a klikněte na Další knoflík. Budete přesměrováni na řídicí panel Shopware:
Zadejte všechny informace a klikněte na tlačítko Další. Měli byste vidět následující stránku:
Nainstalujte požadované jazykové pluginy a klikněte na Další knoflík. Měli byste vidět následující stránku:
Nainstalujte demo data nebo toto přeskočte a klikněte na Další knoflík. Měli byste vidět následující stránku:
Klikněte na Konfigurovat později . Měli byste vidět následující stránku:
Klikněte na Přeskočit knoflík. Měli byste vidět následující stránku:
Klikněte na Další Měla by se zobrazit následující stránka:
Klikněte na Přeskočit knoflík. Měli byste vidět následující stránku:
Klikněte na Dokončit knoflík. Měli byste vidět uvítací stránku Shopware:
Bezpečný Shopware s Let's Encrypt SSL
Dále budete muset do svého systému nainstalovat nástroj Certbot, abyste si mohli stáhnout a nainstalovat Let's Encrypt SSL pro doménu Let's Chat.
Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot- auto
chmod 0755 /usr/local/bin/certbot-autoDále získejte a nainstalujte certifikát SSL pro vaši doménu lets pomocí následujícího příkazu:
certbot-auto --nginx -d shopware.example.comVýše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:
Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.log Vybrané pluginy:Authenticator nginx, Installer nginxZadejte e-mailovou adresu (používá se pro naléhavá upozornění na obnovení a zabezpečení) (Zadejte „c“ pro zrušení):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Přečtěte si podmínky služby na https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Chcete-li se zaregistrovat na serveru ACME na adrese https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Byli byste ochotni sdílet svou e-mailovou adresu s Electronic FrontierFoundation, zakládajícím partnerem projektu Let's Encrypt a neziskovou organizací, která vyvíjí Certbot? Rádi bychom vám zaslali e-mail o naší práci na šifrování webu, novinkách EFF, kampaních a způsobech podpory digitální svobody.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)ne:YZískání nového certifikátu Provedení následujících výzev:http-01 výzva pro shopware.example.comČekání na ověření...Čištění up callsNasazení certifikátu na VirtualHost /etc/nginx/conf.d/shopware.confDále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
Zvolte prosím, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat přístup HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Žádné přesměrování - Nedělejte žádné další změny v konfiguraci webového serveru.2:Přesměrování - Proveďte přesměrování všech požadavků na zabezpečený přístup HTTPS. Vyberte toto pro nové weby, nebo pokud jste si jisti, že váš web funguje na HTTPS. Tuto změnu můžete vrátit zpět úpravou konfigurace vašeho webového serveru.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vyberte příslušné číslo [1-2] a poté [enter] (zrušte stisknutím 'c'):2Zadejte 2 a pokračujte stisknutím klávesy Enter. Po dokončení instalace byste měli vidět následující výstup:
Přesměrování veškerého provozu na portu 80 na ssl v /etc/nginx/conf.d/shopware.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gratulujeme! Úspěšně jste povolili https://shopware.example.comMěli byste otestovat svou konfiguraci na:https://www.ssllabs.com/ssltest/analyze.html?d=shopware.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DŮLEŽITÉ POZNÁMKY:- Gratulujeme! Váš certifikát a řetězec byly uloženy na:/etc/letsencrypt/live/shopware.example.com/fullchain.pem Váš soubor klíče byl uložen na:/etc/letsencrypt/live/shopware.example.com/privkey.pem Váš platnost certifikátu vyprší 2021-04-2. Chcete-li v budoucnu získat novou nebo vylepšenou verzi tohoto certifikátu, jednoduše znovu spusťte certbot-auto s možností „certonly“. Chcete-li neinteraktivně obnovit *všechny* své certifikáty, spusťte „certbot-auto renew“ – Pokud se vám Certbot líbí, zvažte prosím podporu naší práce:Darováním pro ISRG / Let's Encrypt:https://letsencrypt.org/donate Darováním pro EFF:https://eff.org/donate-leNyní můžete k Shopware přistupovat bezpečně pomocí adresy URL https://shopware.example.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Shopware s Nginx a Let's Encrypt SSL na CentOS 8. Nyní můžete snadno hostovat svůj vlastní online obchod pomocí Shopware. Neváhejte se mě zeptat, pokud máte nějaké otázky.
Nainstalujte a používejte vzdálenou plochu Guacamole na CentOS 8 Jak nainstalovat a nakonfigurovat Docker Swarm Cluster na CentOS 8Cent OS