Kako namestiti Magento na Rocky Linux in AlmaLinux


Magento, napisan v PHP, je priljubljena odprtokodna in vsestranska platforma za e-trgovino, ki podjetjem ponuja spletni nakupovalni voziček. Za izboljšanje svoje funkcionalnosti in uporabnosti uporablja različne okvire PHP, kot sta Symfony in Laminas.

Magento vam ponuja skrbniško nadzorno ploščo, ki vam pomaga ustvariti svojo spletno trgovino, upravljati katalog izdelkov, spremljati transakcije in račune ter spremljati nakupovalno vedenje strank med številnimi drugimi opravili.

Brez veliko odlašanja se lotimo namestitve Magenta na Rocky Linux in AlmaLinux.

Za uspešno namestitev Magenta morate najprej imeti nameščen sklad LAMP na:

  • Kako namestiti LAMP Stack na Rocky Linux
  • Kako namestiti sklad LAMP v AlmaLinux

Prav tako zagotovite, da imate popolnoma kvalificirano ime domene (FQDN), ki kaže na javni naslov IP strežnika. V tem priročniku bomo uporabljali domeno linuxtechgeek.info.

Nazadnje se prepričajte, da imate dostop do SSH s konfiguriranim uporabnikom sudo.

1. korak: Namestite dodatne module PHP in druge odvisnosti

Začeli bomo z namestitvijo php modulov, ki so pogoj za namestitev Magenta.

$ 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

Ko je nameščen, pojdite in uredite konfiguracijsko datoteko php.ini.

$ sudo vim /etc/php.ini

Prepričajte se, da spodnje vrednosti odražajo, kar imate. Seveda nastavite svojo vrednost date.timezone tako, da ustreza vašemu časovnemu pasu.

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

Shranite spremembe in zapustite.

Nato morate namestiti razširitev natrija PHP – libsodium. To je modul, ki zagotavlja funkcionalnosti šifriranja na enostaven in učinkovit način. Za namestitev modula moramo namestiti repozitorij EPEL, ki nudi dodatne pakete in odvisnosti za podporo njegove namestitve.

Če želite namestiti EPEL, izvedite ukaz:

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

Nato namestite dodatne odvisnosti.

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

Ko so vsi paketi in odvisnosti na mestu, namestite modul libsodium PHP tako, da zaženete naslednje ukaze v tem vrstnem redu.

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

Vrnite se na datoteko php.ini.

$ sudo vim /etc/php.ini 

Dodajte naslednjo vrstico.

extension=sodium.so

Shrani in zapusti.

Če želite preveriti, ali je bil PHP natrijev nameščen, zaženite ukaz:

$ php -i | grep sodium

Super! Zdaj nadaljujte z naslednjim korakom.

2. korak: Ustvarite bazo podatkov za Magento

Naslednji korak vključuje ustvarjanje baze podatkov in uporabnika baze podatkov za Magento. Zato se prijavite v strežnik baze podatkov MariaDB:

$ sudo mysql -u root -p

Ustvarite bazo podatkov in uporabnika baze podatkov tako, da zaženete naslednje poizvedbe SQL.

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

Nato dodelite privilegije uporabniku baze podatkov v bazi podatkov Magento.

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

Končno omogočite, da spremembe začnejo veljati, tako da znova naložite tabele odobritev.

FLUSH PRIVILEGES;
EXIT;

Spodaj je povzetek poizvedb SQL.

3. korak: Namestite in konfigurirajte Elasticsearch v Linuxu

Naslednji korak je namestitev Elasticsearch. To je odprtokodni porazdeljeni iskalni in analitični motor, ki temelji na Apache Lucene. Uporablja se za hitro in priročno iskanje, shranjevanje in analiziranje velikih količin podatkov.

Elasticsearch je napisan v Javi in kot predpogoj moramo najprej namestiti Javo. Namestili bomo OpenJDK 11, ki je najnovejša stabilna različica OpenJDK.

$ sudo dnf install openjdk-11-jdk -y

Ko je namestitev OpenJDK končana, preverite nameščeno različico Jave.

$ java -version

Nato uvozite ključ Elasticsearch GPG.

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

