Cum se instalează Magento 2 pe Ubuntu 20.04 LTS

Un ghid cuprinzător despre cum să configurați și să implementați magazinul Magento2 pe un server Ubuntu 20.04.

Magento este o platformă populară de comerț electronic construită și scrisă în PHP, este folosită de multe întreprinderi mici pentru a vinde produse și a crea o prezență online. Vă permite să creați un magazin online cu drepturi depline, cu funcții precum gestionarea inventarului, cataloage de produse, expediere, facturare și multe altele.

Dacă doriți să construiți o platformă de cumpărături elegantă și de nivel enterprise pentru afacerea dvs., Magento ar trebui să fie un punct de plecare excelent. Deci, în acest ghid, vom analiza cum să configurați versiunea 2.3 a ediției comunitare Magento cu stiva LAMP pe un server Ubuntu 20.04.

Cerințe preliminare

Veți avea nevoie de un server Ubuntu 20.04 LTS și să vă conectați ca a sudo utilizator activat. De asemenea, veți avea nevoie de un nume de domeniu care să indice IP-ul serverului dumneavoastră Ubuntu 20.04. Noi vom folosi exemplu.com oriunde este necesar un nume de domeniu, înlocuiți-l cu domeniul dvs. Înainte de a începe, actualizați lista de pachete și apoi actualizați pachetele pe serverul Ubuntu 20.04.

sudo apt update && sudo apt upgrade

Instalați Apache Web Server

Magento necesită un server web pentru a funcționa, în acest ghid am ales să folosim rulați aplicația Magento peste stiva LAMP (Linux, Apache, MySQL, PHP). Deci vom instala toate pachetele care constau din stiva LAMP.

Serverul web Apache este unul dintre cele mai populare servere web de pe internet, având aproape 37,2% din cota totală de piață a serverelor web. De asemenea, puteți alege să instalați Magento peste stiva LEMP care utilizează serverul web Nginx în loc de apache. Dar în acest ghid vom implementa serverul nostru Megento cu ajutorul Apache.

Pentru a instala serverul web Apache, executați comanda de mai jos:

sudo apt install apache2

Introduceți parola de utilizator și apăsați Y dacă vi se cere. Când instalarea este completă, trebuie să configuram firewall-ul necomplicat al Ubuntu (UFW) pentru a permite traficul pe port 80 & 443.

UFW vine cu profiluri preconfigurate care pot fi comutate pentru a permite aplicației să acceseze porturile de pe serverul Ubuntu 20.04. Deci, când ați instalat serverul web Apache, profilurile UFW numite „Apache”, „Apache Full” și „Apache Secure” au fost adăugate la lista de aplicații UFW. Permiteți serverului web Apache să servească pe port 80 & 443 rulând:

sudo ufw permit „Apache Full”

Acum, tot ce trebuie să facem este să activăm UFW, dar înainte de a face acest lucru, asigurați-vă că ați permis portul 22 (SSH). Dacă nu modificați regulile SSH UFW, este posibil să fiți blocat de serverul Ubuntu 20.04.

sudo ufw permit „OpenSSH”

În cele din urmă, activați paravanul de protecție UFW rulând:

sudo ufw enable

presa Y dacă primiți o solicitare care spune că comanda ar putea întrerupe conexiunile SSH, deoarece am adăugat deja o regulă pentru a permite SSH prin aceasta. Acum puteți accesa serverul web apache prin browser, introduceți adresa IP a serverului Ubuntu 20.04 în bara de adrese URL și apăsați Enter.

Apache2 pagina implicită ubuntu

Instalați MySQL Server

De asemenea, veți avea nevoie de un server de baze de date pentru a rula Magento, deoarece este locul în care este stocat tot conținutul magazinului Magento. Vom instala serverul MySQL și vom crea un utilizator numit magentoser și o bază de date numită magento pentru Magento.

Pachetul MySQL este numit ca mysql-server în depozitele Ubuntu, instalați-l rulând:

sudo apt install mysql-server

