Com instal·lar Magento a Rocky Linux i AlmaLinux


Escrit en PHP, Magento és una popular plataforma de comerç electrònic de codi obert i versàtil que ofereix a les empreses un carretó de compres en línia. Aprofita diversos frameworks PHP com Symfony i Laminas per millorar la seva funcionalitat i usabilitat.

Magento us proporciona un tauler de control d'administrador que us ajuda a crear la vostra botiga en línia, gestionar el catàleg de productes, supervisar les transaccions i les factures i fer un seguiment del comportament de compra dels clients, entre moltes altres tasques.

Sense massa preàmbuls, comencem a instal·lar Magento a Rocky Linux i AlmaLinux.

Per instal·lar Magento amb èxit, primer de tot, cal tenir instal·lada una pila LAMP a:

  • Com instal·lar LAMP Stack a Rocky Linux
  • Com instal·lar LAMP Stack a AlmaLinux

A més, assegureu-vos que teniu un nom de domini totalment qualificat (FQDN) que apunta a l'adreça IP pública del servidor. En aquesta guia, utilitzarem el domini linuxtechgeek.info.

Finalment, assegureu-vos que teniu accés SSH amb un usuari sudo configurat.

Pas 1: instal·leu mòduls PHP addicionals i altres dependències

Començarem amb la instal·lació de mòduls php que són un requisit per a la instal·lació de 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

Un cop instal·lat, dirigiu-vos i editeu el fitxer de configuració php.ini.

$ sudo vim /etc/php.ini

Assegureu-vos que els valors proporcionats a continuació reflecteixin el que teniu. Per descomptat, configureu el vostre valor de data.timezone en conseqüència perquè es correspongui amb el vostre fus horari.

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

Deseu els canvis i sortiu.

A continuació, heu d'instal·lar l'extensió PHP sodium - libsodium. Aquest és un mòdul que proporciona funcionalitats de xifratge d'una manera fàcil i eficaç. Per instal·lar el mòdul, hem d'instal·lar el repositori EPEL que proporciona paquets i dependències addicionals per donar suport a la seva instal·lació.

Per instal·lar EPEL, executeu l'ordre:

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

A continuació, instal·leu dependències addicionals.

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

Amb tots els paquets i dependències al seu lloc, instal·leu el mòdul PHP de libsodium executant les ordres següents en aquest ordre.

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

Torneu al fitxer php.ini.

$ sudo vim /etc/php.ini 

Afegiu la línia següent.

extension=sodium.so

Guardar i sortir.

Per verificar si s'ha instal·lat PHP sodium, executeu l'ordre:

$ php -i | grep sodium

Genial! Ara procediu al següent pas.

Pas 2: creeu una base de dades per a Magento

El següent pas implica la creació d'una base de dades i un usuari de base de dades per a Magento. Per tant, inicieu sessió al servidor de bases de dades MariaDB:

$ sudo mysql -u root -p

Creeu una base de dades i un usuari de base de dades executant les consultes SQL següents.

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

A continuació, concediu privilegis a l'usuari de la base de dades a la base de dades Magento.

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

Finalment, permeteu que els canvis tinguin efecte tornant a carregar les taules de subvencions.

FLUSH PRIVILEGES;
EXIT;

A continuació es mostra un resum de les consultes SQL.

Pas 3: instal·leu i configureu Elasticsearch a Linux

El següent pas és instal·lar Elasticsearch. Aquest és un motor de cerca i anàlisi distribuït de codi obert basat en Apache Lucene. S'utilitza per cercar, emmagatzemar i analitzar grans volums de dades de manera ràpida i còmoda.

Elasticsearch està escrit en Java i, com a requisit previ, primer hem d'instal·lar Java. Instal·larem OpenJDK 11, que és l'última versió estable d'OpenJDK.

$ sudo dnf install openjdk-11-jdk -y

Un cop finalitzada la instal·lació d'OpenJDK, verifiqueu la versió de Java instal·lada.

$ java -version

A continuació, importeu la clau GPG d'Elasticsearch.

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

Un cop fet, creeu un repositori per a Elasticsearch.

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

