Kaip įdiegti „Magento 2“ Ubuntu 20.04 LTS

Išsamus vadovas, kaip nustatyti ir įdiegti Magento2 parduotuvę Ubuntu 20.04 serveryje.

„Magento“ yra populiari el. prekybos platforma, sukurta ir parašyta PHP kalba, ją naudoja daugelis mažų įmonių, kad parduotų produktus ir sukurtų buvimą internete. Tai leidžia jums sukurti visavertę internetinę parduotuvę su tokiomis funkcijomis kaip atsargų valdymas, produktų katalogai, siuntimas, sąskaitų faktūrų išrašymas ir daug daugiau.

Jei norite sukurti aptakią ir įmonės lygio apsipirkimo platformą savo verslui, „Magento“ turėtų būti puikus atspirties taškas. Taigi šiame vadove apžvelgsime, kaip Ubuntu 20.04 serveryje nustatyti Magento bendruomenės leidimo 2.3 versiją su LAMP krūva.

Būtinos sąlygos

Jums reikės Ubuntu 20.04 LTS serverio ir prisijungti kaip a sudo įgalintas vartotojas. Taip pat reikės domeno vardo, nukreipiančio į jūsų Ubuntu 20.04 serverio IP. Mes naudosime example.com visur, kur reikalingas domeno vardas, pakeiskite jį savo domenu. Prieš pradėdami, atnaujinkite paketų sąrašą ir atnaujinkite paketus savo Ubuntu 20.04 serveryje.

sudo apt naujinimas ir sudo apt atnaujinimas

Įdiekite „Apache“ žiniatinklio serverį

Kad Magento veiktų, reikalingas žiniatinklio serveris. Šiame vadove pasirinkome paleisti Magento programą per LAMP („Linux“, „Apache“, „MySQL“, PHP) krūvą. Taigi mes ketiname įdiegti visus paketus, sudarytus iš LAMP kamino.

„Apache“ žiniatinklio serveris yra vienas populiariausių žiniatinklio serverių internete, užimantis beveik 37,2% visos žiniatinklio serverių rinkos dalies. Taip pat galite pasirinkti įdiegti „Magento“ per LEMP krūvą, kuri naudoja „Nginx“ žiniatinklio serverį, o ne „apache“. Tačiau šiame vadove mes ketiname įdiegti „Megento“ serverį naudodami „Apache“.

Norėdami įdiegti „Apache“ žiniatinklio serverį, paleiskite toliau pateiktą komandą:

sudo apt install apache2

Įveskite savo vartotojo slaptažodį ir paspauskite Y jei paraginta. Kai diegimas bus baigtas, turime sukonfigūruoti Ubuntu nesudėtingą užkardą (UFW), kad leistų srautą per prievadą 80 & 443.

UFW yra su iš anksto sukonfigūruotais profiliais, kuriuos galima perjungti, kad programa galėtų pasiekti jūsų Ubuntu 20.04 serverio prievadus. Taigi, kai įdiegėte „Apache“ žiniatinklio serverį, UFW profiliai, vadinami „Apache“, „Apache Full“ ir „Apache Secure“, buvo įtraukti į UFW programų sąrašą. Leisti „Apache“ žiniatinklio serveriui veikti prievade 80 & 443 bėgant:

sudo ufw leidžia „Apache Full“

Dabar viskas, ką turime padaryti, tai įjungti UFW, bet prieš tai darydami įsitikinkite, kad leidote prievadą 22 (SSH). Jei nepakeisite SSH UFW taisyklių, galite būti užblokuoti prie Ubuntu 20.04 serverio.

sudo ufw leisti "OpenSSH"

Galiausiai įgalinkite UFW užkardą paleisdami:

sudo ufw įgalinti

Paspauskite Y jei gausite raginimą, kad komanda gali sutrikdyti SSH ryšius, nes mes jau įtraukėme taisyklę, leidžiančią per ją leisti SSH. Dabar galite pasiekti „apache“ žiniatinklio serverį naudodami naršyklę, URL juostoje įveskite Ubuntu 20.04 serverio IP adresą ir paspauskite „Enter“.

