Jak nainstalovat Magento 2 na Ubuntu 20.04 LTS

Komplexní průvodce, jak nastavit a nasadit obchod Magento2 na serveru Ubuntu 20.04.

Magento je populární platforma elektronického obchodu vytvořená a napsaná v PHP, používá ji mnoho malých podniků k prodeji produktů a vytváření online přítomnosti. Umožňuje vám vytvořit plnohodnotný internetový obchod s funkcemi, jako je správa zásob, katalogy produktů, doprava, fakturace a mnoho dalšího.

Pokud hledáte pro svůj podnik vytvořit elegantní nákupní platformu na podnikové úrovni, Magento by mělo být skvělým výchozím bodem. V této příručce se tedy podíváme na to, jak nastavit edici komunity Magento verze 2.3 se zásobníkem LAMP na serveru Ubuntu 20.04.

Předpoklady

Budete potřebovat server Ubuntu 20.04 LTS a přihlášený jako a sudo povolený uživatel. Budete také potřebovat název domény směřující k IP serveru Ubuntu 20.04. budeme používat example.com kdekoli je vyžadován název domény, nahraďte jej svou doménou. Než začneme, aktualizujte seznam balíčků a poté upgradujte balíčky na vašem serveru Ubuntu 20.04.

aktualizace sudo apt && upgrade sudo apt

Nainstalujte webový server Apache

Magento vyžaduje ke svému fungování webový server, v tomto návodu jsme zvolili spuštění aplikace Magento přes zásobník LAMP (Linux, Apache, MySQL, PHP). Takže nainstalujeme všechny balíčky sestávající ze zásobníku LAMP.

Webový server Apache je jedním z nejpopulárnějších webových serverů na internetu s téměř 37,2% podílem na celkovém trhu webových serverů. Můžete se také rozhodnout nainstalovat Magento přes zásobník LEMP, který místo apache používá webový server Nginx. Ale v této příručce nasadíme náš server Megento pomocí Apache.

Chcete-li nainstalovat webový server Apache, spusťte příkaz níže:

sudo apt nainstalovat apache2

Zadejte své uživatelské heslo a stiskněte Y pokud budete vyzváni. Po dokončení instalace musíme nakonfigurovat nekomplikovaný firewall Ubuntu (UFW), aby povolil provoz na portu 80 & 443.

UFW je dodáván s předkonfigurovanými profily, které lze přepínat, aby umožnily aplikaci přístup k portům na vašem serveru Ubuntu 20.04. Když jste tedy nainstalovali webový server Apache, do seznamu aplikací UFW byly přidány profily UFW s názvem „Apache“, „Apache Full“ a „Apache Secure“. Umožněte webovému serveru Apache sloužit na portu 80 & 443 spuštěním:

sudo ufw povolit 'Apache Full'

Nyní vše, co musíme udělat, je povolit UFW, ale než tak učiníme, ujistěte se, že jste povolili port 22 (SSH). Pokud nezměníte pravidla SSH UFW, můžete být uzamčeni ze svého serveru Ubuntu 20.04.

sudo ufw povolit 'OpenSSH'

Nakonec povolte UFW firewall spuštěním:

povolit sudo ufw

lis Y pokud se zobrazí výzva, že příkaz může narušit připojení SSH, protože jsme již přidali pravidlo, které umožňuje SSH přes něj. Nyní můžete přistupovat k webovému serveru Apache prostřednictvím svého prohlížeče, zadejte IP adresu vašeho serveru Ubuntu 20.04 do adresního řádku a stiskněte Enter.

výchozí stránka apache2 ubuntu

Nainstalujte MySQL Server

Ke spuštění Magento budete také potřebovat databázový server, protože tam se ukládá veškerý obsah Magento obchodu. Chystáme se nainstalovat server MySQL a vytvořit uživatele s názvem magentouser a databáze tzv purpurová pro Magento.

Balíček MySQL se nazývá as mysql-server v úložištích Ubuntu jej nainstalujte spuštěním:

sudo apt install mysql-server

Dále musíme správně nakonfigurovat nastavení zabezpečení MySQL. Naštěstí je balíček MySQL dodáván s bezpečnostním skriptem, který usnadňuje konfiguraci serveru MySQL. Spusťte tedy tento skript spuštěním následujícího příkazu:

sudo mysql_secure_installation

Budete vyzváni k několika otázkám, toto jsou optimální nastavení pro server MySQL:

  • Chcete nastavit komponentu VALIDATE PASSWORD?[y/n]: Enter Y
  • Existují tři úrovně zásad ověřování hesla.
    • Zadejte prosím 0 = NÍZKÁ, 1 = STŘEDNÍ a 2 = SILNÁ: Enter 2
  • Zde prosím nastavte heslo pro root.
    • Nové heslo: Zadejte heslo pro uživatele root MySQL.
    • Znovu zadat nové heslo: Zopakujte zvolené heslo.
  • Odebrat anonymní uživatele? [y/n]: Zadejte Y
  • Zakázat vzdálené přihlášení root? [y/n] : Zadejte Y
  • Odebrat testovací databázi a přístup k ní? [y/n] : Zadejte Y
  • Znovu načíst tabulky oprávnění? [y/n] : Zadejte Y

Poté, abyste ověřili a ověřili, že je server MySQL nainstalován a funguje správně, přihlaste se k serveru MySQL jako uživatel root pomocí:

sudo mysql

Vložte svoje sudo uživatelské heslo, když k tomu budete vyzváni a stiskněte enter. Uživatel root MySQL používá unix_socket pro ověření přihlášení. To v podstatě znamená, že musíte být a sudo přihlášení k serveru MySQL jako jeho uživatel root.

Vytvořte novou databázi a uživatele pro Magento

Nyní můžeme vytvořit uživatele MySQL pro Magento a pokud jste dodrželi každý krok tohoto průvodce, musíte mít otevřenou konzoli MySQL. Vytvořte databázi tzv purpurová zadáním následujícího dotazu v konzole MySQL:

VYTVOŘIT DATABÁZI purpurová;

Chcete-li vytvořit nového uživatele MySQL, tzv magentouser, spusťte tento dotaz v konzole:

VYTVOŘIT UŽIVATELE 'magentouser'@'%' IDENTIFIKOVANÉHO S mysql_native_password BY 'heslo';

Poznámka: Nahradit Heslo v dotazu se silným heslem dle vašeho výběru.

Pak udělte nové magentouser plný přístup k purpurová databáze:

GRANT ALL ON magento.* TO 'magentouser'@'%' S MOŽNOSTÍ GRANT;

Musíme nastavit log_bin_trust_function_creators parametr 1, protože je v nejnovější verzi MySQL zakázán a bez jeho povolení Magento při instalaci vyhodí několik chyb. Chcete-li to provést, spusťte následující dotaz:

SET GLOBAL log_bin_trust_function_creators=1;

Nakonec znovu načtěte databázová oprávnění a nastavení, která jsme změnili, a ukončete konzolu pomocí těchto dotazů:

FLUSH PRIVILEGES; VÝSTUP;

Nainstalujte PHP a požadovaná rozšíření

Magento vyžaduje ke svému fungování PHP a několik rozšíření PHP. V době psaní tohoto článku byla verze Magento community edition 2.3 nefunguje s nejnovější verzí PHP 7.4 a proto musíme nainstalovat verzi PHP 7.3.

Potřebujeme přidat PHP PPA třetí strany, abychom mohli nainstalovat verzi PHP 7.3 protože úložiště Ubuntu mají pouze nejnovější 7.4 balíčky. Přidejte PPA a aktualizujte seznam balíčků spuštěním těchto příkazů:

sudo add-apt-repository ppa:ondrej/php && aktualizace sudo apt

Poté nainstalujte PHP 7.3 a všechny PHP moduly, které Magento vyžaduje spuštěním následujícího příkazu:

sudo apt install php7.3 php7.3-common php7.3-mysql php7.3-fpm php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3- gd php7.3-xml php7.3-cli php7.3-zip php7.3-bcmath php7.3-soap libapache2-mod-php7.3

Po instalaci PHP 7.3 musíme nakonfigurovat některá základní nastavení, která Magento doporučuje, aby fungovaly správně. Spuštěním tohoto příkazu otevřete konfigurační soubor rozšíření FPM pomocí nano

sudo nano /etc/php/7.3/fpm/php.ini

Zde je několik nastavení doporučených pro většinu webů Magento.

