Ako nainštalovať Magento 2 na Ubuntu 20.04 LTS

Komplexný sprievodca, ako nastaviť a nasadiť obchod Magento2 na serveri Ubuntu 20.04.

Magento je populárna platforma elektronického obchodu vytvorená a napísaná v PHP, používa ju mnoho malých podnikov na predaj produktov a vytváranie online prítomnosti. Umožňuje vám vytvoriť plnohodnotný internetový obchod s funkciami, ako je správa zásob, katalógy produktov, doprava, fakturácia a mnoho ďalších.

Ak chcete pre svoje podnikanie vybudovať elegantnú nákupnú platformu na podnikovej úrovni, Magento by malo byť skvelým východiskovým bodom. V tejto príručke sa teda pozrieme na to, ako nastaviť vydanie komunity Magento verzie 2.3 so zásobníkom LAMP na serveri Ubuntu 20.04.

Predpoklady

Budete potrebovať server Ubuntu 20.04 LTS a prihlásení ako a sudo povolený používateľ. Budete tiež potrebovať názov domény smerujúci na IP servera Ubuntu 20.04. Budeme používať example.com kdekoľvek sa vyžaduje názov domény, nahraďte ho svojou doménou. Skôr než začneme, aktualizujte zoznam balíkov a potom inovujte balíky na serveri Ubuntu 20.04.

sudo apt aktualizácia && sudo apt upgrade

Nainštalujte webový server Apache

Magento vyžaduje na fungovanie webový server, v tejto príručke sme sa rozhodli spustiť aplikáciu Magento cez zásobník LAMP (Linux, Apache, MySQL, PHP). Takže nainštalujeme všetky balíčky pozostávajúce zo zásobníka LAMP.

Webový server Apache je jedným z najpopulárnejších webových serverov na internete s takmer 37,2% podielom na celkovom trhu webových serverov. Môžete sa tiež rozhodnúť nainštalovať Magento cez zásobník LEMP, ktorý používa webový server Nginx namiesto apache. Ale v tejto príručke sa chystáme nasadiť náš server Megento pomocou Apache.

Ak chcete nainštalovať webový server Apache, spustite príkaz nižšie:

sudo apt nainštalovať apache2

Zadajte svoje používateľské heslo a stlačte Y ak sa zobrazí výzva. Po dokončení inštalácie musíme nakonfigurovať nekomplikovaný firewall (UFW) Ubuntu, aby umožnil prenos na porte 80 & 443.

UFW sa dodáva s predkonfigurovanými profilmi, ktoré je možné prepínať, aby umožnili aplikácii prístup k portom na vašom serveri Ubuntu 20.04. Takže keď ste nainštalovali webový server Apache, do zoznamu aplikácií UFW boli pridané profily UFW s názvom „Apache“, „Apache Full“ a „Apache Secure“. Umožnite webovému serveru Apache slúžiť na porte 80 & 443 behom:

sudo ufw povoliť „Apache Full“

Teraz všetko, čo musíme urobiť, je povoliť UFW, ale predtým, ako tak urobíme, sa uistite, že ste povolili port 22 (SSH). Ak nezmeníte pravidlá SSH UFW, môžete sa zablokovať zo svojho servera Ubuntu 20.04.

sudo ufw povoliť 'OpenSSH'

Nakoniec povoľte bránu firewall UFW spustením:

povoliť sudo ufw

Stlačte tlačidlo Y ak sa zobrazí výzva, ktorá hovorí, že príkaz môže narušiť pripojenia SSH, pretože sme už pridali pravidlo na povolenie SSH cez neho. Teraz môžete pristupovať k webovému serveru Apache prostredníctvom svojho prehliadača, zadajte adresu IP vášho servera Ubuntu 20.04 do panela s adresou URL a stlačte kláves Enter.

Predvolená stránka apache2 ubuntu

Nainštalujte MySQL Server

Na spustenie Magento budete potrebovať aj databázový server, pretože tam sa ukladá všetok obsah obchodu Magento. Nainštalujeme server MySQL a vytvoríme používateľa s názvom magentouser a databáza tzv magento pre Magento.

Balík MySQL sa nazýva ako mysql-server v úložiskách Ubuntu ho nainštalujte spustením:

sudo apt nainštalovať mysql-server