apache2 ubuntu numatytasis puslapis

Įdiekite „MySQL Server“.

Jums taip pat reikės duomenų bazės serverio, kad paleistumėte Magento, nes jame saugomas visas Magento parduotuvės turinys. Mes ketiname įdiegti MySQL serverį ir sukurti vartotoją, pavadintą magentouser ir vadinama duomenų bazė magento už Magento.

MySQL paketas vadinamas kaip mysql serveris Ubuntu saugyklose įdiekite jį paleisdami:

sudo apt install mysql-server

Tada turime tinkamai sukonfigūruoti MySQL saugos parametrus. Laimei, MySQL pakete yra saugos scenarijus, kuris palengvina MySQL serverio konfigūravimą. Taigi, paleiskite šį scenarijų paleisdami šią komandą:

sudo mysql_secure_installation

Būsite paraginti pateikti kelis klausimus, tai yra optimalūs MySQL serverio nustatymai:

  • Ar norite nustatyti komponentą PATVIRTINTI SLAPTAŽODĮ? [y/n]: įveskite Y
  • Yra trys slaptažodžio patvirtinimo politikos lygiai.
    • Įveskite 0 = LOW, 1 = VIDUTINIS ir 2 = STIPRUS: įveskite 2
  • Čia nustatykite root slaptažodį.
    • Naujas slaptažodis: įveskite MySQL root vartotojo slaptažodį.
    • Iš naujo įveskite naują slaptažodį: pakartokite pasirinktą slaptažodį.
  • Pašalinti anoniminius naudotojus? [y/n]: įveskite Y
  • Neleisti root prisijungimo nuotoliniu būdu? [y/n] : Įveskite Y
  • Pašalinti bandymų duomenų bazę ir prieigą prie jos? [y/n] : Įveskite Y
  • Dabar iš naujo įkelti privilegijų lenteles? [y/n] : Įveskite Y

Tada norėdami patikrinti ir patvirtinti, kad MySQL serveris yra įdiegtas ir tinkamai veikia, prisijunkite prie MySQL serverio kaip root naudotojas:

sudo mysql

Įveskite savo sudo vartotojo slaptažodį, kai būsite paraginti tai padaryti, ir paspauskite Enter. MySQL root vartotojas naudoja unix_socket kad patvirtintumėte prisijungimą. Iš esmės tai reiškia, kad jūs turite būti a sudo vartotojas gali prisijungti prie MySQL serverio kaip pagrindinis vartotojas.

Sukurkite naują Magento duomenų bazę ir vartotoją

Dabar galime sukurti „Magento“ skirtą „MySQL“ vartotoją ir, jei atlikote kiekvieną šio vadovo žingsnį, turite atidaryti „MySQL“ konsolę. Sukurkite duomenų bazę, vadinamą magento MySQL konsolėje įvesdami šią užklausą:

KURTI DUOMENŲ BAZĘ magento;

Norėdami sukurti naują MySQL vartotoją, vadinamas magentouser, paleiskite šią užklausą konsolėje:

KURTI VARTOTOJĄ 'magentouser'@'%' ATPAŽINTAS mysql_native_password BY 'slaptažodis';

Pastaba: Pakeiskite Slaptažodis užklausoje naudodami pasirinktą tvirtą slaptažodį.

Tada suteikite naują magentouser visiška prieiga prie magento duomenų bazė:

SUTEIKTI VISKĄ magento.* Į 'magentouser'@'%' SU SUTEIKIMO OPTION;

Turime nustatyti log_bin_trust_function_creators parametras yra 1, nes jis yra išjungtas naujausioje „MySQL“ versijoje ir jo neįjungus, „Magento“ diegdamas pateikia keletą klaidų. Norėdami tai padaryti, paleiskite šią užklausą:

NUSTATYTI GLOBALUS log_bin_trust_function_creators=1;