În continuare, trebuie să configuram corect setările de securitate MySQL. Din fericire, pachetul MySQL vine cu un script de securitate care face configurarea serverului MySQL mult mai ușoară. Deci, executați acest script rulând următoarea comandă:

sudo mysql_secure_installation

Vi se vor solicita mai multe întrebări, acestea sunt setările optime pentru serverul MySQL:

  • Doriți să configurați componenta VALIDATE PAROLA?[da/n]: Introduceți Y
  • Există trei niveluri de politică de validare a parolelor.
    • Vă rugăm să introduceți 0 = SCĂZUT, 1 = MEDIU și 2 = PUTERNIC: Introduceți 2
  • Vă rugăm să setați parola pentru root aici.
    • Parolă nouă: introduceți o parolă pentru utilizatorul root MySQL.
    • Reintroduceți parola nouă: repetați parola aleasă.
  • Eliminați utilizatori anonimi? [da/n]: Intră Y
  • Nu permiteți conectarea la root de la distanță? [da/n] : Intră Y
  • Eliminați baza de date de testare și accesul la ea? [da/n] : Intră Y
  • Reîncărcați acum tabelele de privilegii? [da/n] : Intră Y

Apoi, pentru a verifica și valida dacă serverul MySQL este instalat și funcționează corect, conectați-vă la serverul MySQL ca utilizator root prin:

sudo mysql

Introduceți sudo parola de utilizator atunci când vi se solicită acest lucru și apăsați Enter. Utilizatorul MySQL root folosește unix_socket pentru a autentifica autentificarea. Ceea ce înseamnă în esență acest lucru este că trebuie să fii a sudo utilizator să se autentifice la serverul MySQL ca utilizator rădăcină.

Creați o nouă bază de date și utilizator pentru Magento

Acum putem crea un utilizator MySQL pentru Magento și dacă ați urmat fiecare pas din acest ghid, trebuie să aveți consola MySQL deschisă. Creați o bază de date numită magento introducând următoarea interogare în consola MySQL:

CREAȚI BAZĂ DE DATE magento;

Pentru a crea un nou utilizator MySQL numit magentoser, rulați această interogare în consolă:

CREAȚI UTILIZATOR 'magentouser'@'%' IDENTIFICAT CU mysql_native_password DE 'parolă';

Notă: Inlocuieste parola în interogare cu o parolă puternică la alegerea dvs.

Atunci acordă noul magentoser acces deplin la magento Bază de date:

Acordați totul pe magento.* LA 'magentouser'@'%' CU OPȚIUNEA GRANT;

Trebuie să setăm log_bin_trust_function_creators parametrul ca 1 deoarece este dezactivat în cea mai recentă versiune de MySQL și fără a-l activa Magento aruncă câteva erori în timpul instalării. Pentru a face acest lucru, rulați următoarea interogare:

SETARE GLOBAL log_bin_trust_function_creators=1;

În cele din urmă, reîncărcați privilegiile și setările bazei de date pe care le-am schimbat și ieșiți din consolă utilizând aceste interogări:

PRIVILEGII FLUSH; IEȘIRE;

Instalați PHP și extensiile necesare

Magento necesită PHP și câteva extensii PHP pentru a funcționa. La momentul scrierii acestui articol, versiunea ediție a comunității Magento 2.3 nu funcționează cu cea mai recentă versiune PHP 7.4 și prin urmare trebuie să instalăm versiunea PHP 7.3.

Trebuie să adăugăm un PPA PHP terță parte, astfel încât să putem instala versiunea PHP 7.3 deoarece depozitele Ubuntu au doar cele mai recente 7.4 pachete. Adăugați PPA și actualizați lista de pachete rulând aceste comenzi:

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

Apoi, instalați PHP 7.3 și toate modulele PHP pe care le necesită Magento, rulând următoarea comandă:

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

După ce PHP 7.3 este instalat, trebuie să configuram câteva setări de bază care sunt recomandate de Magento pentru a funcționa corect. Rulați această comandă pentru a deschide fișierul de configurare al extensiei FPM folosind nano

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

Iată câteva dintre setările recomandate pentru majoritatea site-urilor Magento.

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