Enganxeu el contingut següent.

[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

Deseu els canvis i sortiu del fitxer del repositori d'Elasticsearch.

Ara utilitzeu el gestor de paquets DNF per instal·lar elasticsearch.

$ sudo dnf install elasticsearch

Es requereix una configuració addicional per a Elasticsearch. Per tant, editeu el fitxer elasticsearch.yml.

$ sudo vim etc/elasticsearch/elasticsearch.yml

Descomenteu les línies a continuació i assegureu-vos que la directiva network.host estigui configurada en 127.0.0.1.

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

Deseu els canvis i sortiu del fitxer.

Ara, activeu el servei Elasticsearch perquè s'iniciï en el moment de l'arrencada i inicieu el servei mitjançant les ordres següents.

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

A continuació, verifiqueu l'estat d'execució d'Elasticsearch.

$ sudo systemctl status elasticsearch

A més, podeu provar Elasticsearch enviant una sol·licitud GET mitjançant l'ordre curl tal com es mostra.

$ curl -X GET ‘localhost:9200’

Hauríeu d'obtenir la següent sortida en format JSON.

Aquesta és una confirmació que Elasticsearch s'ha instal·lat correctament.

Pas 4: Baixeu i instal·leu Composer a Linux

El següent pas és instal·lar el compositor, que és un gestor de paquets PHP. Per tant, primer, descarregueu el fitxer d'instal·lació.

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

A continuació, moveu el fitxer a la ruta /usr/local/bin/.

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

Per confirmar la instal·lació, executeu l'ordre:

$ composer -V

Pas 5: Baixeu i instal·leu Magento a Linux

El següent pas és la utilitat de línia d'ordres wget, descarregueu el fitxer d'instal·lació de la següent manera.

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

Un cop descarregat, extreu el contingut del fitxer d'arxiu.

$ unzip 2.4.2.zip

A continuació, moveu el directori descomprimit al directori arrel del document i canvieu-lo el nom a magento2 per simplicitat.

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

A continuació, aneu al directori magento

$ cd /var/www/html/magento2

I utilitzeu el compositor per instal·lar totes les dependències de PHP.

$ sudo /usr/local/bin/composer install

NOTA: Obligat a rebre un error quan feu servir sudo per executar el compositor. Això és només una advertència, ja que executar el compositor com a root pot ser arriscat depenent del que s'està instal·lant. Així que només heu de continuar i executar-lo, tanmateix.

Un cop instal·lades totes les dependències, establiu els permisos següents per al directori magento2.

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

Encara al directori magento2, invoqueu els següents permisos addicionals.

$ 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

Ja hem acabat amb la configuració dels permisos. Continuem i configurem Apache per a Magento.

Pas 6: creeu un host virtual Apache per a Magento

A continuació, configurarem un fitxer d'amfitrió virtual d'Apache per a la instal·lació de Magento.

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

Enganxeu el següent fitxer de configuració.

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

Deseu els canvis i sortiu del fitxer.

A continuació, reinicieu el servidor HTTP Apache

$ sudo systemctl restart httpd

Pas 7: instal·leu Magento i configureu els treballs Cron de Magento

Per instal·lar Magento, executeu l'ordre següent que configura un usuari nou, un usuari administrador i diverses altres variables destacades.

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"

Al final, obtindreu la següent sortida que proporciona el camí de la pàgina d'administració.

Abans d'accedir a Magento des del navegador, configureu les polítiques de SELinux tal com es mostra.

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

A continuació, obriu el navegador i escriviu l'URL complet tal com es mostra.

http://linuxtechgeek.info/admin_yquaor

Se us redirigirà a la següent pàgina d'inici de sessió. Inicieu la sessió amb les credencials d'administrador tal com s'ha especificat anteriorment i feu clic a Iniciar sessió.

Això us porta al tauler de control de Magento.

Des d'aquí, podeu procedir a crear la vostra botiga en línia, gestionar els preus dels articles, les factures i fer un seguiment de l'activitat dels clients entre moltes altres tasques. Hem instal·lat Magento amb èxit a Rocky Linux i AlmaLinux.