Kako instalirati Magento 2 na Ubuntu 20.04 LTS

Opsežan vodič o tome kako postaviti i implementirati Magento2 trgovinu na Ubuntu 20.04 poslužitelj.

Magento je popularna platforma za e-trgovinu izgrađena i napisana na PHP-u, a koriste je mnoge male tvrtke za prodaju proizvoda i stvaranje online prisutnosti. Omogućuje vam stvaranje cjelovite internetske trgovine sa značajkama kao što su upravljanje zalihama, katalozi proizvoda, dostava, fakturiranje i još mnogo toga.

Ako želite izgraditi elegantnu platformu za kupnju na razini poduzeća za svoje poslovanje, Magento bi trebao biti izvrsna početna točka. Stoga ćemo u ovom vodiču pogledati kako postaviti Magento community izdanje verzije 2.3 sa LAMP stogom na Ubuntu 20.04 poslužitelju.

Preduvjeti

Trebat će vam Ubuntu 20.04 LTS poslužitelj i prijavljen kao a sudo omogućen korisnik. Trebat će vam i naziv domene koji upućuje na IP vašeg Ubuntu 20.04 poslužitelja. Koristit ćemo se primjer.com gdje god je potreban naziv domene, zamijenite ga svojom domenom. Prije nego što počnemo, ažurirajte popis paketa, a zatim nadogradite pakete na svom Ubuntu 20.04 poslužitelju.

sudo apt ažuriranje && sudo apt nadogradnja

Instalirajte Apache web poslužitelj

Magento zahtijeva web-poslužitelj za funkcioniranje, u ovom smo vodiču odlučili koristiti pokretanje aplikacije Magento preko LAMP (Linux, Apache, MySQL, PHP) stog. Dakle, mi ćemo instalirati sve pakete koji se sastoje od LAMP steka.

Apache web poslužitelj je jedan od najpopularnijih web poslužitelja na internetu s gotovo 37,2% ukupnog tržišnog udjela web poslužitelja. Također možete odabrati instalirati Magento preko LEMP stog koji koristi Nginx web poslužitelj umjesto apachea. Ali u ovom vodiču ćemo postaviti naš Megento poslužitelj uz pomoć Apachea.

Da biste instalirali Apache web poslužitelj, pokrenite naredbu u nastavku:

sudo apt instaliraj apache2

Unesite svoju korisničku lozinku i pritisnite Y ako se to zatraži. Kada je instalacija dovršena, moramo konfigurirati Ubuntuov nekomplicirani vatrozid (UFW) da omogući promet na portu 80 & 443.

UFW dolazi s unaprijed konfiguriranim profilima koji se mogu prebaciti kako bi se aplikaciji omogućilo pristup portovima na vašem Ubuntu 20.04 poslužitelju. Dakle, kada ste instalirali Apache web poslužitelj, UFW profili pod nazivom "Apache", "Apache Full" i "Apache Secure" dodani su na popis UFW aplikacija. Dopustite Apache web poslužitelju da poslužuje na portu 80 & 443 trčanjem:

sudo ufw dopusti 'Apache Full'

Sada, sve što trebamo učiniti je omogućiti UFW, ali prije nego što to učinimo provjerite jeste li dopustili port 22 (SSH). Ako ne promijenite SSH UFW pravila, možda ćete izgubiti pristup Ubuntu 20.04 poslužitelju.

sudo ufw dopusti 'OpenSSH'

Konačno, omogućite UFW vatrozid tako što ćete pokrenuti:

sudo ufw omogućiti

Pritisnite Y ako dobijete prompt koji kaže da bi naredba mogla poremetiti SSH veze, jer smo već dodali pravilo za dopuštanje SSH-a kroz nju. Sada možete pristupiti web poslužitelju apache putem svog preglednika, upišite IP adresu vašeg Ubuntu 20.04 poslužitelja u URL traku i pritisnite enter.

apache2 ubuntu zadana stranica

Instalirajte MySQL poslužitelj

Također će vam trebati poslužitelj baze podataka za pokretanje Magenta jer se na njemu pohranjuje sav sadržaj Magento shopa. Instalirat ćemo MySQL poslužitelj i kreirati korisnika pod nazivom magentouser a baza podataka tzv magento za Magento.

MySQL paket se zove kao mysql-poslužitelj u Ubuntu repozitoriji, instalirajte ga tako što ćete pokrenuti:

sudo apt instalirajte mysql-server

Zatim moramo ispravno konfigurirati MySQL sigurnosne postavke. Srećom, MySQL paket dolazi sa sigurnosnom skriptom koja olakšava konfiguriranje MySQL poslužitelja. Dakle, izvršite ovu skriptu pokretanjem sljedeće naredbe:

sudo mysql_secure_installation

Bit ćete upitani s više pitanja, ovo su optimalne postavke za MySQL poslužitelj:

  • Želite li postaviti komponentu POTVRDI LOZINKU?[y/n]: Enter Y
  • Postoje tri razine politike provjere valjanosti lozinke.
    • Unesite 0 = NISKO, 1 = SREDNJE i 2 = SNAŽNO: Unesite 2
  • Ovdje postavite lozinku za root.
    • Nova lozinka: Unesite lozinku za MySQL root korisnika.
    • Ponovno unesite novu lozinku: Ponovite odabranu lozinku.
  • Ukloniti anonimne korisnike? [y/n]: Unesite Y
  • Zabraniti root prijavu na daljinu? [y/n] : Unesite Y
  • Ukloniti testnu bazu podataka i pristupiti njoj? [y/n] : Unesite Y
  • Ponovno učitati tablice privilegija sada? [y/n] : Unesite Y

Zatim da biste provjerili i potvrdili da je MySQL poslužitelj instaliran i da radi ispravno, prijavite se na MySQL poslužitelj kao root korisnik pomoću:

sudo mysql

Unesite svoje sudo korisničku lozinku kada se od vas to zatraži i pritisnite enter. MySQL root korisnik koristi unix_socket za provjeru autentičnosti prijave. Ono što to u biti znači je da morate biti a sudo korisnik da se prijavi na MySQL poslužitelj kao njegov root korisnik.

Napravite novu bazu podataka i korisnika za Magento

Sada možemo stvoriti MySQL korisnika za Magento i ako ste slijedili svaki korak ovog vodiča, morate imati otvorenu MySQL konzolu. Napravite bazu podataka tzv magento unosom sljedećeg upita u MySQL konzolu:

STVORI BAZU PODATAKA magento;

Za stvaranje novog MySQL korisnika pod nazivom magentouser, pokrenite ovaj upit u konzoli:

STVORI KORISNIKA 'magentouser'@'%' IDENTIFICIRANOG mysql_native_password 'password';

Bilješka: Zamijenite zaporka u upitu s jakom lozinkom po vašem izboru.

Zatim odobrite novo magentouser potpuni pristup magento baza podataka:

ODOBRITE SVE NA magento.* NA 'magentouser'@'%' S OPCIJOM DODOBIVANJA;

Moramo postaviti log_bin_trust_function_creators parametar kao 1 jer je onemogućen u najnovijoj verziji MySQL-a i bez omogućavanja Magento ispušta nekoliko pogrešaka tijekom instalacije. Da biste to učinili, pokrenite sljedeći upit:

POSTAVI GLOBALNO log_bin_trust_function_creators=1;

Konačno, ponovno učitajte privilegije i postavke baze podataka koje smo promijenili i izađite iz konzole pomoću ovih upita:

PRIVILEGIJE FLUSH; IZLAZ;

Instalirajte PHP i potrebna proširenja

Magento zahtijeva PHP i nekoliko PHP ekstenzija da bi funkcionirao. U vrijeme pisanja ovog članka, verzija izdanja zajednice Magento 2.3 ne radi s najnovijom verzijom PHP-a 7.4 i stoga moramo instalirati PHP verziju 7.3.

Moramo dodati PHP PPA treće strane kako bismo mogli instalirati PHP verziju 7.3 budući da Ubuntu spremišta imaju samo najnovije 7.4 paketi. Dodajte PPA i ažurirajte popis paketa pokretanjem ovih naredbi:

sudo add-apt-repository ppa:ondrej/php && sudo apt ažuriranje

Zatim instalirajte PHP 7.3 i sve PHP module koje Magento zahtijeva pokretanjem sljedeće naredbe:

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

Nakon što se instalira PHP 7.3, moramo konfigurirati neke osnovne postavke koje Magento preporučuje da bi ispravno funkcionirale. Pokrenite ovu naredbu da otvorite konfiguracijsku datoteku proširenja FPM pomoću nano

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

