Wéi installéiere ech Magento op Rocky Linux an AlmaLinux


Geschriwwen a PHP, Magento ass eng populär Open-Source, a villsäiteg ECommerce Plattform déi Geschäfter mat engem Online Shopping Weenchen ubitt. Et benotzt verschidde PHP Kaderen wéi Symfony a Laminas fir seng Funktionalitéit an Usability ze verbesseren.

Magento bitt Iech e Administrator Kontrollpanel deen Iech hëlleft Ären Online Shop ze kreéieren, Produktkatalog ze managen, Transaktiounen a Rechnungen ze iwwerwaachen, a verfollegen d'Kafverhalen vun de Clienten ënner villen aneren Aufgaben.

Ouni vill weider Ado, loosst eis ufänken Magento op Rocky Linux an AlmaLinux z'installéieren.

Fir Magento erfollegräich z'installéieren, musst Dir als éischt e LAMP Stack installéieren op:

  • Wéi installéiere ech LAMP Stack op Rocky Linux
  • Wéi installéiere ech LAMP Stack an AlmaLinux

Gitt och sécher datt Dir e komplett qualifizéierten Domain Numm (FQDN) hutt, deen op d'ëffentlech IP Adress vum Server weist. An dësem Guide wäerte mir den linuxtechgeek.info Domain benotzen.

Schlussendlech, gitt sécher datt Dir SSH Zougang hutt mat engem sudo Benotzer konfiguréiert.

Schrëtt 1: Zousätzlech PHP Moduler an aner Ofhängegkeeten installéieren

Mir fänken un mat der Installatioun vu php Moduler déi e Fuerderung fir d'Installatioun vu Magento sinn.

$ 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

Eemol installéiert, gitt op an ännert d'php.ini Konfiguratiounsdatei.

$ sudo vim /etc/php.ini

Vergewëssert Iech datt d'Wäerter hei ënnen reflektéieren wat Dir hutt. Selbstverständlech, stellt Ären date.timezone-Wäert deementspriechend fest fir Är Zäitzone ze entspriechen.

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

Späichert d'Ännerungen a gitt eraus.

Als nächst musst Dir d'PHP Natrium Extensioun installéieren - libsodium. Dëst ass e Modul deen Verschlësselungsfunktionalitéiten op eng einfach an effektiv Manéier ubitt. Fir de Modul z'installéieren, musse mir den EPEL Repository installéieren, deen zousätzlech Packagen an Ofhängegkeeten ubitt fir seng Installatioun z'ënnerstëtzen.

Fir EPEL z'installéieren, fuert de Kommando aus:

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

Als nächst, installéiert zousätzlech Ofhängegkeeten.

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

Mat all de Packagen an Ofhängegkeeten op der Plaz, installéiert de Libsodium PHP Modul andeems Dir déi folgend Kommandoen an där Uerdnung ausféiert.

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

Gitt zréck an d'php.ini Datei.

$ sudo vim /etc/php.ini 

Fëllt déi folgend Linn un.

extension=sodium.so

Retten an Sortie.

Fir z'iwwerpréiwen ob PHP Natrium installéiert ass, lafen de Kommando:

$ php -i | grep sodium

Super! Fuert elo op den nächste Schrëtt.

Schrëtt 2: Erstellt Datebank fir Magento

De nächste Schrëtt beinhalt d'Schafe vun enger Datebank an engem Datebank Benotzer fir Magento. Dofir loggt Iech op de MariaDB Datebankserver un:

$ sudo mysql -u root -p

Erstellt eng Datebank an e Datebank Benotzer andeems Dir déi folgend SQL Ufroen ausféiert.

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

Als nächst gitt Privilegien un den Datebank Benotzer op der Magento Datebank.

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

Endlech, aktivéiert d'Ännerunge fir a Kraaft ze trieden andeems Dir Subventiounstabellen nei lued.

FLUSH PRIVILEGES;
EXIT;

Drënner ass e Resumé vun de SQL Ufroen.

Schrëtt 3: Elasticsearch op Linux installéieren a konfiguréieren

De nächste Schrëtt ass Elasticsearch z'installéieren. Dëst ass en Open-Source verdeelt Sich- an Analysemotor baséiert op Apache Lucene. Et gëtt benotzt fir grouss Bänn vun Daten séier a bequem ze sichen, ze späicheren an ze analyséieren.

Elasticsearch ass op Java geschriwwen, an als Viraussetzung musse mir als éischt Java installéieren. Mir wäerten OpenJDK 11 installéieren wat déi lescht stabil Versioun vun OpenJDK ass.

$ sudo dnf install openjdk-11-jdk -y

Wann d'Installatioun vun OpenJDK fäerdeg ass, kontrolléiert d'Versioun vum Java installéiert.

$ java -version