Galiausiai iš naujo įkelkite pakeistas duomenų bazės teises ir nustatymus ir išeikite iš konsolės naudodami šias užklausas:

FLUSH PRIVILEGIJOS; IŠĖJIMAS;

Įdiekite PHP ir reikalingus plėtinius

Kad veiktų „Magento“, reikalingas PHP ir keli PHP plėtiniai. Rašant šį straipsnį, Magento bendruomenės leidimo versija 2.3 neveikia su naujausia PHP versija 7.4 ir todėl turime įdiegti PHP versiją 7.3.

Turime pridėti trečiosios šalies PHP PPA, kad galėtume įdiegti PHP versiją 7.3 nes Ubuntu saugyklose yra tik naujausios 7.4 paketus. Pridėkite PPA ir atnaujinkite paketų sąrašą vykdydami šias komandas:

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

Tada įdiekite PHP 7.3 ir visus PHP modulius, kurių reikalauja Magento, vykdydami šią komandą:

sudo apt įdiegti php7.3 php7.3-bendras 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

Įdiegę PHP 7.3, turime sukonfigūruoti kai kuriuos pagrindinius nustatymus, kuriuos rekomenduoja Magento, kad jie tinkamai veiktų. Vykdykite šią komandą, kad atidarytumėte FPM plėtinio konfigūracijos failą naudodami nano

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

Štai keletas nustatymų, rekomenduojamų daugeliui Magento svetainių.

file_uploads = Įjungta allow_url_fopen = Įjungta short_open_tag = Įjungta atminties_riba = 256 mln. cgi.fix_pathinfo = 0 įkėlimo_max_failo dydis = 100 mln. maks. vykdymo_laikas = 360

Išsaugokite pakeitimus paspausdami Ctrl + O tada išeikite iš nano redaktoriaus paspausdami Ctrl + X. Dabar turime PHP ir visus reikiamus plėtinius, todėl galime pereiti prie Magento įsigijimo.

Įdiekite kompozitorių

„Composer“ yra PHP priklausomybės tvarkyklė, palengvinanti PHP sistemų ir bibliotekų diegimą. Mums reikia „Composer“, kad galėtume atsisiųsti ir įdiegti „Magento“ mūsų Ubuntu 20.04 serveryje.

Kompozitorius reikalauja paketo, vadinamo išpakuokite Norėdami išskleisti atsisiųstas bibliotekas ir sistemas, įdiekite ją paleisdami:

sudo apt install išpakuokite

Tada įdiekite kompozitorių visos sistemos lygiu vykdydami šią komandą:

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

Aukščiau pateikta komanda turėtų įdiegti kompozitoriaus priklausomybės tvarkyklę Ubuntu 20.04 serveryje. Patikrinkite, ar Composer tinkamai įdiegtas, paleisdami:

kompozitorius
 IŠVADA:  __/ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Kompozitoriaus versija 1.10.8 2020-06- 24 21:23:30 Naudojimas: komanda [parinktys] [argumentai] 

Atsisiųskite ir įdiekite „Magento“.

Dabar galime pereiti prie „Magento“ atsisiuntimo ir diegimo, nes įdiegėme ir sukonfigūravome visus būtinus „Magento“ reikalingus paketus.

Magento paskyros sukūrimas

Norėdami atsisiųsti Magento į Ubuntu 20.04 serverį, jums reikės Magento 2 prieigos rakto. Norėdami gauti šį prieigos raktą, jums reikės Magento paskyros. Jei nesate užsiregistravę ir neturite Magento paskyros, eikite į šį puslapį ir spustelėkite „Registruotis“.

Sukūrę Magento paskyrą, galėsite sukurti naują prieigos raktą, kad galėtumėte atsisiųsti Magento 2 į savo kompiuterį naudodami kompozitorių. Šiame puslapyje galite peržiūrėti visus savo Magento prieigos raktus. Jei „Magento 2“ skirtuke nėra prieigos rakto, spustelėkite mygtuką „Sukurti naują prieigos raktą“ ir suteikite jam pavadinimą, tada paspauskite „Gerai“.