Salvați modificările apăsând Ctrl+O apoi ieșiți din editorul nano apăsând Ctrl+X. Acum avem PHP și toate extensiile necesare și astfel putem trece la obținerea Magento.

Instalați Composer

Composer este un manager de dependențe PHP care facilitează instalarea cadrelor și bibliotecilor PHP. Avem nevoie de Composer pentru a descărca și instala Magento pe serverul nostru Ubuntu 20.04.

Composer necesită un pachet numit dezarhivați pentru a extrage bibliotecile și cadrele descărcate, instalați-le rulând:

sudo apt install unzip

Apoi instalați Composer la nivel de sistem, rulând această comandă:

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

Comanda de mai sus ar trebui să instaleze managerul de dependențe Composer pe serverul Ubuntu 20.04. Verificați dacă Composer este instalat corect rulând:

compozitor
 IEȘIRE:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer versiunea 1.10.8 2020-06- 24 21:23:30 Utilizare: comandă [opțiuni] [argumente] 

Descărcați și instalați Magento

Acum putem trece la descărcarea și instalarea Magento, deoarece am instalat și configurat toate pachetele necesare cerute de Magento.

Crearea unui cont Magento

Pentru a descărca Magento pe serverul Ubuntu 20.04, veți avea nevoie de o cheie de acces Magento 2. Pentru a obține această cheie de acces, veți avea nevoie de un cont Magento. Dacă nu sunteți înregistrat și nu aveți un cont Magento, accesați această pagină și faceți clic pe „Înregistrare”.

După ce ați terminat de creat un cont Magento, veți putea crea o nouă cheie de acces, astfel încât să puteți descărca Magento 2 pe computer folosind compozitor. Puteți vizualiza toate cheile de acces Magento pe această pagină. Dacă nu există nicio cheie de acces în fila Magento 2, faceți clic pe butonul „Creați o nouă cheie de acces” și dați-i un nume, apoi apăsați „OK”.

Aceste chei sunt acreditările dvs. utilizate pentru a descărca Magento 2 din depozitul Magento prin Composer. Vom folosi aceste chei când vom descărca Magento, dar înainte de a face asta vom configura proprietatea și permisiunile directorului.

Configurarea proprietății și a permisiunii înainte de instalare

Permisiunile pentru fișiere pot face sau distruge securitatea oricărui site web, așa că este necesar să se stabilească corect proprietatea și permisiunea rădăcinii documentului a serverului Apache.

Proprietarul implicit al /var/www/ directorul este utilizatorul rădăcină, dar trebuie să accesăm și să modificăm fișierele din acest director. În plus, serverul web are nevoie și de acces la rădăcina documentului pentru a scrie înapoi și a modifica conținutul site-ului Magento.

Deci, pentru a rezolva această problemă, vom adăuga utilizatorul actual la www-data grup, pentru a face acest lucru rulați:

sudo usermod -a -G www-data $USER

The -A-G opțiunile sunt importante pe măsură ce se adaugă www-data ca grup secundar al contului de utilizator, care păstrează grupul principal al utilizatorului. După adăugarea utilizatorului la grupul de servere web, schimbați proprietarul /var/www/ și subdirectoarele sale folosind această comandă:

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

Acum că am configurat permisiunile de preinstalare pentru Magento, putem trece la descărcarea acestuia în rădăcina documentului serverului web.

Descărcarea Magento

Acum, în acest moment, ar trebui să aveți un cont Magento cu cheile de acces și permisiunile de preinstalare configurate corect. Deci vom folosi Composer pentru a descărca Magento în rădăcina documentului Apache și apoi îl vom instala.

Schimbați directorul curent în /var/www/ deci terminalul indică spre el rulând:

cd /var/www/

Rulați comanda de mai jos pentru a crea un nou proiect folosind Composer cunoscut ca magento.

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