Ko končate, ustvarite repozitorij za Elasticsearch.

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

Prilepite naslednjo vsebino.

[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

Shranite spremembe in zapustite datoteko repozitorija Elasticsearch.

Zdaj uporabite upravitelja paketov DNF za namestitev elasticsearch.

$ sudo dnf install elasticsearch

Za Elasticsearch je potrebna dodatna konfiguracija. Zato uredite datoteko elasticsearch.yml.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Odkomentirajte spodnje vrstice in zagotovite, da je direktiva network.host nastavljena na 127.0.0.1.

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

Shranite spremembe in zaprite datoteko.

Zdaj omogočite, da se storitev Elasticsearch zažene ob zagonu, in zaženite storitev z naslednjimi ukazi.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Nato preverite stanje delovanja Elasticsearch.

$ sudo systemctl status elasticsearch

Poleg tega lahko preizkusite Elasticsearch tako, da pošljete zahtevo GET z ukazom curl, kot je prikazano.

$ curl -X GET ‘localhost:9200’

Dobiti bi morali naslednji izhod v obliki JSON.

To je potrditev, da je bil Elasticsearch uspešno nameščen.

4. korak: Prenesite in namestite Composer v Linux

Naslednji korak je namestitev skladatelja, ki je upravitelj paketov PHP. Torej, najprej prenesite namestitveno datoteko.

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

Nato premaknite datoteko na pot /usr/local/bin/.

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

Za potrditev namestitve izvedite ukaz:

$ composer -V

5. korak: Prenesite in namestite Magento v Linux

Naslednji korak je pripomoček ukazne vrstice wget, prenesite namestitveno datoteko, kot sledi.

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

Po prenosu izvlecite vsebino arhivske datoteke.

$ unzip 2.4.2.zip

Nato premaknite razpakirani imenik v korenski imenik dokumenta in ga zaradi preprostosti preimenujte v magento2.

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

Nato se pomaknite do imenika magento

$ cd /var/www/html/magento2

In uporabite composer za namestitev vseh odvisnosti PHP.

$ sudo /usr/local/bin/composer install

OPOMBA: Pri uporabi sudo za zagon composerja boste zagotovo dobili napako. To je le opozorilo, saj je izvajanje skladatelja kot root lahko tvegano, odvisno od tega, kaj je nameščeno. Zato nadaljujte in kljub temu zaženite.

Ko so vse odvisnosti nameščene, nastavite naslednja dovoljenja za imenik magento2.

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

Še vedno v imeniku magento2 pokličite naslednja dodatna dovoljenja.

$ 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

Zdaj smo končali z nastavitvijo dovoljenj. Nadaljujmo in konfigurirajmo Apache za Magento.

6. korak: Ustvarite virtualnega gostitelja Apache za Magento

Nato bomo konfigurirali datoteko virtualnega gostitelja Apache za namestitev Magento.

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

Prilepite naslednjo konfiguracijsko datoteko.

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

Shranite spremembe in zaprite datoteko.

Nato znova zaženite strežnik HTTP Apache

$ sudo systemctl restart httpd

7. korak: Namestite Magento in nastavite opravila Magento Cron

Če želite namestiti Magento, zaženite naslednji ukaz, ki konfigurira novega uporabnika, skrbniškega uporabnika in več drugih pomembnih spremenljivk.

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

Na samem koncu boste dobili naslednji izhod, ki bo zagotovil pot skrbniške strani.

Preden dostopate do Magenta iz brskalnika, konfigurirajte pravilnike SELinux, kot je prikazano.

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

Nato odprite brskalnik in vnesite celoten URL, kot je prikazano.

http://linuxtechgeek.info/admin_yquaor

Preusmerjeni boste na naslednjo stran za prijavo. Prijavite se s skrbniškimi poverilnicami, kot je bilo prej določeno, in kliknite »Prijava«.

To vas pripelje do nadzorne plošče Magento.

Od tu lahko nadaljujete z ustvarjanjem svoje spletne trgovine, upravljanjem cen artiklov, računov in spremljanjem dejavnosti strank med številnimi drugimi opravili. Magento smo uspešno namestili na Rocky Linux in AlmaLinux.