Evo nekoliko postavki preporučenih za većinu Magento web-mjesta.

file_uploads = Na allow_url_fopen = Na short_open_tag = Na memory_limit = 256M cgi.fix_pathinfo = 0 upload_max_filesize = 100M max_execution_time = 360

Spremite promjene pritiskom na Ctrl+O zatim izađite iz nano uređivača pritiskom na Ctrl+X. Sada imamo PHP i sva potrebna proširenja i tako možemo prijeći na dobivanje Magenta.

Instalirajte Composer

Composer je upravitelj ovisnosti o PHP-u koji olakšava instalaciju PHP okvira i knjižnica. Potreban nam je Composer da preuzmemo i instaliramo Magento na naš Ubuntu 20.04 poslužitelj.

Composer zahtijeva paket tzv otvoriti rajsfešlus da biste izdvojili preuzete biblioteke i okvire, instalirajte ih tako što ćete pokrenuti:

sudo apt install raspakirajte

Zatim instalirajte composer na razini cijelog sustava pokretanjem ove naredbe:

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

Gornja naredba trebala bi instalirati upravitelja ovisnosti Composer na Ubuntu 20.04 poslužitelj. Provjerite je li Composer ispravno instaliran tako što ćete pokrenuti:

kompozitor
 IZLAZ:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Verzija skladatelja 1.10.8 2020-06- 24 21:23:30 Upotreba: naredba [opcije] [argumenti] 

Preuzmite i instalirajte Magento

Sada možemo prijeći na preuzimanje i instalaciju Magenta jer smo instalirali i konfigurirali sve potrebne pakete potrebne za Magento.

Stvaranje Magento računa

Da biste preuzeli Magento na svoj Ubuntu 20.04 poslužitelj, trebat će vam pristupni ključ za Magento 2. Da biste dobili ovaj pristupni ključ, trebat će vam Magento račun. Ako niste registrirani i nemate Magento račun, idite na ovu stranicu i kliknite na "Registriraj se".

Nakon što ste gotovi s kreiranjem Magento računa, moći ćete stvoriti novi pristupni ključ kako biste mogli preuzeti Magento 2 na svoj stroj koristeći composer. Na ovoj stranici možete vidjeti sve svoje Magento pristupne ključeve. Ako nema pristupnog ključa ispod kartice Magento 2, kliknite na gumb 'Stvori novi pristupni ključ' i dajte mu ime, a zatim pritisnite 'U redu'.

Ovi ključevi su vaše vjerodajnice koje se koriste za preuzimanje Magenta 2 iz Magento repozitorija putem Composer-a. Koristit ćemo ove ključeve kada preuzimamo Magento, ali prije toga ćemo postaviti vlasništvo direktorija i dopuštenja.

Vlasništvo i konfiguracija dopuštenja prije instalacije

Dozvole datoteke mogu učiniti ili narušiti sigurnost bilo koje web stranice, stoga je potrebno pravilno postaviti vlasništvo i dopuštenje korijena dokumenta Apache poslužitelja.

Zadani vlasnik /var/www/ direktorij je root korisnik, ali moramo pristupiti i modificirati datoteke u ovom direktoriju. Osim toga, web-poslužitelj također treba pristup korijenskom dokumentu kako bi pisao i mijenjao sadržaj stranice Magento.

Da bismo riješili ovaj problem, dodat ćemo trenutnog korisnika u www-podaci grupa, da biste to učinili pokrenite:

sudo usermod -a -G www-podaci $USER

The -a-G opcije su važne dok dodaju www-podaci kao sekundarna grupa korisničkom računu, koja čuva primarnu grupu korisnika. Nakon što dodate korisnika u grupu web poslužitelja, promijenite vlasnika /var/www/ i njegove poddirektorije pomoću ove naredbe:

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

Sada kada smo postavili dopuštenja za predinstalaciju za Magento, možemo prijeći na njegovo preuzimanje u korijenu dokumenta web poslužitelja.

Preuzimanje Magenta

Sada u ovom trenutku trebali biste imati Magento račun s ispravno postavljenim pristupnim ključevima i dopuštenjima za predinstalaciju. Stoga ćemo koristiti Composer za preuzimanje Magenta u korijen dokumenta Apachea i zatim ga instalirati.

Promijenite trenutni imenik u /var/www/ tako da terminal pokazuje prema njemu pokretanjem:

cd /var/www/