Ďalej musíme správne nakonfigurovať nastavenia zabezpečenia MySQL. Našťastie sa balík MySQL dodáva s bezpečnostným skriptom, ktorý uľahčuje konfiguráciu servera MySQL. Spustite teda tento skript spustením nasledujúceho príkazu:

sudo mysql_secure_installation

Budete vyzvaní viacerými otázkami, toto sú optimálne nastavenia pre server MySQL:

  • Chcete nastaviť komponent VALIDATE PASSWORD?[y/n]: Enter Y
  • Existujú tri úrovne politiky overovania hesla.
    • Zadajte 0 = NÍZKA, 1 = STREDNÁ a 2 = SILNÁ: Zadajte 2
  • Tu nastavte heslo pre root.
    • Nové heslo: Zadajte heslo pre používateľa root MySQL.
    • Znovu zadajte nové heslo: Zopakujte zvolené heslo.
  • Chcete odstrániť anonymných používateľov? [y/n]: Zadajte Y
  • Zakázať prihlásenie root na diaľku? [y/n] : Zadajte Y
  • Odstrániť testovaciu databázu a získať k nej prístup? [y/n] : Zadajte Y
  • Chcete teraz znova načítať tabuľky práv? [y/n] : Zadajte Y

Potom, aby ste si overili a overili, či je server MySQL nainštalovaný a funguje správne, prihláste sa na server MySQL ako používateľ root pomocou:

sudo mysql

Zadajte svoje sudo používateľské heslo, keď sa zobrazí výzva, a stlačte kláves Enter. Užívateľ root MySQL používa unix_socket na overenie prihlásenia. To v podstate znamená, že musíte byť a sudo aby sa prihlásil na server MySQL ako jeho root.

Vytvorte novú databázu a používateľa pre Magento

Teraz môžeme vytvoriť používateľa MySQL pre Magento a ak ste postupovali podľa každého kroku tejto príručky, musíte mať otvorenú konzolu MySQL. Vytvorte databázu tzv magento zadaním nasledujúceho dotazu v konzole MySQL:

VYTVORIŤ DATABÁZU magento;

Ak chcete vytvoriť nového používateľa MySQL, tzv magentouser, spustite tento dotaz v konzole:

VYTVORIŤ POUŽÍVATEĽA 'magentouser'@'%' IDENTIFIKOVANÉHO S mysql_native_password BY 'heslo';

Poznámka: Vymeňte heslo v dopyte so silným heslom podľa vášho výberu.

Potom udeľte nové magentouser úplný prístup k magento databáza:

GRANT ALL ON magento.* TO 'magentouser'@'%' S MOŽNOSŤOU GRANT;

Musíme nastaviť log_bin_trust_function_creators parameter ako 1, pretože je v najnovšej verzii MySQL zakázaný a bez jeho povolenia Magento vyhodí niekoľko chýb počas inštalácie. Ak to chcete urobiť, spustite nasledujúci dotaz:

SET GLOBAL log_bin_trust_function_creators=1;

Nakoniec znova načítajte privilégiá a nastavenia databázy, ktoré sme zmenili, a ukončite konzolu pomocou týchto dotazov:

SPLACHOVAŤ PRIVILEGIÁ; VÝCHOD;

Nainštalujte PHP a požadované rozšírenia

Magento vyžaduje na fungovanie PHP a niekoľko rozšírení PHP. V čase písania tohto článku bola verzia komunitného vydania Magento 2.3 nefunguje s najnovšou verziou PHP 7.4 a preto musíme nainštalovať verziu PHP 7.3.

Potrebujeme pridať PHP PPA tretej strany, aby sme mohli nainštalovať verziu PHP 7.3 keďže úložiská Ubuntu majú len najnovšie 7.4 balíkov. Pridajte PPA a aktualizujte zoznam balíkov spustením týchto príkazov:

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

Potom nainštalujte PHP 7.3 a všetky PHP moduly, ktoré Magento vyžaduje spustením nasledujúceho prí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 nainštalovaní PHP 7.3 musíme nakonfigurovať niektoré základné nastavenia, ktoré odporúča Magento, aby správne fungovali. Spustite tento príkaz na otvorenie konfiguračného súboru rozšírenia FPM pomocou nano

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

Tu je niekoľko odporúčaných nastavení pre väčšinu webových stránok Magento.

file_uploads = Zapnuté allow_url_fopen = Zapnuté short_open_tag = Zapnuté memory_limit = 256 miliónov cgi.fix_pathinfo = 0 upload_max_filesize = 100 miliónov max_execution_time = 360

