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.