Pokrenite naredbu u nastavku da biste stvorili novi projekt koristeći Composer poznat kao magento.

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

Od vas će se tražiti korisničko ime i lozinka nakon što upotrijebite gornju naredbu. Ovdje će se koristiti pristupni ključevi koje smo kreirali. Kopirajte javni ključ i zalijepite ga kao korisničko ime, a zatim na sličan način kopirajte svoj privatni ključ i zalijepite ga u terminal kao lozinku. Zatim pritisnite Y da spremite vjerodajnice za buduću upotrebu.

 Izlaz:  Izrada projekta "magento/project-community-edition" na "./magento" Upozorenje s repo.magento.com: Niste dali svoje Magento ključeve za autentifikaciju. Za upute posjetite //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Potrebna je autentifikacija (repo.magento.com): Korisničko ime: e8b6120dce14c3d982a85525264897c4 Zaporka: Želite li pohraniti cr Passwordentials za repo.magento.com u /home/ath/.config/composer/auth.json ? [Yn] Y

Nakon što se Magento i sve njegove ovisnosti preuzmu putem Composer-a, moramo postaviti vlasništvo i dopuštenje za novi direktorij projekta magento i njegove datoteke. Promijenite direktorij u korijen projekta Magento na sljedeći način:

cd /var/www/magento/

Zatim promijenite vlasnika grupe direktorija projekta Magento i njegovih poddirektorija tako što ćete pokrenuti:

pronađi var generiran vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && pronađi var generiran vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Ova naredba će dati grupi web poslužitelja (www-podaci) dopuštenja za pisanje u direktorije dobavljača, pub/static, pub/media & app/etc i datoteke unutar njih. Osim toga, to će učiniti bin/magento izvršnu datoteku, tako da je možemo pokrenuti i instalirati Magento na naš sustav.

Konfiguriranje Apachea za Magento

Magento ćemo instalirati putem GUI-ja, jer je u ovom slučaju intuitivniji od CLI instalacije. Stoga moramo stvoriti virtualni host za Apache web poslužitelj prije nego što nastavimo s instalacijom Magenta.

Otvorite zadanu datoteku virtualnog hosta Apache s nano pomoću sljedeće naredbe:

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

Promijenite korijen dokumenta u /var/www/magento i ispod njega dodajte sljedeći isječak koda.

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

Zamijenite primjer.com u ServerName i ServerAlias ​​s imenom vaše domene. Promjene u vašem 000-default.conf datoteka bi trebala izgledati otprilike kao istaknuti tekst prikazan u nastavku. Spremite promjene pritiskom na Ctrl+O i izađite iz uređivača pomoću Ctrl+X tipke.

 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 u kombinaciji 

Zatim moramo omogućiti Apache mod pod nazivom kao mod_rewrite zahtijeva Magento. Pruža fleksibilan i moćan način manipuliranja URL-ovima, stoga omogućite mod tako da pokrenete:

sudo a2enmod prepisati

Ponovno pokrenite Apache poslužitelj kako bi se sve promjene koje smo napravili primijenile na poslužitelj:

sudo systemctl ponovno pokrenite apache2

Instalacija Magenta

Konačno možemo nastaviti s instalacijom Magenta, jer imamo sve što je Magentu potrebno za funkcioniranje. Upišite IP adresu vašeg Ubuntu 20.04 poslužitelja u URL traku željenog preglednika.

Kliknite na 'Slažem se i postavi Magento' da nastavite s instalacijom Magenta. Prvi korak Magento Web instalatera je provjera spremnosti, koja će potvrditi da su svi Magento zahtjevi ispunjeni. Kliknite na ‘Pokreni provjeru spremnosti’ i nakon što je proces dovršen, pritisnite ‘Dalje’.

Sljedeći korak je postavljanje detalja i dodavanje baze podataka za Magento. Već smo kreirali MySQL korisnika za Magento pod nazivom magentouser a baza podataka tzv magento u gornjem odjeljku. Ispunite odgovarajuće pojedinosti u ovom odjeljku, odnosno korisničko ime poslužitelja baze podataka, njegovu lozinku i naziv baze podataka, a zatim pritisnite 'Dalje' za nastavak.

Treći korak u postavljanju Magenta je web konfiguracija. Zamijenite IP adresu iz unosa "Adresa trgovine" imenom svoje domene ako je imate. Ne zaboravite staviti kosu crtu (/) nakon naziva vaše domene, jer inače, URL adrese administratora postaje nedostupan.