Uložte zmeny stlačením Ctrl+O potom ukončite nano editor stlačením Ctrl+X. Teraz máme PHP a všetky potrebné rozšírenia a tak môžeme prejsť k získaniu Magenta.

Nainštalujte Composer

Composer je správca závislostí PHP, ktorý uľahčuje inštaláciu rámcov a knižníc PHP. Potrebujeme Composer na stiahnutie a inštaláciu Magento na náš server Ubuntu 20.04.

Skladateľ vyžaduje balík s názvom rozopnúť zips ak chcete extrahovať stiahnuté knižnice a rámce, nainštalujte ich spustením:

sudo apt install rozbaliť

Potom nainštalujte skladateľ na úrovni celého systému spustením tohto príkazu:

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

Vyššie uvedený príkaz by mal nainštalovať správcu závislostí Composer na serveri Ubuntu 20.04. Skontrolujte, či je Composer správne nainštalovaný spustením:

skladateľ
 VÝKON:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / / /__ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Verzia skladateľa 1.10.8 2020-06- 24 21:23:30 Použitie: príkaz [možnosti] [argumenty] 

Stiahnite si a nainštalujte Magento

Teraz môžeme prejsť na sťahovanie a inštaláciu Magenta, pretože sme nainštalovali a nakonfigurovali všetky potrebné balíky požadované Magentom.

Vytvorenie účtu Magento

Na stiahnutie Magento na server Ubuntu 20.04 budete potrebovať prístupový kľúč Magento 2. Na získanie tohto prístupového kľúča budete potrebovať účet Magento. Ak nie ste zaregistrovaný a nemáte účet Magento, prejdite na túto stránku a kliknite na „Registrovať sa“.

Po vytvorení účtu Magento si budete môcť vytvoriť nový prístupový kľúč, aby ste si mohli stiahnuť Magento 2 do svojho počítača pomocou skladateľa. Na tejto stránke si môžete pozrieť všetky svoje prístupové kľúče Magento. Ak na karte Magento 2 nie je žiadny prístupový kľúč, kliknite na tlačidlo „Vytvoriť nový prístupový kľúč“ a pomenujte ho a stlačte „OK“.

Tieto kľúče sú vaše poverenia používané na stiahnutie Magento 2 z úložiska Magento cez Composer. Tieto kľúče použijeme pri sťahovaní Magento, ale predtým, ako to urobíme, nastavíme vlastníctvo adresára a povolenia.

Konfigurácia vlastníctva a povolení pred inštaláciou

Povolenia súborov môžu spôsobiť alebo narušiť bezpečnosť akejkoľvek webovej stránky, preto je potrebné správne nastaviť vlastníctvo a oprávnenie koreňového adresára dokumentov servera Apache.

Predvolený vlastník /var/www/ adresár je užívateľ root, ale musíme pristupovať a upravovať súbory v tomto adresári. Okrem toho webový server tiež potrebuje prístup ku koreňu dokumentu, aby mohol odpísať a upraviť obsah stránky Magento.

Aby sme tento problém vyriešili, pridáme aktuálneho používateľa do www-údaje skupina, aby ste tak urobili, spustite:

sudo usermod -a -G www-data $USER

The -a-G možnosti sú dôležité, pretože sa pridávajú www-údaje ako sekundárna skupina k používateľskému účtu, ktorá zachováva primárnu skupinu používateľa. Po pridaní používateľa do skupiny webových serverov zmeňte vlastníka /var/www/ a jeho podadresáre pomocou tohto príkazu:

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

Teraz, keď sme nastavili predinštalačné povolenia pre Magento, môžeme prejsť k jeho stiahnutiu v koreňovom adresári dokumentu webového servera.

Sťahovanie Magento

Teraz by ste mali mať správne nastavený účet Magento s prístupovými kľúčmi a predinštalačnými povoleniami. Takže použijeme Composer na stiahnutie Magenta do koreňového adresára dokumentu Apache a potom ho nainštalujeme.

Zmeňte aktuálny adresár na /var/www/ takže terminál naň ukazuje spustením:

cd /var/www/

Spustite príkaz uvedený nižšie a vytvorte nový projekt pomocou programu Composer známeho ako magento.

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