Vi se va solicita numele de utilizator și parola după ce utilizați comanda de mai sus. Cheile de acces pe care le-am creat vor fi folosite aici. Copiați cheia publică și inserați-o ca nume de utilizator, apoi copiați în mod similar cheia privată și inserați-o în terminal ca parolă. Apoi apăsați Y pentru a salva acreditările pentru utilizare ulterioară.

 Ieșire:  Crearea unui proiect „magento/project-community-edition” la „./magento” Avertisment de la repo.magento.com: nu ați furnizat cheile de autentificare Magento. Pentru instrucțiuni, vizitați //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Este necesară autentificarea (repo.magento.com): Nume utilizator: e8b6120dce14c3d982a85525264897c4 Parola: Doriți să stocați acreditările pentru repo.magento.com în /home/ath/.config/composer/auth.json? [Yn] Y

După ce Magento și toate dependențele sale sunt descărcate prin Composer, trebuie să setăm dreptul de proprietate și permisiunea pentru noul director de proiect Magento și pentru fișierele acestuia. Schimbați directorul la rădăcina proiectului Magento prin:

cd /var/www/magento/

Apoi schimbați proprietarul grupului al directorului de proiect Magento și al subdirectoarelor acestuia, rulând:

găsiți furnizor generat de var pub/pub static/media app/etc -type f -exec chmod g+w {} + && găsiți furnizor generat de var pub/pub static/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Această comandă va oferi grupului de server web (www-data) permisiuni de a scrie în directoarele și fișierele vânzătorului, pub/static, pub/media și app/etc. În plus, va face bin/magento fișier executabil, astfel încât să îl putem rula și să instalăm Magento pe sistemul nostru.

Configurarea Apache pentru Magento

Vom instala Magento prin GUI, deoarece este mai intuitiv decât instalarea CLI în acest caz. Astfel, trebuie să creăm o gazdă virtuală pentru serverul web Apache înainte de a putea continua cu instalarea Magento.

Deschideți fișierul gazdă virtual implicit al Apache cu nano folosind următoarea comandă:

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

Schimbați rădăcina documentului în /var/www/magento și adăugați următorul fragment de cod sub el.

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

Inlocuieste exemplu.com în ServerName și ServerAlias ​​cu numele dvs. de domeniu. Schimbările din dvs 000-default.conf fișierul ar trebui să arate ceva ca textul evidențiat prezentat mai jos. Salvați modificările apăsând Ctrl+O și părăsiți editorul utilizând Ctrl+X chei.

 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 combinat 

Apoi, trebuie să activăm un mod Apache numit ca mod_rewrite cerut de Magento. Oferă o modalitate flexibilă și puternică de a manipula adresele URL, așa că activați modul rulând:

sudo a2enmod rescrie

Reporniți serverul Apache, astfel încât orice modificări pe care le-am făcut să fie aplicate serverului:

sudo systemctl reporniți apache2

Instalarea Magento

În sfârșit, putem continua cu instalarea Magento, deoarece avem tot ceea ce este necesar pentru Magento pentru a funcționa. Introdu adresa IP a serverului tău Ubuntu 20.04 în bara de adrese URL a browserului tău preferat.

Faceți clic pe „Agree and Setup Magento” pentru a continua cu instalarea Magento. Primul pas al programului de instalare Magento Web este verificarea pregătirii, acesta va verifica dacă toate cerințele Magento sunt îndeplinite. Faceți clic pe „Începe verificarea pregătirii” și după finalizarea procesului, apăsați pe „Următorul”.

Următorul pas este configurarea detaliilor și adăugarea unei baze de date pentru Magento. Am creat deja un utilizator MySQL pentru Magento numit magentoser și o bază de date numită magento în secțiunea de mai sus. Completați detaliile corespunzătoare în această secțiune, și anume numele de utilizator al serverului de bază de date, parola și numele bazei de date și apoi apăsați „Următorul” pentru a continua.

Al treilea pas în configurarea Magento este configurarea web. Înlocuiți adresa IP din intrarea „Adresa magazinului” cu numele domeniului dvs., dacă aveți unul. Nu uitați să puneți o bară oblică înainte (/) după numele dvs. de domeniu, în caz contrar, adresa URL a adresei de administrator devine inaccesibilă.

Apoi faceți clic pe Opțiuni avansate și bifați ambele opțiuni HTTPS dacă doriți să utilizați o conexiune sigură pentru site-ul dvs. Magento. Păstrați restul setărilor așa cum sunt și apăsați pe următorul.

