Magento-ny Rocky Linux we AlmaLinux-da nädip gurmaly


PHP-de ýazylan Magento meşhur açyk çeşme we işewürlere onlaýn söwda arabasy bilen üpjün edýän köpugurly elektron söwda platformasydyr. Onuň işleýşini we ulanylyşyny ýokarlandyrmak üçin “Symfony” we “Laminas” ýaly dürli PHP çarçuwalaryny ulanýar.

Magento size onlaýn dükanyňyzy döretmäge, önümleriň katalogyny dolandyrmaga, amallara we hasap-fakturalara gözegçilik etmäge we müşderileriň satyn alyş häsiýetlerini yzarlamaga kömek edýän Dolandyryjy dolandyryş paneli bilen üpjün edýär.

Mundan başga-da, “Rocky Linux” we “AlmaLinux” -da Magento gurnamaga başlalyň.

Magento-ny üstünlikli gurmak üçin ilki bilen LAMP stakasy bolmaly:

  • “Rocky Linux” -da LAMP Stackini nädip gurmaly
  • AlmaLinux-da LAMP stakasyny nädip gurmaly

Şeýle hem, serweriň umumy IP adresini görkezýän doly hünärli domen adyňyzyň (FQDN) bardygyna göz ýetiriň. Bu gollanmada linuxtechgeek.info domenini ulanarys.

Iň soňunda bolsa, düzülen sudo ulanyjysy bilen SSH elýeterliligiňize göz ýetiriň.

1-nji ädim: Goşmaça PHP modullaryny we beýleki baglylyklary guruň

Magento-ny gurnamak üçin zerur bolan php modullaryny gurmak bilen başlarys.

$ 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

Gurlandan soň, php.ini konfigurasiýa faýlyna başlaň we redaktirläň.

$ sudo vim /etc/php.ini

Aşakda görkezilen bahalaryň özüňizde barlygyny görkezýändigine göz ýetiriň. Elbetde, wagt guşagyňyza görä senäňizi kesgitläň.

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

Üýtgeşmeleri ýazdyryň we çykyň.

Ondan soň, PHP natriý giňeltmesini - libsodium gurmaly. Bu şifrlemek funksiýalaryny aňsat we täsirli görnüşde üpjün edýän modul. Moduly gurmak üçin, gurnamagy goldamak üçin goşmaça paketleri we garaşlylygy üpjün edýän EPEL ammaryny gurmalydyrys.

EPEL gurmak üçin buýrugy ýerine ýetiriň:

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

Ondan soň goşmaça baglylyklary guruň.

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

Packhli paketler we garaşlylyklar ýerinde, aşakdaky buýruklary tertipde işledip, libsodium PHP modulyny guruň.

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

Php.ini faýlyna dolan.

$ sudo vim /etc/php.ini 

Aşakdaky setiri goşuň.

extension=sodium.so

Saklaň we çykyň.

PHP natriýiniň gurnalandygyny ýa-da ýokdugyny barlamak üçin buýrugy işlediň:

$ php -i | grep sodium

Gowy! Indiki ädime geçiň.

2-nji ädim: Magento üçin maglumat bazasyny dörediň

Indiki ädim Magento üçin maglumat bazasyny we maglumat bazasyny ulanyjyny döretmegi öz içine alýar. Şonuň üçin MariaDB maglumat bazasynyň serwerine giriň:

$ sudo mysql -u root -p

Aşakdaky SQL talaplaryny işledip, maglumat bazasy we maglumat bazasy ulanyjysyny dörediň.

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

Ondan soň, Magento maglumatlar bazasyndaky maglumat bazasynyň ulanyjysyna artykmaçlyklar beriň.

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

Netijede, üýtgeşmeleri grant tablisalaryny täzeden ýüklemek arkaly güýje girmäge mümkinçilik beriň.

FLUSH PRIVILEGES;
EXIT;

Aşakda SQL talaplarynyň gysgaça mazmuny.

3-nji ädim: Linux-da Elasticsearch-y guruň we sazlaň

Indiki ädim “Elasticsearch” -y gurmakdyr. Bu, Apache Lusene esaslanýan açyk çeşme paýlanan gözleg we seljeriş motory. Uly göwrümli maglumatlary çalt we amatly gözlemek, saklamak we derňemek üçin ulanylýar.

Elastik gözleg Java-da ýazylýar we deslapky şert hökmünde ilki Java gurmaly. OpenJDK 11-iň iň soňky durnukly wersiýasy bolan OpenJDK 11 gurmakçy.

$ sudo dnf install openjdk-11-jdk -y

OpenJDK gurnamak gutaransoň, gurlan Java wersiýasyny barlaň.

$ java -version

Ondan soň, Elasticsearch GPG düwmesini import ediň.

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

