Yadda ake Sanya Magento akan Rocky Linux da AlmaLinux


An rubuta shi a cikin PHP, Magento sanannen tushen buɗaɗɗen tushe ne, kuma dandamalin eCommerce mai dacewa wanda ke ba da kasuwancin siyayyar kan layi. Yana amfani da tsarin tsarin PHP daban-daban kamar Symfony da Laminas don haɓaka ayyukan sa da amfani.

Magento yana ba ku kwamitin kula da Gudanarwa wanda ke taimaka muku ƙirƙirar kantin sayar da kan layi, sarrafa kasida, saka idanu kan ma'amaloli da daftari, da kuma lura da halayen sayan abokan ciniki tsakanin sauran ayyuka da yawa.

Ba tare da ƙarin jin daɗi ba, bari mu fara shigar da Magento akan Rocky Linux da AlmaLinux.

Don shigar da Magento cikin nasara, da farko, kuna buƙatar shigar da tarin LAMP akan:

  • Yadda ake shigar da Stack LAMP akan Rocky Linux
  • Yadda ake Sanya Stack LAMP a cikin AlmaLinux

Hakanan, tabbatar da cewa kuna da cikakken sunan yanki (FQDN) wanda ke nuni zuwa adireshin IP na jama'a na uwar garken. A cikin wannan jagorar, za mu yi amfani da yankin linuxtechgeek.info.

A ƙarshe, tabbatar da samun damar SSH tare da daidaita mai amfani sudo.

Mataki 1: Sanya ƙarin Modules na PHP da Sauran Dogara

Za mu fara tare da shigarwa na php modules waɗanda ake bukata don shigarwa na 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

Da zarar an shigar, kai kan kuma gyara fayil ɗin daidaitawar php.ini.

$ sudo vim /etc/php.ini

Tabbatar cewa ƙimar da aka bayar a ƙasa suna nuna abin da kuke da shi. Tabbas, saita ƙimar date.timezone daidai daidai da yankin lokacinku.

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

Ajiye canje-canje kuma fita.

Na gaba, kuna buƙatar shigar da tsawo na sodium na PHP - libsodium. Wannan tsari ne wanda ke ba da ayyukan ɓoyewa cikin sauƙi da inganci. Don shigar da tsarin, muna buƙatar shigar da ma'ajiyar EPEL wanda ke ba da ƙarin fakiti da abubuwan dogaro don tallafawa shigarwa.

Don shigar da EPEL, aiwatar da umarni:

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

Na gaba, shigar da ƙarin abubuwan dogaro.

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

Tare da duk fakiti da abin dogaro a wurin, shigar da libsodium PHP module ta hanyar aiwatar da umarni masu zuwa a wannan tsari.

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

Komawa zuwa fayil ɗin php.ini.

$ sudo vim /etc/php.ini 

Saka layi mai zuwa.

extension=sodium.so

Ajiye ku fita.

Don tabbatar da idan an shigar da sodium na PHP, gudanar da umarni:

$ php -i | grep sodium

Mai girma! Yanzu ci gaba zuwa mataki na gaba.

Mataki 2: Ƙirƙiri Database don Magento

Mataki na gaba ya ƙunshi ƙirƙirar bayanai da mai amfani da bayanai don Magento. Don haka, shiga cikin uwar garken bayanan MariaDB:

$ sudo mysql -u root -p

Ƙirƙiri bayanan bayanai da mai amfani da bayanai ta hanyar gudanar da tambayoyin SQL masu zuwa.

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

Bayan haka, Bada gata ga mai amfani da bayanan bayanai akan bayanan Magento.

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

A ƙarshe, ba da damar sauye-sauyen su yi tasiri ta hanyar sake loda teburin tallafi.

FLUSH PRIVILEGES;
EXIT;

A ƙasa akwai taƙaitaccen tambayoyin SQL.

Mataki 3: Shigar da Sanya Elasticsearch a cikin Linux

Mataki na gaba shine shigar da Elasticsearch. Wannan buɗaɗɗen tushen bincike ne da injin bincike da aka rarraba bisa Apache Lucene. Ana amfani da shi don bincika, adanawa da kuma nazarin ɗimbin ɗimbin bayanai cikin sauri da dacewa.

An rubuta Elasticsearch a cikin Java, kuma a matsayin buƙatu, muna buƙatar shigar da Java da farko. Za mu shigar da OpenJDK 11 wanda shine sabuwar barga na OpenJDK.

$ sudo dnf install openjdk-11-jdk -y

Da zarar an gama shigarwa na OpenJDK, tabbatar da shigar da sigar Java.

$ java -version

Na gaba, shigo da maɓallin Elasticsearch GPG.

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