file_uploads = Zapnuto allow_url_fopen = Zapnuto short_open_tag = Zapnuto memory_limit = 256 milionů cgi.fix_pathinfo = 0 upload_max_filesize = 100 milionů max_execution_time = 360

Uložte změny stisknutím Ctrl+O poté ukončete nano editor stisknutím Ctrl+X. Nyní máme PHP a všechna potřebná rozšíření, takže můžeme přejít k získání Magenta.

Nainstalujte Composer

Composer je správce závislostí PHP, který usnadňuje instalaci rámců a knihoven PHP. Ke stažení a instalaci Magenta na náš server Ubuntu 20.04 potřebujeme Composer.

Composer vyžaduje balíček s názvem rozepnout chcete-li extrahovat stažené knihovny a rámce, nainstalujte je spuštěním:

sudo apt install rozbalit

Poté nainstalujte skladatel na úrovni celého systému spuštěním tohoto příkazu:

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

Výše uvedený příkaz by měl nainstalovat správce závislostí Composer na server Ubuntu 20.04. Ověřte, zda je Composer správně nainstalován spuštěním:

skladatel
 VÝSTUP:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / / / /__ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Verze skladatele 1.10.8 2020-06- 24 21:23:30 Použití: příkaz [možnosti] [argumenty] 

Stáhněte a nainstalujte Magento

Nyní můžeme přejít ke stažení a instalaci Magenta, protože jsme nainstalovali a nakonfigurovali všechny potřebné balíčky vyžadované Magentem.

Vytvoření účtu Magento

Ke stažení Magento na váš server Ubuntu 20.04 budete potřebovat přístupový klíč Magento 2. Chcete-li získat tento přístupový klíč, budete potřebovat účet Magento. Pokud nejste registrováni a nemáte účet Magento, přejděte na tuto stránku a klikněte na „Registrovat“.

Po vytvoření účtu Magento budete moci vytvořit nový přístupový klíč, abyste si mohli stáhnout Magento 2 do svého počítače pomocí nástroje Composer. Na této stránce si můžete prohlédnout všechny své přístupové klíče Magento. Pokud na kartě Magento 2 není žádný přístupový klíč, klikněte na tlačítko „Vytvořit nový přístupový klíč“, pojmenujte jej a stiskněte „OK“.

Tyto klíče jsou vaše přihlašovací údaje používané ke stažení Magento 2 z úložiště Magento přes Composer. Tyto klíče použijeme, když si stáhneme Magento, ale předtím, než to uděláme, nastavíme vlastnictví adresáře a oprávnění.

Konfigurace vlastnictví a oprávnění před instalací

Oprávnění k souboru mohou způsobit nebo narušit zabezpečení jakékoli webové stránky, proto je nutné správně nastavit vlastnictví a oprávnění kořenového adresáře dokumentů serveru Apache.

Výchozí vlastník /var/www/ adresář je uživatel root, ale potřebujeme přistupovat a upravovat soubory v tomto adresáři. Webový server navíc potřebuje přístup ke kořenu dokumentu, aby mohl zapisovat a upravovat obsah webu Magento.

Abychom tento problém vyřešili, přidáme aktuálního uživatele do www-data skupině, spusťte:

sudo usermod -a -G www-data $USER

The -A-G možnosti jsou důležité, protože se přidávají www-data jako sekundární skupina k uživatelskému účtu, která zachovává primární skupinu uživatele. Po přidání uživatele do skupiny webserverů změňte vlastníka /var/www/ a jeho podadresáře pomocí tohoto příkazu:

sudo chown -R $USER:www-data /var/www/

Nyní, když jsme nastavili předinstalační oprávnění pro Magento, můžeme přejít ke stažení v kořenovém adresáři dokumentu webového serveru.

Stahování Magento

Nyní byste měli mít správně nastavený Magento účet s přístupovými klíči a předinstalačními oprávněními. Použijeme tedy Composer ke stažení Magenta do kořenového adresáře dokumentu Apache a poté jej nainstalujeme.

Změňte aktuální adresář na /var/www/ takže terminál na něj ukazuje spuštěním:

cd /var/www/

Spusťte níže uvedený příkaz a vytvořte nový projekt pomocí Composer známého jako purpurová.

skladatel create-project --repository=//repo.magento.com/ magento/project-community-edition magento

