Jinsi ya Kufunga Magento kwenye Rocky Linux na AlmaLinux


Imeandikwa katika PHP, Magento ni chanzo huria maarufu, na jukwaa la eCommerce linalotumika sana ambalo hutoa biashara na rukwama ya ununuzi mtandaoni. Inatumia mifumo mbali mbali ya PHP kama vile Symfony na Laminas ili kuboresha utendakazi na utumiaji wake.

Magento hukupa paneli kidhibiti cha Msimamizi ambacho hukusaidia kuunda duka lako la mtandaoni, kudhibiti orodha ya bidhaa, kufuatilia miamala na ankara, na kufuatilia tabia ya ununuzi ya wateja kati ya kazi nyingine nyingi.

Bila ado zaidi, wacha tuanze kusakinisha Magento kwenye Rocky Linux na AlmaLinux.

Ili kusakinisha Magento kwa mafanikio, kwanza kabisa, unahitaji kuwa na safu ya LAMP iliyosanikishwa kwenye:

  • Jinsi ya Kusakinisha Rafu ya LAMP kwenye Rocky Linux
  • Jinsi ya Kusakinisha Rafu ya LAMP katika AlmaLinux

Pia, hakikisha kuwa una jina la kikoa lililohitimu kikamilifu (FQDN) linaloelekeza kwenye anwani ya IP ya umma ya seva. Katika mwongozo huu, tutatumia kikoa cha linuxtechgeek.info.

Mwishowe, hakikisha una ufikiaji wa SSH na mtumiaji wa sudo aliyesanidiwa.

Hatua ya 1: Sakinisha Moduli za Ziada za PHP na Vitegemezi Vingine

Tutaanza na usakinishaji wa moduli za php ambazo ni hitaji la usakinishaji wa 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

Mara baada ya kusakinishwa, kichwa juu na kuhariri php.ini faili ya usanidi.

$ sudo vim /etc/php.ini

Hakikisha kwamba thamani zilizotolewa hapa chini zinaonyesha kile ulicho nacho. Bila shaka, weka tarehe.timezone thamani yako ipasavyo ili kuendana na saa za eneo lako.

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

Hifadhi mabadiliko na uondoke.

Ifuatayo, unahitaji kufunga ugani wa sodiamu ya PHP - libsodium. Hii ni moduli ambayo hutoa utendaji wa usimbaji fiche kwa njia rahisi na bora. Ili kusakinisha moduli, tunahitaji kusakinisha hazina ya EPEL ambayo hutoa vifurushi vya ziada na vitegemezi ili kusaidia usakinishaji wake.

Ili kusakinisha EPEL, tekeleza amri:

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

Ifuatayo, sakinisha vitegemezi vya ziada.

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

Na vifurushi vyote na vitegemezi vilivyowekwa, sakinisha moduli ya PHP ya libsodium kwa kutekeleza amri zifuatazo kwa mpangilio huo.

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

Rudi kwenye faili ya php.ini.

$ sudo vim /etc/php.ini 

Ongeza mstari ufuatao.

extension=sodium.so

Hifadhi na uondoke.

Ili kuthibitisha ikiwa sodiamu ya PHP ilisakinishwa endesha amri:

$ php -i | grep sodium

Kubwa! Sasa endelea kwa hatua inayofuata.

Hatua ya 2: Unda Hifadhidata ya Magento

Hatua inayofuata inahusisha uundaji wa hifadhidata na mtumiaji wa hifadhidata kwa Magento. Kwa hivyo, ingia kwenye seva ya hifadhidata ya MariaDB:

$ sudo mysql -u root -p

Unda hifadhidata na mtumiaji wa hifadhidata kwa kuendesha maswali yafuatayo ya SQL.

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

Kisha, Toa mapendeleo kwa mtumiaji wa hifadhidata kwenye hifadhidata ya Magento.

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

Hatimaye, wezesha mabadiliko kutekelezwa kwa kupakia upya jedwali la ruzuku.

FLUSH PRIVILEGES;
EXIT;

Chini ni muhtasari wa maswali ya SQL.

Hatua ya 3: Sakinisha na Usanidi Elasticsearch katika Linux

Hatua inayofuata ni kusakinisha Elasticsearch. Hii ni injini ya utafutaji na uchanganuzi iliyosambazwa kwa chanzo huria kulingana na Apache Lucene. Inatumika kutafuta, kuhifadhi na kuchambua idadi kubwa ya data haraka na kwa urahisi.

Elasticsearch imeandikwa katika Java, na kama sharti, tunahitaji kusakinisha Java kwanza. Tutasakinisha OpenJDK 11 ambalo ni toleo la hivi punde thabiti la OpenJDK.

$ sudo dnf install openjdk-11-jdk -y

Mara usakinishaji wa OpenJDK utakapokamilika, thibitisha toleo la Java iliyosakinishwa.

$ java -version