Zatim kliknite Napredne opcije i označite obje opcije HTTPS ako želite koristiti sigurnu vezu za svoju Magento stranicu. Ostale postavke zadržite onakvima kakve jesu i pritisnite dalje.

Bilješka: Ako označite opcije HTTPS-a, morat ćete dobiti SSL certifikate za to. Pogledat ćemo kako dobiti SSL certifikate u sljedećem odjeljku ovog vodiča.

Pod postavkama "Prilagodi svoju trgovinu", samo ćete morati promijeniti vremensku zonu, zadanu valutu koja se koristi u trgovini i zadani jezik trgovine prema vašim potrebama. Pregledajte ove postavke i konfigurirajte ih ako je potrebno, inače kliknite na Next za nastavak.

U petom koraku morat ćete stvoriti Admin račun za svoju Magento Admin nadzornu ploču. Unesite novo korisničko ime za svog administratora i unesite adresu e-pošte koju vam je dao davatelj imena domene. Napravite snažnu lozinku za administratorski račun, a zatim pritisnite sljedeći kada završite.

Posljednji i posljednji korak je samo klik na gumb 'Instaliraj' za potvrdu postavki i početak procesa instalacije. Kada je instalacija dovršena, postavljanje Magenta će vam pokazati sažetak i neke važne pojedinosti o vašoj Magento stranici.

Zabilježite ove pojedinosti negdje na sigurno mjesto, kao što je izvanmrežni papirnati zapis ili u sigurnu bazu podataka. Administratorska adresa Magento i ključ za šifriranje nikada se ne smiju javno dijeliti. Ključ za šifriranje koristi se za šifriranje Magento baze podataka kako bi podaci korisnika bili sigurni, čak i ako dođe do curenja podataka.

Napravite SSL certifikat za svoju Magento stranicu

Magento stranica je postavljena i može joj se pristupiti odmah nakon dovršetka instalacije. Ali ako želite posluživati ​​web promet putem HTTPS-a, morat ćete postaviti SSL certifikat za svoju domenu.

Letsencrypt je neprofitno tijelo za izdavanje certifikata koje besplatno pruža TLS certifikate. Koristit ćemo paket tzv certbot što pomaže u dobivanju certifikata i automatskom konfiguriranju Apache virtualnog hosta. Pokrenite ovu naredbu u terminalu da instalirate certbot:

sudo apt install certbot python3-certbot-apache

Da biste dobili svoj certifikat od Letsencrypta i konfigurirali virtualni host Apache, pokrenite sljedeću naredbu:

sudo certbot --apache

Certbot će započeti proces dobivanja certifikata od Letsencrypta, navesti vašu adresu e-pošte kada se to od vas zatraži, a zatim pritisnite tipku enter. Zatim upišite A da prihvatite uvjete pružanja usluge Letsencrypt. Bit ćete upitani želite li podijeliti svoju adresu e-pošte s EFF-om, upišite Y ili N ovisno o vašem izboru.

Zatim ćete dobiti popis naziva domena za koje želite aktivirati HTTPS. Upišite odgovarajući broj koji odgovara imenu vaše domene i pritisnite Enter.

Nakon što odaberete naziv svoje domene, bit ćete upitani želite li preusmjeriti HTTP promet na HTTPS, upišite 2 i pritisnite enter. Certbot će sada automatski konfigurirati Apache virtualni host za domenu primjer.com.

Paket Certbot dolazi s cronjobom koji automatski obnavlja certifikate vašeg poslužitelja prije nego što isteknu.Provjerite funkcionira li automatska obnova tako što ćete pokrenuti:

sudo certbot obnoviti --dry-run

Gornji izlaz znači da cronjob za automatsko obnavljanje radi ispravno. Da biste potvrdili da je Certbot radio, otvorite preglednik i posjetite svoju domenu //example.com.

Slično, možete pristupiti stranici za prijavu administratora pomoću //example.com/admin_SecretString, ovaj je URL bio na kraju instalacije Magenta.

Sada ste uspješno instalirali Magento na Ubuntu 20.04 LTS poslužitelj i sada možete početi prilagođavati svoju trgovinu prema svojim potrebama. Da biste saznali više o Magentu i naučili o razvoju trgovine, idite na stranicu Magento Dokumenti.