Doneerine ýetirilenden soň, “Elasticsearch” üçin ammar dörediň.

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

Aşakdaky mazmuny goýuň.

[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

Üýtgeşmeleri ýazdyryň we “Elasticsearch” ammar faýlyndan çykyň.

Indi elastik gözleg gurmak üçin DNF paket dolandyryjysyny ulanyň.

$ sudo dnf install elasticsearch

“Elasticsearch” üçin käbir goşmaça konfigurasiýa zerur. Şonuň üçin elasticsearch.yml faýlyny redaktirläň.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Aşakdaky setirleri aýyryň we network.host direktiwasynyň 127.0.0.1-e gabat gelendigine göz ýetiriň.

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

Üýtgeşmeleri ýazdyryň we faýldan çykyň.

Indi, “Elasticsearch” hyzmatyny açmak wagtyndan başlap, aşakdaky buýruklary ulanyp hyzmaty başlaň.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Soňra “Elasticsearch” -yň işleýän ýagdaýyny barlaň.

$ sudo systemctl status elasticsearch

Mundan başga-da, görkezilişi ýaly curl buýrugyny ulanyp, GET haýyşyny iberip, Elasticsearch-ny synap bilersiňiz.

$ curl -X GET ‘localhost:9200’

Aşakdaky çykyşy JSON formatda almaly.

Bu, “Elasticsearch” -yň üstünlikli gurlandygyny tassyklaýar.

4-nji ädim: Kompozitory Linux-a göçürip alyň

Indiki ädim, PHP paket dolandyryjysy bolan kompozitor gurmak. Şonuň üçin ilki bilen gurnaýjy faýly göçürip alyň.

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

Soňra faýly/usr/ýerli/bin/ýoluna geçiriň.

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

Gurluşy tassyklamak üçin buýrugy ýerine ýetiriň:

$ composer -V

5-nji ädim: Magento-ny Linux-a göçürip alyň

Indiki ädim, buýruk setiriniň peýdalylygyny wget etmek, gurnama faýlyny aşakdaky ýaly göçürip almak.

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

Göçürilenden soň, arhiw faýlynyň mazmunyny çykaryň.

$ unzip 2.4.2.zip

Soňra dekompressirlenen katalogy resminamanyň kök katalogyna geçiriň we ýönekeýligi üçin magento2 adyna üýtgediň.

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

Soňra magento katalogyna geçiň

$ cd /var/www/html/magento2

PHP baglylyklaryny gurmak üçin kompozitor ulanyň.

$ sudo /usr/local/bin/composer install

ÜNS BERI .: Kompozitory işletmek üçin sudo ulananyňyzda ýalňyşlyk almaly bolarsyňyz. Bu diňe duýduryş, sebäbi gurnalan zatlara baglylykda kök töwekgelçilikli bolup biler. Şonuň üçin dowam ediň we muňa garamazdan işlediň.

Dependhli baglylyklar gurlansoň, magento2 katalogy üçin aşakdaky rugsatlary belläň.

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

Entegem magento2 katalogynda aşakdaky goşmaça rugsatlary ulanyň.

$ 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

Rugsatlary bellemek bilen gutardyk. Geliň, Magento üçin Apache düzeliň.

6-njy ädim: Magento üçin Apache wirtual hostyny dörediň

Ondan soň Magento gurmak üçin Apache wirtual host faýly düzeris.

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

Aşakdaky konfigurasiýa faýlyny goýuň.

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

Üýtgeşmeleri ýazdyryň we faýldan çykyň.

Soňra Apache HTTP serwerini täzeden açyň

$ sudo systemctl restart httpd

7-nji ädim: Magento guruň we Magento Cron işlerini düzüň

Magento-ny gurmak üçin täze ulanyjyny, administrator ulanyjysyny we başga-da birnäçe üýtgeýänleri düzýän aşakdaky buýrugy işlediň.

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"

Iň soňunda, administrator sahypasynyň ýoluny üpjün edýän aşakdaky çykyşy alarsyňyz.

Brauzerden Magento girmezden ozal, görkezilişi ýaly SELinux syýasatlaryny düzüň.

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

Soňra brauzeri açyň we görkezilişi ýaly doly URL ýazyň.

http://linuxtechgeek.info/admin_yquaor

Aşakdaky giriş sahypasyna ugrukdyrylarsyňyz. Öň görkezilişi ýaly administrator şahsyýet maglumatlaryny ulanyp giriň we Giriş -e basyň.

Bu sizi Magento dolandyryş paneline eltýär.

Bu ýerden onlaýn dükanyňyzy döredip, önümleriň bahalaryny, hasap-fakturalaryny dolandyryp we başga-da köp meseleleriň arasynda müşderiniň işjeňligini yzarlap bilersiňiz. Magento-ny Rocky Linux we AlmaLinux-da üstünlikli gurduk.