Ifuatayo, ingiza kitufe cha Elasticsearch GPG.

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

Mara tu ukimaliza, unda hazina ya Elasticsearch.

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

Bandika maudhui yafuatayo.

[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

Hifadhi mabadiliko na uondoke kwenye faili ya hazina ya Elasticsearch.

Sasa tumia meneja wa kifurushi cha DNF kusakinisha elasticsearch.

$ sudo dnf install elasticsearch

Usanidi fulani wa ziada unahitajika kwa Elasticsearch. Kwa hivyo hariri faili ya elasticsearch.yml.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Toa maoni kwenye mistari iliyo hapa chini na uhakikishe kuwa maagizo ya network.host yamewekwa kuwa 127.0.0.1.

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

Hifadhi mabadiliko na uondoke kwenye faili.

Sasa, wezesha huduma ya Elasticsearch kuanza wakati wa kuwasha na uanzishe huduma kwa kutumia amri zifuatazo.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Kisha uthibitishe hali ya uendeshaji ya Elasticsearch.

$ sudo systemctl status elasticsearch

Kwa kuongeza, unaweza kujaribu Elasticsearch kwa kutuma ombi la GET kwa kutumia amri ya curl kama inavyoonyeshwa.

$ curl -X GET ‘localhost:9200’

Unapaswa kupata matokeo yafuatayo katika umbizo la JSON.

Huu ni uthibitisho kwamba Elasticsearch ilisakinishwa kwa ufanisi.

Hatua ya 4: Pakua na Usakinishe Mtunzi katika Linux

Hatua inayofuata ni kusakinisha mtunzi ambaye ni meneja wa kifurushi cha PHP. Kwa hiyo, kwanza, pakua faili ya kisakinishi.

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

Kisha uhamishe faili kwenye /usr/local/bin/ njia.

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

Ili kuthibitisha usakinishaji, tekeleza amri:

$ composer -V

Hatua ya 5: Pakua na Usakinishe Magento kwenye Linux

Hatua inayofuata ni wget matumizi ya mstari wa amri, pakua faili ya usakinishaji kama ifuatavyo.

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

Mara baada ya kupakuliwa, toa yaliyomo kwenye faili ya kumbukumbu.

$ unzip 2.4.2.zip

Kisha uhamishe saraka iliyopunguzwa kwenye saraka ya mizizi ya hati na uipe jina jipya kwa magento2 kwa ajili ya unyenyekevu.

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

Kisha nenda kwenye saraka ya magento

$ cd /var/www/html/magento2

Na utumie mtunzi kusanikisha utegemezi wote wa PHP.

$ sudo /usr/local/bin/composer install

KUMBUKA: Utalazimika kupata hitilafu unapotumia sudo kuendesha mtunzi. Hili ni onyo tu kwani kuendesha mtunzi kwani mzizi unaweza kuwa hatari kulingana na kile kinachosanikishwa. Hivyo tu kuendelea na kukimbia hata hivyo.

Mara tu utegemezi wote umewekwa, weka ruhusa zifuatazo za saraka ya magento2.

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

Bado kwenye saraka ya magento2, omba ruhusa zifuatazo za ziada.

$ 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

Tumemaliza kuweka ruhusa sasa. Wacha tuendelee na tusanidi Apache kwa Magento.

Hatua ya 6: Unda Apache Virtual Host kwa Magento

Ifuatayo, tutasanidi faili ya mwenyeji wa Apache kwa usakinishaji wa Magento.

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

Bandika faili ifuatayo ya usanidi.

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

Hifadhi mabadiliko na uondoke kwenye faili.

Kisha anzisha tena seva ya Apache HTTP

$ sudo systemctl restart httpd

Hatua ya 7: Sakinisha Magento na Usanidi Kazi za Magento Cron

Ili kusakinisha Magento, endesha amri ifuatayo ambayo inasanidi mtumiaji mpya, mtumiaji msimamizi, na vigeu vingine kadhaa muhimu.

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"

Mwishowe, utapata matokeo yafuatayo kutoa njia ya ukurasa wa msimamizi.

Kabla ya kufikia Magento kutoka kwa kivinjari, sanidi sera za SELinux kama inavyoonyeshwa.

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

Kisha, fungua kivinjari na uandike URL kamili kama inavyoonyeshwa.

http://linuxtechgeek.info/admin_yquaor

Utaelekezwa kwenye ukurasa ufuatao wa kuingia. Ingia kwa kutumia kitambulisho cha msimamizi kama ilivyobainishwa awali na ubofye 'Ingia'.

Hii inakuleta kwenye dashibodi ya Magento.

Kuanzia hapa, unaweza kuendelea kuunda duka lako la mtandaoni, kudhibiti bei za bidhaa, ankara na kufuatilia shughuli za wateja kati ya kazi nyingine nyingi. Tumefanikiwa kusakinisha Magento kwenye Rocky Linux na AlmaLinux.