Šie raktai yra jūsų kredencialai, naudojami norint atsisiųsti „Magento 2“ iš „Magento“ saugyklos per „Composer“. Šiuos raktus naudosime atsisiųsdami „Magento“, tačiau prieš tai nustatysime katalogo nuosavybę ir leidimus.

Nuosavybės ir leidimo konfigūracija prieš įdiegimą

Failo leidimai gali pažeisti arba pažeisti bet kurios svetainės saugumą, todėl būtina tinkamai nustatyti Apache serverio dokumento šaknies nuosavybės teisę ir leidimus.

Numatytasis savininkas /var/www/ katalogas yra pagrindinis vartotojas, tačiau mes turime pasiekti ir modifikuoti šiame kataloge esančius failus. Be to, žiniatinklio serveriui taip pat reikia prieigos prie dokumento šaknies, kad galėtų rašyti ir modifikuoti Magento svetainės turinį.

Taigi, norėdami išspręsti šią problemą, dabartinį vartotoją įtrauksime į www-duomenys grupėje, norėdami tai padaryti, vykdykite:

sudo usermod -a -G www-duomenys $USER

The -a-G parinktys yra svarbios, nes jos pridedamos www-duomenys kaip antrinė vartotojo abonemento grupė, kuri išsaugo pagrindinę vartotojo grupę. Pridėję vartotoją prie žiniatinklio serverio grupės, pakeiskite savininką /var/www/ ir jo pakatalogius naudodami šią komandą:

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

Dabar, kai nustatėme Magento išankstinio diegimo leidimus, galime pereiti prie jo atsisiuntimo žiniatinklio serverio dokumento šaknyje.

„Magento“ atsisiuntimas

Šiuo metu turėtumėte turėti „Magento“ paskyrą su tinkamai nustatytais prieigos raktais ir išankstinio diegimo leidimais. Taigi mes naudosime „Composer“, kad atsisiųstume „Magento“ į „Apache“ dokumento šaknį ir tada jį įdiegtume.

Pakeiskite dabartinį katalogą į /var/www/ todėl terminalas nukreiptas į jį paleisdamas:

cd /var/www/

Vykdykite toliau pateiktą komandą, kad sukurtumėte naują projektą naudodami kompozitorių, žinomą kaip magento.

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

Kai naudosite aukščiau pateiktą komandą, būsite paraginti įvesti vartotojo vardą ir slaptažodį. Čia turi būti naudojami mūsų sukurti prieigos raktai. Nukopijuokite viešąjį raktą ir įklijuokite jį kaip vartotojo vardą, tada panašiai nukopijuokite savo privatų raktą ir įklijuokite jį į terminalą kaip slaptažodį. Tada paspauskite Y kad išsaugotumėte kredencialus naudoti ateityje.

 Išvestis:  „Magento/project-community-edition“ projekto kūrimas adresu „./magento“ Įspėjimas iš repo.magento.com: nepateikėte Magento autentifikavimo raktų. Jei reikia instrukcijų, apsilankykite //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Reikalingas autentifikavimas (repo.magento.com): Vartotojo vardas: e8b6120dce14c3d982a85525264897c4 Slaptažodis: Ar norite saugoti kredencialus repo.magento.com /home/ath/.config/composer/auth.json? [Yn] Y

Atsisiuntę „Magento“ ir visas jo priklausomybes per „Composer“, turime nustatyti naujojo „Magento“ projekto katalogo ir jo failų nuosavybės teisę ir leidimus. Pakeiskite katalogą į Magento projekto šaknį:

cd /var/www/magento/

Tada pakeiskite Magento projekto katalogo ir jo pakatalogių grupės savininką paleisdami:

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

Ši komanda suteiks žiniatinklio serverio grupei (www-duomenys) leidimai rašyti tiekėjo, pub/static, pub/media & app/etc katalogus ir juose esančius failus. Be to, tai padarys bin/magento vykdomąjį failą, kad galėtume jį paleisti ir įdiegti „Magento“ savo sistemoje.

