Kif Tinstalla Magento fuq Rocky Linux u AlmaLinux


Miktub bil-PHP, Magento hija pjattaforma popolari ta' kummerċ elettroniku b'sors miftuħ u versatili li tipprovdi lin-negozji b'karrettun tax-xiri onlajn. Jisfrutta diversi oqfsa PHP bħal Symfony u Laminas biex itejjeb il-funzjonalità u l-użabilità tiegħu.

Magento jagħtik pannell tal-kontroll tal-Amministratur li jgħinek toħloq il-ħanut online tiegħek, timmaniġġja l-katalgu tal-prodotti, timmonitorja t-tranżazzjonijiet u l-fatturi, u żżomm kont tal-imġiba tax-xiri tal-klijenti fost ħafna kompiti oħra.

Mingħajr ħafna aktar dewmien, ejja nibdew ninstallaw Magento fuq Rocky Linux u AlmaLinux.

Biex tinstalla b'suċċess Magento, l-ewwelnett, jeħtieġ li jkollok munzell LAMP installat fuq:

  • Kif Tinstalla LAMP Stack fuq Rocky Linux
  • Kif Tinstalla LAMP Stack f'AlmaLinux

Ukoll, kun żgur li għandek isem tad-dominju kwalifikat bis-sħiħ (FQDN) li jindika l-indirizz IP pubbliku tas-server. F'din il-gwida, se nużaw id-dominju linuxtechgeek.info.

Fl-aħħar nett, kun żgur li għandek aċċess SSH b'utent sudo kkonfigurat.

Pass 1: Installa Moduli PHP Addizzjonali u Dipendenzi Oħra

Nibdew bl-installazzjoni ta 'moduli PHP li huma rekwiżit għall-installazzjoni ta' Magento.

$ 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

Ladarba tkun installata, ras fuq u editja l-fajl tal-konfigurazzjoni php.ini.

$ sudo vim /etc/php.ini

Kun żgur li l-valuri pprovduti hawn taħt jirriflettu dak li għandek. Naturalment, issettja l-valur tad-data.timezone tiegħek kif xieraq biex jikkorrispondi maż-żona tal-ħin tiegħek.

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

Issejvja l-bidliet u ħruġ.

Sussegwentement, għandek bżonn tinstalla l-estensjoni tas-sodju PHP - libsodium. Dan huwa modulu li jipprovdi funzjonalitajiet ta' kriptaġġ b'mod faċli u effettiv. Biex ninstallaw il-modulu, irridu ninstallaw ir-repożitorju EPEL li jipprovdi pakketti u dipendenzi addizzjonali biex isostni l-installazzjoni tiegħu.

Biex tinstalla EPEL, eżegwixxi l-kmand:

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

Sussegwentement, installa dipendenzi addizzjonali.

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

Bil-pakketti u d-dipendenzi kollha f'posthom, installa l-modulu PHP libsodium billi tħaddem il-kmandi li ġejjin f'dik l-ordni.

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

Ras lura għall-fajl php.ini.

$ sudo vim /etc/php.ini 

Ehmeż il-linja li ġejja.

extension=sodium.so

Issejvja u oħroġ.

Biex tivverifika jekk PHP sodium kienx installat ħaddem il-kmand:

$ php -i | grep sodium

Kbir! Issa ipproċedi għall-pass li jmiss.

Pass 2: Oħloq Database għal Magento

Il-pass li jmiss jinvolvi l-ħolqien ta 'database u utent ta' database għal Magento. Għalhekk, idħol fis-server tad-database MariaDB:

$ sudo mysql -u root -p

Oħloq database u utent tad-database billi tħaddem il-mistoqsijiet SQL li ġejjin.

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

Sussegwentement, Agħti privileġġi lill-utent tad-database fuq id-database Magento.

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

Fl-aħħarnett, ippermetti li l-bidliet jidħlu fis-seħħ billi terġa' tgħabbi t-tabelli tal-għotjiet.

FLUSH PRIVILEGES;
EXIT;

Hawn taħt hemm sommarju tal-mistoqsijiet SQL.

Pass 3: Installa u Ikkonfigura Elasticsearch fil-Linux

Il-pass li jmiss huwa li tinstalla Elasticsearch. Din hija magna ta' tfittxija u analitika distribwita b'sors miftuħ ibbażata fuq Apache Lucene. Hija użata biex tfittex, taħżen u tanalizza volumi kbar ta 'dejta malajr u b'mod konvenjenti.

Elasticsearch huwa miktub f'Java, u bħala prerekwiżit, jeħtieġ li ninstallaw Java l-ewwel. Se ninstallaw OpenJDK 11 li hija l-aħħar verżjoni stabbli ta 'OpenJDK.

$ sudo dnf install openjdk-11-jdk -y

Ladarba l-installazzjoni ta 'OpenJDK titlesta, ivverifika l-verżjoni ta' Java installata.

$ java -version

