Ricerca nel sito web

Come installare Magento su Rocky Linux e AlmaLinux


Scritto in PHP, Magento è una popolare piattaforma di e-commerce open source e versatile che fornisce alle aziende un carrello degli acquisti online. Sfrutta vari framework PHP come Symfony e Laminas per migliorarne la funzionalità e l'usabilità.

Magento ti fornisce un pannello di controllo dell'amministratore che ti aiuta a creare il tuo negozio online, gestire il catalogo prodotti, monitorare transazioni e fatture e tenere traccia del comportamento di acquisto dei clienti tra molte altre attività.

Senza ulteriori indugi, iniziamo con l'installazione di Magento su Rocky Linux e AlmaLinux.

Prerequisiti

Per installare con successo Magento, prima di tutto, è necessario avere uno stack LAMP installato su:

  • Come installare LAMP Stack su Rocky Linux
  • Come installare lo stack LAMP in AlmaLinux

Inoltre, assicurati di disporre di un nome di dominio completo (FQDN) che punti all'indirizzo IP pubblico del server. In questa guida utilizzeremo il dominio linuxtechgeek.info.

Infine, assicurati di avere accesso SSH con un utente sudo configurato.

Passaggio 1: installa moduli PHP aggiuntivi e altre dipendenze

Inizieremo con l'installazione dei moduli php che sono un requisito per l'installazione di 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

Una volta installato, vai e modifica il file di configurazione php.ini.

sudo vim /etc/php.ini

Assicurati che i valori forniti di seguito riflettano ciò che hai. Naturalmente, imposta il valore date.timezone di conseguenza in modo che corrisponda al tuo fuso orario.

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

Salva le modifiche ed esci.

Successivamente, devi installare l'estensione PHP Sodium: libsodium. Questo è un modulo che fornisce funzionalità di crittografia in modo semplice ed efficace. Per installare il modulo, dobbiamo installare il repository EPEL che fornisce pacchetti e dipendenze aggiuntivi per supportarne l'installazione.

Per installare EPEL, esegui il comando:

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

Successivamente, installa dipendenze aggiuntive.

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

Con tutti i pacchetti e le dipendenze a posto, installa il modulo PHP libsodium eseguendo i seguenti comandi in quest'ordine.

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

Torna al file php.ini.

sudo vim /etc/php.ini 

Aggiungi la riga seguente.

extension=sodium.so

Salva ed esci.

Per verificare se PHP Sodium è stato installato eseguire il comando:

php -i | grep sodium

Grande! Ora procedi al passaggio successivo.

Passaggio 2: crea un database per Magento

Il passo successivo prevede la creazione di un database e di un utente del database per Magento. Accedi quindi al server database MariaDB:

sudo mysql -u root -p

Creare un database e un utente del database eseguendo le seguenti query SQL.

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

Successivamente, concedi i privilegi all'utente del database sul database Magento.

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

Infine, consenti alle modifiche di avere effetto ricaricando le tabelle delle sovvenzioni.

FLUSH PRIVILEGES;
EXIT;

Di seguito è riportato un riepilogo delle query SQL.

Passaggio 3: installa e configura Elasticsearch in Linux

Il passaggio successivo è installare Elasticsearch. Si tratta di un motore di ricerca e analisi distribuito open source basato su Apache Lucene. Viene utilizzato per cercare, archiviare e analizzare enormi volumi di dati in modo rapido e conveniente.

Elasticsearch è scritto in Java e, come prerequisito, dobbiamo prima installare Java. Installeremo OpenJDK 11 che è l'ultima versione stabile di OpenJDK.

sudo dnf install openjdk-11-jdk -y

Una volta completata l'installazione di OpenJDK, verifica la versione di Java installata.

java -version

Successivamente, importa la chiave GPG Elasticsearch.

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

Una volta terminato, crea un repository per Elasticsearch.

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

Incolla il seguente contenuto.