Po použití výše uvedeného příkazu budete vyzváni k zadání uživatelského jména a hesla. Zde se mají použít přístupové klíče, které jsme vytvořili. Zkopírujte veřejný klíč a vložte jej jako uživatelské jméno, poté zkopírujte svůj soukromý klíč a vložte jej do terminálu jako heslo. Poté stiskněte Y pro uložení přihlašovacích údajů pro budoucí použití.

 Výstup:  Vytváření projektu „magento/project-community-edition“ na adrese „./magento“ Upozornění z repo.magento.com: Nezadali jste své ověřovací klíče Magento. Pokyny naleznete na adrese //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Vyžaduje se ověření (repo.magento.com): Uživatelské jméno: e8b6120dce14c3d982a85525264897c4 Heslo: Chcete c4 uložit pro repo.magento.com v /home/ath/.config/composer/auth.json ? [Yn] Y

Poté, co jsou Magento a všechny jeho závislosti staženy přes Composer, musíme nastavit vlastnictví a oprávnění pro nový adresář projektu Magento a jeho soubory. Změňte adresář na kořen projektu Magento takto:

cd /var/www/magento/

Poté změňte vlastníka skupiny adresáře projektu Magento a jeho podadresářů spuštěním:

najít var vygenerovaného dodavatele pub/static pub/media app/etc -type f -exec chmod g+w {} + && najít var vygenerovaného dodavatele pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Tento příkaz poskytne skupině webových serverů (www-data) oprávnění k zápisu do adresářů a souborů dodavatele, pub/static, pub/media & app/etc a souborů v nich. Navíc to udělá bin/magento spustitelný soubor, takže jej můžeme spustit a nainstalovat Magento do našeho systému.

Konfigurace Apache pro Magento

Nainstalujeme Magento přes GUI, protože je v tomto případě intuitivnější než instalace CLI. Než budeme moci pokračovat v instalaci Magenta, musíme vytvořit virtuální hostitel pro webový server Apache.

Otevřete výchozí soubor virtuálního hostitele Apache pomocí nano pomocí následujícího příkazu:

sudo nano /etc/apache2/sites-available/000-default.conf

Změňte kořen dokumentu na /var/www/magento a přidejte pod něj následující fragment kódu.

 AllowOverride All ServerName example.com ServerAlias ​​www.example.com

Nahradit example.com v ServerName a ServerAlias ​​s názvem vaší domény. Změny ve vašem 000-default.conf soubor by měl vypadat podobně jako níže uvedený zvýrazněný text. Uložte změny stisknutím Ctrl+O a ukončete editor pomocí Ctrl+X klíče.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/magento AllowOverride All ServerName example.com ServerAlias ​​www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombinované 

Dále musíme povolit Apache mod s názvem as mod_rewrite vyžaduje Magento. Poskytuje flexibilní a výkonný způsob manipulace s URL, takže povolte mod spuštěním:

přepsat sudo a2enmod

Restartujte server Apache, aby se všechny změny, které jsme provedli, aplikovaly na server:

sudo systemctl restart apache2

Instalace Magento

Konečně můžeme přistoupit k instalaci Magenta, jelikož máme vše, co Magento ke svému fungování vyžaduje. Zadejte IP adresu vašeho serveru Ubuntu 20.04 do adresního řádku vašeho preferovaného prohlížeče.

Klikněte na ‚Agree and Setup Magento‘ a pokračujte v instalaci Magento. Prvním krokem instalačního programu Magento Web je kontrola připravenosti, která ověří, že jsou splněny všechny požadavky Magento. Klikněte na „Spustit kontrolu připravenosti“ a po dokončení procesu klikněte na „Další“.

Dalším krokem je nastavení podrobností a přidání databáze pro Magento. Již jsme vytvořili uživatele MySQL pro Magento s názvem magentouser a databáze tzv purpurová ve výše uvedené části. V této sekci vyplňte příslušné údaje, jmenovitě uživatelské jméno databázového serveru, jeho heslo a název databáze a poté pokračujte stisknutím ‚Další‘.

Třetím krokem v nastavení Magento je webová konfigurace. Nahraďte IP adresu ze vstupu „Adresa obchodu“ názvem vaší domény, pokud ji máte. Nezapomeňte uvést lomítko (/) za názvem vaší domény, jak jinak, adresa URL adresy správce se stane nepřístupnou.