Sussegwentement, importa ċ-ċavetta Elasticsearch GPG.

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

Ladarba jsir, oħloq repożitorju għal Elasticsearch.

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

Paste l-kontenut li ġej.

[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

Issejvja l-bidliet u oħroġ mill-fajl tar-repożitorju ta 'Elasticsearch.

Issa uża l-maniġer tal-pakkett DNF biex tinstalla elasticsearch.

$ sudo dnf install elasticsearch

Xi konfigurazzjoni addizzjonali hija meħtieġa għal Elasticsearch. Allura editja l-fajl elasticsearch.yml.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Neħħi l-kumment tal-linji hawn taħt u żgura li d-direttiva network.host hija ssettjata għal 127.0.0.1.

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

Issejvja l-bidliet u oħroġ mill-fajl.

Issa, ppermetti lis-servizz Elasticsearch jibda fil-ħin tal-ibbutjar u ibda s-servizz billi tuża l-kmandi li ġejjin.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Imbagħad ivverifika l-istatus tat-tħaddim ta 'Elasticsearch.

$ sudo systemctl status elasticsearch

Barra minn hekk, tista 'tittestja Elasticsearch billi tibgħat talba GET billi tuża l-kmand curl kif muri.

$ curl -X GET ‘localhost:9200’

Għandek tikseb l-output li ġej fil-format JSON.

Din hija konferma li Elasticsearch ġie installat b'suċċess.

Pass 4: Niżżel u Installa Composer fil-Linux

Il-pass li jmiss huwa li tinstalla kompożitur li huwa maniġer tal-pakkett PHP. Allura, l-ewwel, niżżel il-fajl tal-installatur.

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

Imbagħad mexxi l-fajl lejn il-mogħdija /usr/local/bin/.

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

Biex tikkonferma l-installazzjoni, eżegwixxi l-kmand:

$ composer -V

Pass 5: Niżżel u Installa Magento fil-Linux

Il-pass li jmiss huwa li wget l-utilità tal-linja tal-kmand, niżżel il-fajl tal-installazzjoni kif ġej.

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

Ladarba titniżżel, iġbed il-kontenut tal-fajl tal-arkivju.

$ unzip 2.4.2.zip

Imbagħad ċċaqlaq id-direttorju dekompressat fid-direttorju tal-għeruq tad-dokument u semmieh għall-magento2 għall-fini tas-sempliċità.

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

Imbagħad innaviga lejn id-direttorju tal-magento

$ cd /var/www/html/magento2

U uża kompożitur biex tinstalla d-dipendenzi kollha tal-PHP.

$ sudo /usr/local/bin/composer install

NOTA: Inti marbut li tikseb żball meta tuża sudo biex tmexxi kompożitur. Din hija biss twissija peress li t-tħaddim ta' kompożitur bħala root jista' jkun riskjuż skont dak li jkun qed jiġi installat. Allura sempliċement ipproċedi u mexxiha xorta waħda.

Ladarba d-dipendenzi kollha jkunu installati, issettja l-permessi li ġejjin għad-direttorju magento2.

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

Għadha fid-direttorju magento2, invoka l-permessi addizzjonali li ġejjin.

$ 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

Għamilna l-issettjar tal-permessi issa. Ejja nipproċedu u kkonfiguraw Apache għal Magento.

Pass 6: Oħloq Host Virtwali Apache għal Magento

Sussegwentement, aħna ser tikkonfigura fajl ospitanti virtwali Apache għall-installazzjoni ta 'Magento.

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

Paste l-fajl tal-konfigurazzjoni li ġej.

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

Issejvja l-bidliet u oħroġ mill-fajl.

Imbagħad erġa ibda s-server Apache HTTP

$ sudo systemctl restart httpd

Pass 7: Installa Magento u Stabbilixxi Magento Cron Jobs

Biex tinstalla Magento, ħaddem il-kmand li ġej li jikkonfigura utent ġdid, utent amministratur, u diversi varjabbli oħra importanti.

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"

Fl-aħħar nett, int se tikseb l-output li ġej li jipprovdi l-mogħdija tal-paġna tal-amministratur.

Qabel ma taċċessa Magento mill-browser, ikkonfigura l-politiki SELinux kif muri.

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

Imbagħad, iftaħ il-browser u ittajpja l-URL sħiħ kif muri.

http://linuxtechgeek.info/admin_yquaor

Int ser tiġi ridirett lejn il-paġna tal-login li ġejja. Idħol billi tuża l-kredenzjali ta’ l-amministratur kif speċifikat qabel u kklikkja fuq ‘Sign In’.

Dan iwassalk għad-dashboard ta 'Magento.

Minn hawn, tista' tipproċedi biex toħloq il-ħanut online tiegħek, timmaniġġja l-prezzijiet tal-oġġetti, il-fatturi u żżomm kont tal-attività tal-klijent fost ħafna kompiti oħra. Installajna b'suċċess Magento fuq Rocky Linux u AlmaLinux.