Po použití vyššie uvedeného príkazu budete vyzvaní na zadanie používateľského mena a hesla. Tu sa majú použiť prístupové kľúče, ktoré sme vytvorili. Skopírujte verejný kľúč a vložte ho ako používateľské meno, potom skopírujte svoj súkromný kľúč a vložte ho do terminálu ako heslo. Potom stlačte Y na uloženie poverení pre budúce použitie.

 Výkon:  Vytvorenie projektu „magento/project-community-edition“ na adrese „./magento“ Upozornenie z repo.magento.com: Neposkytli ste svoje autentifikačné kľúče Magento. Pokyny nájdete na stránke //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Vyžaduje sa overenie (repo.magento.com): Používateľské meno: e8b6120dce14c3d982a85525264897c4 Heslo: Chcete c4 uložiť pre repo.magento.com v /home/ath/.config/composer/auth.json ? [Yn] Y

Po stiahnutí Magenta a všetkých jeho závislostí cez Composer musíme nastaviť vlastníctvo a povolenia pre nový adresár projektu Magento a jeho súbory. Zmeňte adresár na koreňový adresár projektu Magento takto:

cd /var/www/magento/

Potom zmeňte vlastníka skupiny adresára projektu Magento a jeho podadresárov spustením:

nájsť var vygenerovaného dodávateľa pub/static pub/media app/etc -type f -exec chmod g+w {} + && nájsť var generovaného dodávateľa pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Tento príkaz poskytne skupine webových serverov (www-údaje) povolenia na zápis do adresárov a súborov dodávateľa, pub/static, pub/media & app/atd. Okrem toho to urobí bin/magento spustiteľný súbor, aby sme ho mohli spustiť a nainštalovať Magento do nášho systému.

Konfigurácia Apache pre Magento

Nainštalujeme Magento cez GUI, pretože je v tomto prípade intuitívnejšie ako inštalácia CLI. Preto musíme vytvoriť virtuálneho hostiteľa pre webový server Apache, než budeme môcť pokračovať v inštalácii Magento.

Otvorte predvolený súbor virtuálneho hostiteľa Apache pomocou nano pomocou nasledujúceho príkazu:

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

Zmeňte koreň dokumentu na /var/www/magento a pridajte pod ňu nasledujúci útržok kódu.

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

Vymeňte example.com v ServerName a ServerAlias ​​s názvom vašej domény. Zmeny vo vašom 000-default.conf súbor by mal vyzerať podobne ako zvýraznený text zobrazený nižšie. Uložte zmeny stlačením Ctrl+O a ukončite editor pomocou Ctrl+X kľúč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é 

Ďalej musíme povoliť mod Apache s názvom as mod_rewrite vyžaduje Magento. Poskytuje flexibilný a výkonný spôsob manipulácie s adresami URL, takže povoľte mod spustením:

prepíšte sudo a2enmod

Reštartujte server Apache, aby sa všetky zmeny, ktoré sme vykonali, aplikovali na server:

sudo systemctl reštartujte apache2

Inštalácia Magento

Konečne môžeme pristúpiť k inštalácii Magenta, keďže máme všetko, čo Magento na fungovanie vyžaduje. Zadajte IP adresu vášho servera Ubuntu 20.04 do panela s adresou URL vášho preferovaného prehliadača.

Kliknite na „Agree and Setup Magento“ a pokračujte v inštalácii Magento. Prvým krokom inštalátora Magento Web je kontrola pripravenosti, ktorá overí, či sú splnené všetky požiadavky Magento. Kliknite na „Spustiť kontrolu pripravenosti“ a po dokončení procesu stlačte „Ďalej“.

Ďalším krokom je nastavenie podrobností a pridanie databázy pre Magento. Už sme vytvorili MySQL užívateľa pre Magento tzv magentouser a databáza tzv magento vo vyššie uvedenej časti. V tejto časti vyplňte príslušné údaje, konkrétne používateľské meno databázového servera, jeho heslo a názov databázy a potom pokračujte stlačením tlačidla „Ďalej“.

Tretím krokom v nastavení Magento je webová konfigurácia. Nahraďte IP adresu zo vstupu „Adresa obchodu“ názvom svojej domény, ak ju máte. Nezabudnite uviesť lomku (/) za názvom vašej domény, ako inak, adresa URL adresy správcu sa stane nedostupnou.

