Kako instalirati Magento na Rocky Linux i AlmaLinux


Napisan na PHPu, Magento je popularna i svestrana platforma za e-trgovinu otvorenog koda koja pruža preduzećima internetska kolica za kupovinu. Koristi različite PHP okvire kao što su Symfony i Laminas da poboljša svoju funkcionalnost i upotrebljivost.

Magento vam pruža administratorsku kontrolnu ploču koja vam pomaže da kreirate svoju internet prodavnicu, upravljate katalogom proizvoda, nadgledate transakcije i fakture i pratite ponašanje kupaca pri kupovini među mnogim drugim zadacima.

Bez mnogo daljeg odlaganja, krenimo s instalacijom Magenta na Rocky Linux i AlmaLinux.

Preduvjeti

Da biste uspješno instalirali Magento, prije svega, potrebno je da imate instaliran LAMP stack na:

  • Kako instalirati LAMP Stack na Rocky Linux
  • Kako instalirati LAMP Stack u AlmaLinux

Također, osigurajte da imate potpuno kvalificirano ime domene (FQDN) koje upućuje na javnu IP adresu servera. U ovom vodiču ćemo koristiti linuxtechgeek.info domenu.

Na kraju, uvjerite se da imate SSH pristup sa konfiguriranim sudo korisnikom.

Korak 1: Instalirajte dodatne PHP module i druge zavisnosti

Počećemo sa instalacijom php modula koji su preduslov za instalaciju Magentoa.

sudo dnf install php-mysqlnd php-xml php-cli php-soap php-pd php-opcache php-iconv php-bcmath php-gd o  php-intl php-mbstring php-json  php-zip unzip wget -y

Nakon instalacije, idite i uredite php.ini konfiguracijski fajl.

sudo vim /etc/php.ini

Uvjerite se da vrijednosti navedene u nastavku odražavaju ono što imate. Naravno, postavite svoju vrijednost date.timezone u skladu s time da odgovara vašoj vremenskoj zoni.

memory_limit = 1024M
upload_max_filesize = 256M
zlib.output_compression = on
max_execution_time = 18000
date.timezone = Europe/London

Sačuvajte promjene i izađite.

Zatim morate instalirati PHP natrijum ekstenziju – libsodium. Ovo je modul koji pruža funkcije šifriranja na jednostavan i efikasan način. Da bismo instalirali modul, moramo instalirati EPEL spremište koje obezbjeđuje dodatne pakete i zavisnosti za podršku njegove instalacije.

Da instalirate EPEL, izvršite naredbu:

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Zatim instalirajte dodatne zavisnosti.

sudo dnf install php-cli libsodium php-pear php-devel libsodium-devel make

Sa svim paketima i zavisnostima na mestu, instalirajte libsodium PHP modul tako što ćete pokrenuti sledeće komande tim redosledom.

sudo pecl channel-update pecl.php.net
sudo pecl install libsodium

Vratite se na datoteku php.ini.

sudo vim /etc/php.ini 

Dodajte sljedeći red.

extension=sodium.so

Sačuvaj i izađi.

Da biste provjerili da li je PHP natrijum instaliran, pokrenite naredbu:

php -i | grep sodium

Odlično! Sada pređite na sljedeći korak.

Korak 2: Kreirajte bazu podataka za Magento

Sljedeći korak uključuje kreiranje baze podataka i korisnika baze podataka za Magento. Stoga se prijavite na MariaDB server baze podataka:

sudo mysql -u root -p

Kreirajte bazu podataka i korisnika baze podataka pokretanjem sljedećih SQL upita.

CREATE DATABASE magento_db;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'password';

Zatim, dodijelite privilegije korisniku baze podataka na bazi podataka Magento.

GRANT ALL ON magento_db.* TO 'magento_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Konačno, omogućite da promjene stupe na snagu ponovnim učitavanjem tablica odobrenja.

FLUSH PRIVILEGES;
EXIT;

Ispod je sažetak SQL upita.

Korak 3: Instalirajte i konfigurirajte Elasticsearch u Linuxu

Sljedeći korak je instaliranje Elasticsearch. Ovo je open-source distribuirani pretraživač i motor za analizu zasnovan na Apache Luceneu. Koristi se za brzo i praktično pretraživanje, pohranjivanje i analizu velikih količina podataka.

Elasticsearch je napisan na Javi i kao preduvjet moramo prvo instalirati Javu. Instalirat ćemo OpenJDK 11 koji je najnovija stabilna verzija OpenJDK.

sudo dnf install openjdk-11-jdk -y

Kada se instalacija OpenJDK završi, provjerite instaliranu verziju Jave.

java -version

Zatim uvezite ključ Elasticsearch GPG.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Kada završite, kreirajte spremište za Elasticsearch.

sudo vim /etc/yum.repos.d/elasticsearch.repo

Zalijepite sljedeći sadržaj.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Sačuvajte promjene i izađite iz datoteke spremišta Elasticsearch.

Sada koristite DNF menadžer paketa da instalirate elasticsearch.

sudo dnf install elasticsearch

Potrebna je dodatna konfiguracija za Elasticsearch. Zato uredite datoteku elasticsearch.yml.