„Apache“ konfigūravimas „Magento“.

Mes ketiname įdiegti „Magento“ per GUI, nes šiuo atveju tai yra intuityvesnis nei CLI diegimas. Taigi, prieš pradėdami diegti Magento, turime sukurti virtualų „Apache“ žiniatinklio serverio prieglobą.

Atidarykite „Apache“ numatytąjį virtualaus pagrindinio kompiuterio failą naudodami nano naudodami šią komandą:

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

Pakeiskite dokumento šaknį į /var/www/magento ir po juo pridėkite šį kodo fragmentą.

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

Pakeiskite example.com „ServerName“ ir „ServerAlias“ su savo domeno pavadinimu. Pokyčiai tavo 000-default.conf failas turėtų atrodyti panašiai kaip toliau parodytas paryškintas tekstas. Išsaugokite pakeitimus paspausdami Ctrl + O ir išeikite iš redaktoriaus naudodami Ctrl + X raktai.

 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 sujungtas 

Tada turime įjungti Apache modą, vadinamą as mod_rewrite reikalingas Magento. Tai lankstus ir galingas būdas manipuliuoti URL, todėl įgalinkite modą paleisdami:

sudo a2enmod perrašyti

Iš naujo paleiskite „Apache“ serverį, kad visi mūsų atlikti pakeitimai būtų pritaikyti serveriui:

sudo systemctl iš naujo paleiskite apache2

„Magento“ diegimas

Pagaliau galime tęsti Magento diegimą, nes turime viską, ko reikia Magento darbui. Įveskite savo Ubuntu 20.04 serverio IP adresą pageidaujamos naršyklės URL juostoje.

Spustelėkite „Sutinku ir nustatykite Magento“, kad tęstumėte „Magento“ diegimą. Pirmasis „Magento Web“ diegimo programos žingsnis yra pasirengimo patikra, ji patikrins, ar įvykdyti visi „Magento“ reikalavimai. Spustelėkite „Pradėti pasirengimo patikrą“ ir, kai procesas bus baigtas, paspauskite „Kitas“.

Kitas žingsnis yra išsamios informacijos nustatymas ir Magento duomenų bazės pridėjimas. Mes jau sukūrėme Magento MySQL vartotoją, vadinamą magentouser ir vadinama duomenų bazė magento aukščiau esančiame skyriuje. Šiame skyriuje įveskite atitinkamą informaciją, būtent duomenų bazės serverio vartotojo vardą, slaptažodį ir duomenų bazės pavadinimą, tada paspauskite „Kitas“, kad tęstumėte.

Trečias „Magento“ sąrankos žingsnis yra žiniatinklio konfigūracija. Pakeiskite IP adresą iš įvesties „Parduotuvės adresas“ į savo domeno pavadinimą, jei tokį turite. Nepamirškite į priekį pasvirojo brūkšnio (/) po jūsų domeno vardo administratoriaus adreso URL tampa nepasiekiamas.

Tada spustelėkite Išplėstinės parinktys ir pažymėkite abi HTTPS parinktis, jei norite naudoti saugų „Magento“ svetainės ryšį. Likusius nustatymus palikite tokius, kokie jie yra, ir paspauskite kitą.

Pastaba: Jei pažymėsite HTTPS parinktis, turėsite gauti SSL sertifikatus. Kaip gauti SSL sertifikatus, apžvelgsime kitame šios vadovėlio skyriuje.

Nustatymuose „Tinkinti savo parduotuvę“ tereikės pakeisti laiko juostą, numatytąją parduotuvėje naudojamą valiutą ir numatytąją parduotuvės kalbą pagal savo poreikius. Apžiūrėkite šiuos nustatymus ir, jei reikia, sukonfigūruokite, kitu atveju spustelėkite Kitas, kad tęstumėte.