Notă: Dacă bifați opțiunile HTTPS, va trebui să obțineți certificate SSL pentru aceasta. Vom vedea cum să obțineți certificate SSL în următoarea secțiune a acestui tutorial.

Sub setările „Personalizați-vă magazinul”, va trebui doar să schimbați fusul orar, moneda implicită folosită în magazin și limba implicită a magazinului în funcție de nevoile dvs. Uitați-vă în jur de aceste setări și configurați-le dacă este necesar, altfel faceți clic pe Înainte pentru a continua.

În al cincilea pas, va trebui să creați un cont de administrator pentru tabloul de bord Magento Admin. Introduceți un nou nume de utilizator pentru administratorul dvs. și introduceți o adresă de e-mail furnizată de furnizorul de nume de domeniu. Creați o parolă puternică pentru contul de administrator și apoi apăsați pe următorul când ați terminat.

Ultimul și ultimul pas este să faceți clic pe butonul „Instalare” pentru a confirma setările și a începe procesul de instalare. Când instalarea este finalizată, configurarea Magento vă va arăta rezumatul și câteva detalii importante despre site-ul dvs. Magento.

Notați aceste detalii într-un loc sigur, cum ar fi o înregistrare pe hârtie offline sau într-o bază de date securizată. Adresa de administrator Magento și cheia de criptare nu ar trebui să fie niciodată partajate public. Cheia de criptare este folosită pentru a cripta baza de date Magento, astfel încât datele utilizatorului să fie în siguranță, chiar dacă există o scurgere de date.

Creați un certificat SSL pentru site-ul dvs. Magento

Site-ul Magento este implementat și poate fi accesat imediat după finalizarea instalării. Dar dacă doriți să serviți trafic web prin HTTPS, atunci va trebui să configurați un certificat SSL pentru domeniul dvs.

Letsencrypt este o autoritate de certificare nonprofit care oferă certificate TLS gratuit. Vom folosi un pachet numit certbot care ajută la obținerea certificatului și la configurarea automată a gazdei virtuale Apache. Rulați această comandă în terminal pentru a instala certbot:

sudo apt install certbot python3-certbot-apache

Pentru a obține certificatul de la Letsencrypt și a configura gazda virtuală Apache, rulați următoarea comandă:

sudo certbot --apache

Certbot va începe procesul de obținere a certificatelor de la Letsencrypt, va furniza adresa dvs. de e-mail când vi se va solicita și apoi va apăsa tasta Enter. Apoi, tastați A pentru a fi de acord cu termenii și condițiile Letsencrypt. Veți fi întrebat dacă doriți să partajați adresa dvs. de e-mail cu EFF, introduceți Y sau N in functie de alegerea ta.

În continuare, vi se va oferi o listă de nume de domenii pentru care doriți să activați HTTPS. Introduceți numărul corespunzător cu numele domeniului dvs. și apăsați Enter.

După ce ați selectat numele de domeniu, veți fi întrebat dacă doriți să redirecționați traficul HTTP către HTTPS, tastați 2 și apăsați enter. Certbot va configura acum automat gazda virtuală Apache pentru domeniu exemplu.com.

Pachetul Certbot vine cu cronjob care reînnoiește automat certificatele de server înainte ca acestea să expire.Testați dacă reînnoirea automată funcționează rulând:

sudo certbot renew --dry-run

Ieșirea de mai sus înseamnă că cronjob-ul de reînnoire automată funcționează corect. Pentru a confirma că Certbot a funcționat, deschideți browserul și vizitați-vă domeniul //example.com.

În mod similar, puteți accesa pagina de conectare a administratorului folosind //example.com/admin_SecretString, această adresă URL se afla la sfârșitul instalării Magento.

Acum ați instalat cu succes Magento pe serverul Ubuntu 20.04 LTS și acum puteți începe să vă personalizați magazinul în funcție de nevoile dvs. Pentru a afla mai multe despre Magento și pentru a afla despre dezvoltarea magazinului, accesați pagina Magento Docs.