Als nächst importéiert den Elasticsearch GPG Schlëssel.

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

Eemol gemaach, erstellt e Repository fir Elasticsearch.

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

Paste de folgenden Inhalt.

[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

Späichert d'Ännerungen a gitt aus der Elasticsearch Repository Datei.

Benotzt elo den DNF Package Manager fir elasticsearch z'installéieren.

$ sudo dnf install elasticsearch

E puer zousätzlech Konfiguratioun ass erfuerderlech fir Elasticsearch. Also ännert d'elasticsearch.yml Datei.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Kommentéiert d'Zeilen hei drënner a vergewëssert Iech datt d'Network.host Direktiv op 127.0.0.1 gesat gëtt.

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

Späichert d'Ännerungen a gitt d'Datei aus.

Elo aktivéiert den Elasticsearch Service fir op Bootzäit unzefänken an de Service mat de folgende Kommandoen unzefänken.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Da verifizéiert de Lafen Status vun Elasticsearch.

$ sudo systemctl status elasticsearch

Zousätzlech kënnt Dir Elasticsearch testen andeems Dir eng GET Ufro schéckt mat dem Curl Kommando wéi gewisen.

$ curl -X GET ‘localhost:9200’

Dir sollt de folgenden Output am JSON Format kréien.

Dëst ass eng Bestätegung datt Elasticsearch erfollegräich installéiert gouf.

Schrëtt 4: Eroflueden an installéieren Composer op Linux

De nächste Schrëtt ass de Komponist z'installéieren deen e PHP Package Manager ass. Also, als éischt, luet d'Installatiounsdatei erof.

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

Da réckelt d'Datei op de /usr/local/bin/ Wee.

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

Fir d'Installatioun ze bestätegen, fuert de Kommando aus:

$ composer -V

Schrëtt 5: Luet an installéiere Magento op Linux

De nächste Schrëtt ass d'Wget Kommandozeil Utility, luet d'Installatiounsdatei wéi follegt erof.

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

Eemol erofgelueden, extrahéiert den Inhalt vun der Archivdatei.

$ unzip 2.4.2.zip

Beweegt dann den dekompriméierten Verzeechnes an den Dokumentroot Verzeichnis an ëmbenennen et op magento2 fir d'Einfachheet.

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

Da navigéiert an de Magento Verzeichnis

$ cd /var/www/html/magento2

A benotzt de Komponist fir all PHP Ofhängegkeeten z'installéieren.

$ sudo /usr/local/bin/composer install

NOTÉIERT: Dir sidd gebonnen e Feeler ze kréien wann Dir Sudo benotzt fir de Komponist ze lafen. Dëst ass just eng Warnung well de Komponist als Root lafen ka riskant sinn ofhängeg vun deem wat installéiert gëtt. Also just weider a lafen et trotzdem.

Wann all Ofhängegkeeten installéiert sinn, setze déi folgend Permissiounen fir de Magento2 Verzeichnis.

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

Nach ëmmer am Magento2 Verzeichnis, ruffen déi folgend zousätzlech Permissiounen op.

$ 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

Mir sinn fäerdeg mat der Permissiounen ze setzen elo. Loosst eis weidergoen an Apache fir Magento konfiguréieren.

Schrëtt 6: Erstellt en Apache Virtual Host fir Magento

Als nächst wäerte mir eng Apache virtuell Hostdatei fir Magento Installatioun konfiguréieren.

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

Paste déi folgend Konfiguratiounsdatei.

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

Späichert d'Ännerungen a gitt d'Datei aus.

Da starten den Apache HTTP Server nei

$ sudo systemctl restart httpd

Schrëtt 7: Magento installéieren an Magento Cron Jobs opsetzen

Fir Magento z'installéieren, fuert de folgende Kommando aus, deen en neie Benotzer konfiguréiert, en Admin Benotzer, a verschidde aner wichteg Variablen.

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"

Um Enn kritt Dir de folgenden Output deen den Admin Säit Wee ubitt.

Ier Dir Magento vum Browser zougitt, konfiguréiert SELinux Politiken wéi gewisen.

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

Dann, öffnen de Browser a gitt déi voll URL wéi gewisen.

http://linuxtechgeek.info/admin_yquaor

Dir wäert op déi folgend Login Säit ëmgeleet ginn. Mellt Iech un mat den Admin-Umeldungsinformatiounen wéi virdru spezifizéiert a klickt op 'Umellen'.

Dëst féiert Iech op de Magento Dashboard.

Vun hei aus kënnt Dir weidergoen fir Ären Online Shop ze kreéieren, Artikelpräisser ze managen, Rechnungen a verfollegen d'Clientaktivitéit ënner villen aneren Aufgaben. Mir hunn erfollegräich Magento op Rocky Linux an AlmaLinux installéiert.