Penktajame žingsnyje turėsite susikurti administratoriaus paskyrą „Magento Admin“ prietaisų skydelyje. Įveskite naują administratoriaus vartotojo vardą ir el. pašto adresą, kurį suteikė domeno vardo teikėjas. Sukurkite stiprų administratoriaus paskyros slaptažodį ir, kai baigsite, spustelėkite Kitas.

Paskutinis ir paskutinis veiksmas yra tiesiog spustelėti mygtuką „Įdiegti“, kad patvirtintumėte nustatymus ir pradėtumėte diegimo procesą. Kai diegimas bus baigtas, „Magento“ sąranka parodys santrauką ir kai kurią svarbią informaciją apie „Magento“ svetainę.

Užsirašykite šią informaciją kur nors saugioje vietoje, pvz., neprisijungus naudojamoje popieriuje arba saugioje duomenų bazėje. „Magento“ administratoriaus adresas ir šifravimo raktas niekada neturėtų būti viešai bendrinami. Šifravimo raktas naudojamas Magento duomenų bazei užšifruoti, kad vartotojo duomenys būtų saugūs, net jei įvyktų duomenų nutekėjimas.

Sukurkite SSL sertifikatą savo Magento svetainei

„Magento“ svetainė yra įdiegta ir ją galima pasiekti iškart po to, kai diegimas bus baigtas. Bet jei norite aptarnauti žiniatinklio srautą per HTTPS, turėsite nustatyti savo domeno SSL sertifikatą.

„Letsencrypt“ yra pelno nesiekianti sertifikatų institucija, teikianti TLS sertifikatus nemokamai. Mes ketiname naudoti paketą, vadinamą certbot kuris padeda automatiškai gauti sertifikatą ir sukonfigūruoti „Apache“ virtualųjį pagrindinį kompiuterį. Paleiskite šią komandą terminale, kad įdiegtumėte certbot:

sudo apt install certbot python3-certbot-apache

Norėdami gauti sertifikatą iš „Letsencrypt“ ir sukonfigūruoti „Apache“ virtualųjį pagrindinį kompiuterį, paleiskite šią komandą:

sudo certbot --apache

„Certbot“ pradės sertifikatų gavimo procesą iš „Letsencrypt“, kai būsite paraginti, nurodys jūsų el. pašto adresą ir paspauskite įvesties klavišą. Toliau įveskite A sutikti su Letsencrypt paslaugų teikimo sąlygomis. Jūsų paklaus, ar norite bendrinti savo el. pašto adresą su EŽF, įveskite Y arba N priklausomai nuo jūsų pasirinkimo.

Tada jums bus pateiktas domenų vardų, kuriems norite suaktyvinti HTTPS, sąrašas. Įveskite atitinkamą numerį, atitinkantį jūsų domeno pavadinimą, ir paspauskite Enter.

Pasirinkę domeno pavadinimą, jūsų paklaus, ar norite nukreipti HTTP srautą į HTTPS, įveskite 2 ir paspauskite įvesti. Dabar „Certbot“ automatiškai sukonfigūruos „Apache“ virtualųjį prieglobą domenui example.com.

„Certbot“ pakete yra „cronjob“, kuris automatiškai atnaujina jūsų serverio sertifikatus prieš pasibaigiant jų galiojimo laikui.Patikrinkite, ar automatinis atnaujinimas veikia, vykdydami:

sudo certbot renew --dry-run

Aukščiau pateikta išvestis reiškia, kad automatinio atnaujinimo cronjob veikia tinkamai. Norėdami patvirtinti, kad Certbot veikė, atidarykite naršyklę ir apsilankykite savo domene //example.com.

Panašiai galite pasiekti administratoriaus prisijungimo puslapį naudodami //example.com/admin_SecretString, šis URL buvo Magento diegimo pabaigoje.

Dabar sėkmingai įdiegėte Magento Ubuntu 20.04 LTS serveryje ir dabar galite pradėti tinkinti savo parduotuvę pagal savo poreikius. Norėdami sužinoti daugiau apie Magento ir sužinoti apie parduotuvės kūrimą, eikite į Magento dokumentų puslapį.