Potom kliknite na Rozšírené možnosti a začiarknite obe možnosti HTTPS, ak chcete pre svoju stránku Magento použiť zabezpečené pripojenie. Ponechajte ostatné nastavenia tak, ako sú, a stlačte ďalej.

Poznámka: Ak zaškrtnete možnosti HTTPS, budete musieť získať certifikáty SSL. V ďalšej časti tohto návodu sa pozrieme na to, ako získať certifikáty SSL.

V nastaveniach „Prispôsobiť svoj obchod“ stačí zmeniť časové pásmo, predvolenú menu používanú v obchode a predvolený jazyk obchodu podľa vašich potrieb. Pozrite sa okolo týchto nastavení a v prípade potreby ich nakonfigurujte, inak pokračujte kliknutím na Ďalej.

V piatom kroku si budete musieť vytvoriť správcovský účet pre svoj ovládací panel Magento Admin. Zadajte nové používateľské meno pre svojho správcu a zadajte e-mailovú adresu poskytnutú poskytovateľom názvu domény. Vytvorte silné heslo pre účet správcu a po dokončení stlačte tlačidlo Ďalej.

Posledným a posledným krokom je jednoducho kliknúť na tlačidlo „Inštalovať“, čím potvrdíte nastavenia a spustíte proces inštalácie. Po dokončení inštalácie vám nastavenie Magento zobrazí súhrn a niektoré dôležité podrobnosti o vašej lokalite Magento.

Poznamenajte si tieto podrobnosti niekde v bezpečí, ako je offline papierový záznam alebo v zabezpečenej databáze. Adresa správcu Magento a šifrovací kľúč by sa nikdy nemali verejne zdieľať. Šifrovací kľúč sa používa na zašifrovanie databázy Magento, aby boli používateľské údaje v bezpečí, aj keď dôjde k úniku údajov.

Vytvorte si certifikát SSL pre svoju stránku Magento

Stránka Magento je nasadená a je k nej prístup hneď po dokončení inštalácie. Ak však chcete prevádzkovať webovú prevádzku cez HTTPS, budete musieť pre svoju doménu nastaviť certifikát SSL.

Letsencrypt je nezisková certifikačná autorita, ktorá bezplatne poskytuje certifikáty TLS. Použijeme balík tzv certbot čo pomáha pri získaní certifikátu a automatickej konfigurácii virtuálneho hostiteľa Apache. Ak chcete nainštalovať certbot, spustite tento príkaz v termináli:

sudo apt nainštalovať certbot python3-certbot-apache

Ak chcete získať certifikát z Letsencrypt a nakonfigurovať virtuálneho hostiteľa Apache, spustite nasledujúci príkaz:

sudo certbot --apache

Certbot začne proces získavania certifikátov od Letsencrypt, po zobrazení výzvy poskytne svoju e-mailovú adresu a potom stlačí kláves Enter. Ďalej zadajte A vyjadriť súhlas so zmluvnými podmienkami Letsencrypt. Zobrazí sa otázka, či chcete zdieľať svoju e-mailovú adresu s EFF, zadajte Y alebo N v závislosti od vášho výberu.

Ďalej dostanete zoznam názvov domén, pre ktoré chcete aktivovať HTTPS. Zadajte príslušné číslo zodpovedajúce názvu vašej domény a stlačte Enter.

Po výbere názvu domény sa vás spýta, či chcete presmerovať prenos HTTP na HTTPS, zadajte 2 a stlačte enter. Certbot teraz automaticky nakonfiguruje virtuálneho hostiteľa Apache pre doménu example.com.

Balík Certbot je dodávaný s cronjob, ktorý automaticky obnovuje vaše serverové certifikáty pred uplynutím ich platnosti.Otestujte, či automatické obnovenie funguje spustením:

sudo certbot obnoviť --dry-run

Vyššie uvedený výstup znamená, že cronjob s automatickou obnovou funguje správne. Ak chcete potvrdiť, že Certbot funguje, otvorte prehliadač a navštívte svoju doménu //example.com.

Podobne sa môžete dostať na prihlasovaciu stránku správcu pomocou //example.com/admin_SecretString, táto adresa URL bola na konci inštalácie Magento.

Teraz ste úspešne nainštalovali Magento na server Ubuntu 20.04 LTS a teraz môžete začať prispôsobovať svoj obchod podľa svojich potrieb. Ak chcete vedieť viac o Magento a dozvedieť sa o vývoji obchodu, prejdite na stránku Magento Docs.