[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

Salva le modifiche e chiudi il file del repository Elasticsearch.

Ora utilizza il gestore pacchetti DNF per installare elasticsearch.

sudo dnf install elasticsearch

Sono necessarie alcune configurazioni aggiuntive per Elasticsearch. Quindi modifica il file elasticsearch.yml.

sudo vim etc/elasticsearch/elasticsearch.yml

Decommenta le righe seguenti e assicurati che la direttiva network.host sia impostata su 127.0.0.1.

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

Salvare le modifiche ed uscire dal file.

Ora abilita l'avvio del servizio Elasticsearch all'avvio e avvia il servizio utilizzando i seguenti comandi.

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Quindi verificare lo stato di esecuzione di Elasticsearch.

sudo systemctl status elasticsearch

Inoltre, puoi testare Elasticsearch inviando una richiesta GET utilizzando il comando curl come mostrato.

curl -X GET ‘localhost:9200’

Dovresti ottenere il seguente output in formato JSON.

Questa è una conferma che Elasticsearch è stato installato correttamente.

Passaggio 4: scarica e installa Composer in Linux

Il prossimo passo è installare compositore che è un gestore di pacchetti PHP. Quindi, per prima cosa, scarica il file di installazione.

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

Quindi sposta il file nel percorso /usr/local/bin/.

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

Per confermare l'installazione eseguire il comando:

composer -V

Passaggio 5: scarica e installa Magento su Linux

Il prossimo passo è scaricare il file zip Magento. Attualmente, l'ultima versione è Magento 2.4.2. Utilizzando l'utilità della riga di comando wget, scaricare il file di installazione come segue.

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

Una volta scaricato, estrai il contenuto del file di archivio.

unzip 2.4.2.zip

Quindi sposta la directory decompressa nella directory root del documento e rinominala in magento2 per semplicità.

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

Quindi vai alla directory magento

cd /var/www/html/magento2

E usa il compositore per installare tutte le dipendenze PHP.

sudo /usr/local/bin/composer install

NOTA: potresti ricevere un errore quando usi sudo per eseguire il compositore. Questo è semplicemente un avvertimento poiché eseguire Composer come root può essere rischioso a seconda di cosa viene installato. Quindi procedi ed eseguilo comunque.

Una volta installate tutte le dipendenze, imposta le seguenti autorizzazioni per la directory magento2.

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

Sempre nella directory magento2, invoca le seguenti autorizzazioni aggiuntive.

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

Ora abbiamo finito di impostare le autorizzazioni. Procediamo e configuriamo Apache per Magento.

Passaggio 6: crea un host virtuale Apache per Magento

Successivamente, configureremo un file host virtuale Apache per l'installazione di Magento.

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

Incolla il seguente file di configurazione.

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

Salvare le modifiche ed uscire dal file.

Quindi riavviare il server HTTP Apache

sudo systemctl restart httpd

Passaggio 7: installa Magento e configura Magento Cron Jobs

Per installare Magento, esegui il seguente comando che configura un nuovo utente, un utente amministratore e diverse altre variabili salienti.

sudo -u apache bin/magento setup:install --admin-firstname="james" --admin-lastname="kiarie" --admin-email="[email " --admin-user="admin" --admin-password="Secure@123" --db-name="magento_db" --db-host="localhost" --db-user="magento_user" --db-password="P@ssword@321" --language=en_US --currency=USD --timezone=Europe/London  --cleanup-database --base-url=http://"linuxtechgeek.info"

Alla fine, otterrai il seguente output che fornisce il percorso della pagina di amministrazione.

Prima di accedere a Magento dal browser, configura le policy SELinux come mostrato.

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

Quindi, apri il browser e digita l'URL completo come mostrato.

http://linuxtechgeek.info/admin_yquaor

Verrai reindirizzato alla seguente pagina di accesso. Accedi utilizzando le credenziali di amministratore come specificato in precedenza e fai clic su "Accedi".

Questo ti introduce nella dashboard di Magento.

Da qui puoi procedere alla creazione del tuo negozio online, gestire i prezzi degli articoli, le fatture e tenere traccia dell'attività dei clienti tra molte altre attività. Abbiamo installato con successo Magento su Rocky Linux e AlmaLinux.