sudo vim etc/elasticsearch/elasticsearch.yml

Dekomentirajte redove ispod i uvjerite se da je network.host direktiva postavljena na 127.0.0.1.

cluster.name: my-application
     node.name: node-1
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Sačuvajte promjene i izađite iz datoteke.

Sada omogućite uslugu Elasticsearch da se pokrene prilikom pokretanja i pokrenite uslugu koristeći sljedeće komande.

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Zatim provjerite radni status Elasticsearch-a.

sudo systemctl status elasticsearch

Dodatno, možete testirati Elasticsearch slanjem GET zahtjeva koristeći komandu curl kao što je prikazano.

curl -X GET ‘localhost:9200’

Trebali biste dobiti sljedeći izlaz u JSON formatu.

Ovo je potvrda da je Elasticsearch uspješno instaliran.

Korak 4: Preuzmite i instalirajte Composer u Linuxu

Sljedeći korak je instaliranje composer koji je PHP menadžer paketa. Dakle, prvo preuzmite instalacioni fajl.

sudo curl -sS https://getcomposer.org/installer | php

Zatim premjestite datoteku na putanju /usr/local/bin/.

sudo mv composer.phar /usr/local/bin/composer

Da potvrdite instalaciju, izvršite naredbu:

composer -V

Korak 5: Preuzmite i instalirajte Magento u Linux

Sljedeći korak je preuzimanje Magento zip datoteke. Trenutno je najnovija verzija Magento 2.4.2. Koristeći wget uslužni program komandne linije, preuzmite instalacionu datoteku na sljedeći način.

wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.zip

Nakon preuzimanja, raspakirajte sadržaj arhivske datoteke.

unzip 2.4.2.zip

Zatim premjestite dekomprimirani direktorij u korijenski direktorij dokumenta i preimenujte ga u magento2 radi jednostavnosti.

sudo mv magento2-* /var/www/html/magento2

Zatim idite do magento direktorija

cd /var/www/html/magento2

I koristite composer da instalirate sve PHP zavisnosti.

sudo /usr/local/bin/composer install

NAPOMENA: Sigurno ćete dobiti grešku kada koristite sudo za pokretanje composer-a. Ovo je samo upozorenje jer pokretanje composer-a kao root može biti rizično u zavisnosti od toga šta se instalira. Stoga samo nastavite i pokrenite ga.

Nakon što su sve zavisnosti instalirane, postavite sljedeće dozvole za magento2 direktorij.

sudo chown -R apache:apache /var/www/html/magento2
sudo chmod 755 /var/www/html/magento2

Još uvijek u magento2 direktoriju, pozovite sljedeće dodatne dozvole.

sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
sudo find var generated vendor pub/static pub/media app/etc -type d -exec 
sudo chown -R apache:apache .
sudo chmod u+x bin/magento

Sada smo završili sa postavljanjem dozvola. Nastavimo i konfigurirajmo Apache za Magento.

Korak 6: Kreirajte Apache virtuelni host za Magento

Zatim ćemo konfigurisati Apache virtuelni host fajl za Magento instalaciju.

sudo vim /etc/httpd/conf.d/magento.conf

Zalijepite sljedeću konfiguracijsku datoteku.

<VirtualHost *:80>
ServerAdmin [email 
ServerName example.com
DocumentRoot /var/www/html/magento2/
DirectoryIndex index.php

<Directory /var/www/html/magento2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/httpd/magento_error.log
CustomLog /var/log/httpd/magento_access.log combined
</VirtualHost>

Sačuvajte promjene i izađite iz datoteke.

Zatim ponovo pokrenite Apache HTTP server

sudo systemctl restart httpd

Korak 7: Instalirajte Magento i postavite Magento Cron poslove

Da instalirate Magento, pokrenite sljedeću naredbu koja konfigurira novog korisnika, administratorskog korisnika i nekoliko drugih istaknutih varijabli.

sudo -u apache bin/magento setup:install --admin-firstname="james" --admin-lastname="kiarie" --admin-email="[email " --admin-user="admin" --admin-password="Secure@123" --db-name="magento_db" --db-host="localhost" --db-user="magento_user" --db-password="P@ssword@321" --language=en_US --currency=USD --timezone=Europe/London  --cleanup-database --base-url=http://"linuxtechgeek.info"

Na samom kraju, dobit ćete sljedeći izlaz koji daje putanju administratorske stranice.

Pre nego što pristupite Magentu iz pretraživača, konfigurišite SELinux smernice kao što je prikazano.

sudo restorecon -R /var/www/magento
sudo setsebool -P httpd_unified 1

Zatim otvorite pretraživač i otkucajte puni URL kao što je prikazano.

http://linuxtechgeek.info/admin_yquaor

Bićete preusmjereni na sljedeću stranicu za prijavu. Prijavite se koristeći administratorske vjerodajnice kao što je ranije navedeno i kliknite na ‘Prijava’.

Ovo vas vodi do kontrolne table Magento.

Odavde možete nastaviti kreirati svoju internet prodavnicu, upravljati cijenama artikala, fakturama i pratiti aktivnosti kupaca među mnogim drugim zadacima. Uspješno smo instalirali Magento na Rocky Linux i AlmaLinux.