Otu esi etinye Magento na Rocky Linux na AlmaLinux
Edere ya na PHP, Magento bụ ebe mepere emepe na-ewu ewu, yana ikpo okwu eCommerce dị iche iche na-enye azụmaahịa nwere ụgbọ ịzụ ahịa n'ịntanetị. Ọ na-eji usoro PHP dị iche iche dị ka Symfony na Laminas kwalite ọrụ ya na iji ya.
Magento na-enye gị njikwa njikwa nke onye nchịkwa na-enyere gị aka ịmepụta ụlọ ahịa dị n'ịntanetị, jikwaa katalọgụ ngwaahịa, nyochaa azụmahịa na akwụkwọ ọnụahịa, ma debe omume ịzụ ahịa nke ndị ahịa n'etiti ọtụtụ ọrụ ndị ọzọ.
Na-enweghị mmasị ọzọ, ka anyị malite ịwụnye Magento na Rocky Linux na AlmaLinux.
Iji wụnye Magento nke ọma, nke mbụ, ịkwesịrị itinye ngwugwu LAMP na:
- Etu esi etinye Stack LAMP na Rocky Linux
- Otu esi etinye Stack LAMP na AlmaLinux
Ọzọkwa, hụ na ị nwere aha ngalaba tozuru oke (FQDN) na-atụ aka na adreesị IP ọha nke sava ahụ. N'ime ntuziaka a, anyị ga-eji ngalaba linuxtechgeek.info
.
N'ikpeazụ, hụ na ị nwere ohere SSH na onye ọrụ sudo ahaziri.
Kwụpụ 1: Wụnye modul PHP ndị ọzọ na ndabere ndị ọzọ
Anyị ga-amalite na ntinye nke modul php nke bụ ihe achọrọ maka ntinye nke 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
Ozugbo arụnyere, gaba ma dezie faịlụ nhazi php.ini.
$ sudo vim /etc/php.ini
Gbaa mbọ hụ na ụkpụrụ enyere n'okpuru gosipụtara ihe ị nwere. N'ezie, tọọ ọnụ ahịa date.time zone gị ka ọ dabara na mpaghara oge gị.
memory_limit = 1024M upload_max_filesize = 256M zlib.output_compression = on max_execution_time = 18000 date.timezone = Europe/London
Chekwaa mgbanwe wee pụọ.
Na-esote, ịkwesịrị ịwụnye mgbakwunye sodium sodium PHP - libsodium. Nke a bụ modul na-enye ọrụ ezoro ezo n'ụzọ dị mfe ma dị irè. Iji wụnye modul ahụ, anyị kwesịrị ịwụnye ebe nchekwa EPEL nke na-enye ngwugwu ndị ọzọ na ndabere iji kwado ntinye ya.
Iji tinye EPEL, mebie iwu:
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Na-esote, wụnye ndabere agbakwunyere.
$ sudo dnf install php-cli libsodium php-pear php-devel libsodium-devel make
Site na ngwugwu niile na ịdabere na ya, wụnye modul libsodium PHP site na ịme iwu ndị a n'usoro ahụ.
$ sudo pecl channel-update pecl.php.net $ sudo pecl install libsodium
Gaa na faịlụ php.ini.
$ sudo vim /etc/php.ini
Tinye ahịrị na-esonụ.
extension=sodium.so
Chekwa ma pụọ.
Iji nyochaa ma ọ bụrụ na etinyere sodium sodium na-eme iwu a:
$ php -i | grep sodium
Nnukwu! Ugbu a gaa n'ihu na nzọụkwụ ọzọ.
Nzọụkwụ 2: Mepụta Database maka Magento
Nzọụkwụ ọzọ gụnyere ịmepụta nchekwa data na onye ọrụ nchekwa data maka Magento. Ya mere, banye na MariaDB nchekwa data nkesa:
$ sudo mysql -u root -p
Mepụta nchekwa data na onye ọrụ nchekwa data site n'ịgba ajụjụ SQL ndị a.
CREATE DATABASE magento_db; CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'password';
Na-esote, nye onye ọrụ nchekwa data ihe ùgwù na nchekwa data Magento.
GRANT ALL ON magento_db.* TO 'magento_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
N'ikpeazụ, mee ka mgbanwe ahụ nwee ike ịmalite site na ibugharị tebụl onyinye.
FLUSH PRIVILEGES; EXIT;
N'okpuru bụ nchịkọta nke ajụjụ SQL.
Kwụpụ 3: Wụnye ma hazie Elasticsearch na Linux
Nzọụkwụ ọzọ bụ ịwụnye Elasticsearch. Nke a bụ ihe nchọta na nyocha nkesa na-emepe emepe dabere na Apache Lucene. A na-eji ya chọọ, chekwaa na nyochaa nnukwu data ngwa ngwa na nke dabara adaba.
Edere Elasticsearch na Java, yana dịka ihe achọrọ, anyị kwesịrị ibu ụzọ tinye Java. Anyị ga-etinye OpenJDK 11 nke bụ ụdị OpenJDK kwụsiri ike kachasị ọhụrụ.
$ sudo dnf install openjdk-11-jdk -y
Ozugbo echichi nke OpenJDK zuru, nyochaa ụdị Java arụnyere.
$ java -version
Na-esote, bubata igodo Elasticsearch GPG.
$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ozugbo emechara, mepụta ebe nchekwa maka Elasticsearch.
$ sudo vim /etc/yum.repos.d/elasticsearch.repo
Tapawa ọdịnaya ndị a.
[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
Chekwaa mgbanwe ndị a wee pụọ na faịlụ nchekwa Elasticsearch.
Ugbu a jiri njikwa ngwugwu DNF ka ịwụnye elasticsearch.
$ sudo dnf install elasticsearch
Achọrọ ụfọdụ nhazi ọzọ maka Elasticsearch. Yabụ dezie faịlụ elasticsearch.yml.
$ sudo vim etc/elasticsearch/elasticsearch.yml
Ekwupụtaghị ahịrị ndị dị n'okpuru wee hụ na edobere ntuziaka onye ọrụ network na 127.0.0.1.
cluster.name: my-application node.name: node-1 path.data: /var/lib/elasticsearch network.host: 127.0.0.1
Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ.
Ugbu a, mee ka ọrụ Elasticsearch malite na oge buut wee malite ọrụ site na iji iwu ndị a.
$ sudo systemctl enable elasticsearch $ sudo systemctl start elasticsearch
Wee nyochaa ọnọdụ Elasticsearch na-agba ọsọ.
$ sudo systemctl status elasticsearch
Na mgbakwunye, ịnwere ike ịnwale Elasticsearch site na izipu arịrịọ GET site na iji iwu curl dị ka egosiri.
$ curl -X GET ‘localhost:9200’
Ị ga-enweta mmepụta na-esonụ na usoro JSON.
Nke a bụ nkwenye na arụnyere Elasticsearch nke ọma.
Kwụpụ 4: Budata na Wụnye Onye na-agụ egwu na Linux
Nzọụkwụ ọzọ bụ ịwụnye onye na-ede egwú bụ onye njikwa ngwugwu PHP. Ya mere, nke mbụ, budata faịlụ installer.
$ sudo curl -sS https://getcomposer.org/installer | php
Wee bugharịa faịlụ ahụ na /usr/local/bin/ path.
$ sudo mv composer.phar /usr/local/bin/composer
Iji kwado nrụnye, mebie iwu:
$ composer -V
Kwụpụ 5: Budata ma wụnye Magento na Linux
Nzọụkwụ na-esote bụ iji wget-line utility, budata faịlụ nrụnye dị ka ndị a.
$ wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.zip
Ozugbo ebudatara, wepụ ọdịnaya dị na faịlụ Archive.
$ unzip 2.4.2.zip
Mgbe ahụ, bugharịa ndekọ ahụ emebi emebi na ndekọ mgbọrọgwụ akwụkwọ wee nyegharịa ya magento2 maka ịdị mfe.
$ sudo mv magento2-* /var/www/html/magento2
Mgbe ahụ gaa na ndekọ ndekọ magento
$ cd /var/www/html/magento2
Ma jiri onye na-ede egwú wụnye ihe ndabere PHP niile.
$ sudo /usr/local/bin/composer install
IHE: Ị ga-enwerịrị mperi mgbe ị na-eji sudo na-eme ihe nkiri. Nke a bụ naanị ịdọ aka ná ntị ebe ọ bụ na onye na-ede egwú na-agba ọsọ dị ka mgbọrọgwụ nwere ike ịdị ize ndụ dabere n'ihe arụnyere. Yabụ naanị gaa n'ihu ma gbaa ya n'agbanyeghị.
Ozugbo etinyere ndabere niile, tọọ ikike ndị a maka ndekọ ndekọ magento2.
$ sudo chown -R apache:apache /var/www/html/magento2 $ sudo chmod 755 /var/www/html/magento2
Ka nọ na ndekọ ndekọ magento2, kpọọ ikikere ndị a ọzọ.
$ 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
Emechaala anyị site n'itinye ikike ugbu a. Ka anyị gaa n'ihu ma hazie Apache maka Magento.
Kwụpụ 6: Mepụta Apache Virtual Host maka Magento
Ọzọ, anyị ga-ahazi faịlụ nnabata Apache maka nrụnye Magento.
$ sudo vim /etc/httpd/conf.d/magento.conf
Tapawa faịlụ nhazi a.
<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>
Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ.
Mgbe ahụ malitegharịa ihe nkesa HTTP Apache
$ sudo systemctl restart httpd
Kwụpụ 7: Wụnye Magento wee tọọ ọrụ Magento Cron
Iji wụnye Magento, gbaa iwu na-esonụ nke na-ahazi onye ọrụ ọhụrụ, onye ọrụ nchịkwa na ọtụtụ mgbanwe ndị ọzọ dị egwu.
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 njedebe, ị ga-enweta mmepụta na-esonụ na-enye ụzọ nchịkwa nchịkwa.
Tupu ịnweta Magento site na ihe nchọgharị ahụ, hazie amụma SELinux dị ka egosiri.
$ sudo restorecon -R /var/www/magento $ sudo setsebool -P httpd_unified 1
Mgbe ahụ, mepee ihe nchọgharị ahụ wee pịnye URL zuru ezu dịka egosiri.
http://linuxtechgeek.info/admin_yquaor
A ga-atụgharị gị gaa na ibe nbanye na-esote. Jiri nzere nchịkwa banye na mbụ wee pịa 'Banye'.
Nke a na-eduga gị na dashboard Magento.
Site ebe a, ị nwere ike ịga n'ihu ịmepụta ụlọ ahịa dị n'ịntanetị, jikwaa ọnụ ahịa ihe, akwụkwọ ọnụahịa ma debe ọrụ ndị ahịa n'etiti ọtụtụ ọrụ ndị ọzọ. Anyị etinyela Magento nke ọma na Rocky Linux na AlmaLinux.