Poté klikněte na Pokročilé možnosti a zaškrtněte obě možnosti HTTPS, pokud chcete pro svůj web Magento použít zabezpečené připojení. Zbytek nastavení ponechte tak, jak jsou, a stiskněte tlačítko Další.

Poznámka: Pokud zaškrtnete možnosti HTTPS, budete pro to muset získat certifikáty SSL. Na to, jak získat certifikáty SSL, se podíváme v další části tohoto návodu.

V nastavení „Přizpůsobte svůj obchod“ stačí změnit časové pásmo, výchozí měnu používanou v obchodě a výchozí jazyk obchodu podle vašich potřeb. Rozhlédněte se po těchto nastaveních a v případě potřeby je nakonfigurujte, jinak pokračujte kliknutím na Další.

V pátém kroku si budete muset vytvořit administrátorský účet pro svůj Magento Admin dashboard. Zadejte nové uživatelské jméno pro svého správce a zadejte e-mailovou adresu poskytnutou poskytovatelem názvu domény. Vytvořte silné heslo pro účet správce a po dokončení klepněte na tlačítko Další.

Posledním a posledním krokem je pouze kliknout na tlačítko ‚Instalovat‘ pro potvrzení nastavení a zahájení procesu instalace. Po dokončení instalace vám nastavení Magento zobrazí souhrn a některé důležité podrobnosti o vašem webu Magento.

Poznamenejte si tyto podrobnosti někde v bezpečí, jako je offline papírový záznam nebo v zabezpečené databázi. Adresa správce Magento a šifrovací klíč by nikdy neměly být veřejně sdíleny. Šifrovací klíč se používá k zašifrování databáze Magento tak, aby uživatelská data byla v bezpečí, i když dojde k úniku dat.

Vytvořte certifikát SSL pro svůj web Magento

Stránka Magento je nasazena a je přístupná ihned po dokončení instalace. Pokud však chcete provozovat webový provoz přes HTTPS, budete muset pro svou doménu nastavit certifikát SSL.

Letsencrypt je nezisková certifikační autorita, která poskytuje certifikáty TLS zdarma. Použijeme balíček tzv certbot což pomáhá při získávání certifikátu a automatické konfiguraci virtuálního hostitele Apache. Spusťte tento příkaz v terminálu a nainstalujte certbot:

sudo apt install certbot python3-certbot-apache

Chcete-li získat certifikát z Letsencrypt a nakonfigurovat virtuálního hostitele Apache, spusťte následující příkaz:

sudo certbot --apache

Certbot zahájí proces získávání certifikátů od Letsencrypt, na výzvu poskytne svou e-mailovou adresu a poté stiskne klávesu Enter. Dále zadejte A souhlas s podmínkami služby Letsencrypt. Budete dotázáni, zda chcete sdílet svou e-mailovou adresu s EFF, zadejte Y nebo N v závislosti na vaší volbě.

Dále vám bude poskytnut seznam názvů domén, pro které chcete aktivovat HTTPS. Zadejte příslušné číslo odpovídající názvu vaší domény a stiskněte Enter.

Po výběru názvu domény budete dotázáni, zda chcete přesměrovat HTTP provoz na HTTPS, zadejte 2 a stiskněte enter. Certbot nyní automaticky nakonfiguruje virtuálního hostitele Apache pro doménu example.com.

Balíček Certbot je dodáván s cronjob, který automaticky obnovuje vaše serverové certifikáty před vypršením jejich platnosti.Otestujte, zda automatické obnovení funguje spuštěním:

sudo certbot obnovit --dry-run

Výše uvedený výstup znamená, že cronjob automatického obnovení funguje správně. Chcete-li potvrdit, že Certbot fungoval, otevřete prohlížeč a navštivte svou doménu //example.com.

Podobně se můžete dostat na přihlašovací stránku správce pomocí //example.com/admin_SecretString, tato adresa URL byla na konci instalace Magento.

Nyní jste úspěšně nainstalovali Magento na server Ubuntu 20.04 LTS a nyní můžete začít přizpůsobovat svůj obchod podle svých potřeb. Chcete-li se dozvědět více o Magento a dozvědět se o vývoji obchodu, přejděte na stránku Magento Docs.