Da zarar an yi, ƙirƙiri maajiyar don Elasticsearch.

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

Manna abun ciki mai zuwa.

[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

Ajiye canje-canje kuma fita fayil ɗin ma'auni na Elasticsearch.

Yanzu yi amfani da mai sarrafa fakitin DNF don shigar da bincike na elastick.

$ sudo dnf install elasticsearch

Ana buƙatar wasu ƙarin daidaitawa don Elasticsearch. Don haka shirya fayil ɗin elasticsearch.yml.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Ƙarfafa layukan da ke ƙasa kuma tabbatar da cewa an saita umarnin cibiyar sadarwa.host zuwa 127.0.0.1.

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

Ajiye canje-canje kuma fita fayil.

Yanzu, kunna sabis na Elasticsearch don farawa akan lokacin taya kuma fara sabis ta amfani da umarni masu zuwa.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Sannan tabbatar da matsayin Elasticsearch mai gudana.

$ sudo systemctl status elasticsearch

Bugu da ƙari, zaku iya gwada Elasticsearch ta hanyar aika buƙatar GET ta amfani da umarnin curl kamar yadda aka nuna.

$ curl -X GET ‘localhost:9200’

Ya kamata ku sami fitarwa mai zuwa a tsarin JSON.

Wannan tabbaci ne cewa an yi nasarar shigar da Elasticsearch.

Mataki na 4: Zazzagewa da Sanya Mawaƙi a cikin Linux

Mataki na gaba shine shigar da mawaki wanda shine manajan kunshin PHP. Don haka, da farko, zazzage fayil ɗin mai sakawa.

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

Sannan matsar da fayil ɗin zuwa hanyar /usr/local/bin/.

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

Don tabbatar da shigarwa, aiwatar da umarnin:

$ composer -V

Mataki 5: Zazzagewa kuma Sanya Magento a cikin Linux

Mataki na gaba shine don amfani da layin umarni wget, zazzage fayil ɗin shigarwa kamar haka.

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

Da zarar an sauke, cire abubuwan da ke cikin fayil ɗin ma'ajiya.

$ unzip 2.4.2.zip

Sa'an nan kuma matsar da directory ɗin da aka yanke zuwa tushen tushen daftarin aiki kuma a sake suna zuwa magento2 saboda sauƙi.

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

Sannan kewaya zuwa kundin adireshin magento

$ cd /var/www/html/magento2

Kuma yi amfani da mawaki don shigar da duk abin dogaro na PHP.

$ sudo /usr/local/bin/composer install

NOTE: Dole ne ku sami kuskure yayin amfani da sudo don gudanar da mawaki. Wannan gargadi ne kawai tun da mai yin waƙa kamar yadda tushen zai iya zama haɗari dangane da abin da aka shigar. Don haka kawai ci gaba da gudanar da shi duk da haka.

Da zarar an shigar da duk abin dogaro, saita izini masu zuwa don kundin adireshi na magento2.

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

Har yanzu a cikin kundin adireshin magento2, kira ƙarin izini masu zuwa.

$ 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

Mun gama da saita izini yanzu. Bari mu ci gaba kuma saita Apache don Magento.

Mataki 6: Ƙirƙiri Mai watsa shiri na Apache don Magento

Na gaba, za mu saita fayil ɗin mai masaukin baki na Apache don shigarwar Magento.

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

Manna fayil ɗin sanyi mai zuwa.

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

Ajiye canje-canje kuma fita fayil.

Sannan sake kunna uwar garken HTTP Apache

$ sudo systemctl restart httpd

Mataki 7: Shigar Magento kuma Saita Ayyukan Magento Cron

Don shigar da Magento, gudanar da umarni mai zuwa wanda ke saita sabon mai amfani, mai amfani da mai gudanarwa, da sauran manyan masu canji.

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"

A ƙarshe, zaku sami fitarwa mai zuwa wanda ke ba da hanyar shafin admin.

Kafin shiga Magento daga mai binciken, saita manufofin SELinux kamar yadda aka nuna.

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

Sa'an nan, bude browser da rubuta cikakken URL kamar yadda aka nuna.

http://linuxtechgeek.info/admin_yquaor

Za a tura ku zuwa shafin shiga mai zuwa. Shiga ta amfani da takardun shaidar gudanarwa kamar yadda aka ƙayyade a baya kuma danna kan 'Sign In'.

Wannan yana kai ku zuwa dashboard ɗin Magento.

Daga nan, za ku iya ci gaba don ƙirƙirar shagon ku na kan layi, sarrafa farashin kayayyaki, daftari da kiyaye ayyukan abokin ciniki tsakanin sauran ayyuka da yawa. Mun sami nasarar shigar da Magento akan Rocky Linux da AlmaLinux.