GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Magento 2.4.5 su Ubuntu 22.04

Magento è una piattaforma di e-commerce open source scritta in PHP. Magento appartiene alle prime 3 piattaforme di e-commerce e una delle principali nel settore dell'e-commerce. Alcune delle funzionalità di base di Magento sono Gestione del prodotto, Gestione dell'inventario, Gestione degli ordini, Reporting e così via. Molte grandi organizzazioni scelgono Magento come piattaforma di e-commerce perché è altamente personalizzabile, scalabile, con sicurezza avanzata e seo friendly.

In questo tutorial ti guideremo su come installare Magento 2.4.5 su  Ubuntu 22.04.

Cominciamo.

1 Prerequisiti

  • Ubuntu 22.04
  • Almeno 2 GB di RAM o superiore

2 Aggiornamento del sistema

Prima di iniziare l'installazione dobbiamo aggiornare il nostro sistema.

sudo apt update -y && apt upgrade -y

3 Installazione di estensioni PHP ed PHP

La versione PHP richiesta per Magento 2.4.5 è PHP 8.1. In questa installazione utilizzeremo il repository Ubuntu 22.04 per installare PHP 8.1 poiché è la versione predefinita impostata. Installiamo PHP 8.1 e le estensioni richieste da Magento.

sudo apt install php libapache2-mod-php php-bcmath php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip php-cli

Modifichiamo alcuni dei valori PHP necessari per il corretto funzionamento di Magento.

Controlliamo prima la posizione del file di configurazione PHP.

sudo php --ini | grep "Loaded Configuration File"

Output:
Loaded Configuration File:         /etc/php/8.1/cli/php.i

Modifica il file di configurazione PHP.

sudo nano /etc/php/8.1/cli/php.ini

Modifica i file di configurazione con i seguenti valori.

memory_limit = 1G
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 18000
realpath_cache_size = 10M
realpath_cache_ttl = 7200

Salva il file di configurazione ed esci.

4 Installazione e configurazione del database

Magento 2.4.5 supporta MariaDB 10.4 o MySQL 8. In questa guida useremo MySQL 8.0.

Installiamo MySQL.

sudo apt install mysql-server

Proteggiamo l'installazione di MySQL, ma prima dobbiamo prima impostare la password di root di MySQL per evitare il problema di seguito:

... Fallito! Errore:SET PASSWORD non ha significato per l'utente 'root'@'localhost' poiché il metodo di autenticazione utilizzato non memorizza i dati di autenticazione nel server MySQL. Si prega di considerare l'utilizzo di ALTER USER invece se si desidera modificare i parametri di autenticazione .

Impostiamo la password di root di MySQL.

sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysecretpassword';
mysql> exit

Proteggiamo l'installazione di MySQL.

sudo mysql_secure_installation

Output:
Securing the MySQL server deployment.

Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Riavvia il servizio MySQL.

sudo systemctl restart mysql

Creiamo un database per la nostra istanza Magento.

sudo mysql -u root -p

Il comando richiederà di inserire la password di root MySQL.

Ma prima di procedere con la creazione di un database, cambiamo prima la politica della password in "LOW ” questo è facoltativo se non si desidera utilizzare la rigida politica della password.

mysql> SET GLOBAL validate_password.policy = 0;
 

Creiamo il database per Magento.

mysql> CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'mypassword';
mysql> GRANT ALL ON magento2.* TO 'magento_user'@'localhost';
mysql> flush privileges;
mysql> exit

5 Installazione di Elastic Search

A partire da Magento 2.4, tutte le installazioni devono essere configurate per utilizzare Elasticsearch.

Iniziamo l'installazione di Elasticsearch.

sudo apt install apt-transport-https ca-certificates gnupg2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
sudo apt update
sudo apt install elasticsearch

Avvia e abilita Elasticsearch.

sudo systemctl enable elasticsearch --now

Controlla lo stato.

sudo systemctl status elasticsearch

6 Installazione di Composer

Poiché Magento è basato su PHP e richiedeva diversi tipi di pacchetto per essere eseguito e per installare il pacchetto necessario per eseguire Magento, abbiamo bisogno di installare un gestore di pacchetti chiamato composer.

Per installare il compositore.

curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Controlla la versione.

sudo composer --version

Output:
Composer version 2.4.3 2022-10-14 16:56:41

7 Installazione e configurazione del server Web

Imposteremo Magento in Nginx e nel server web Apache.

Per Apache .

Prima installa il server web Apache.

sudo apt install apache2

Avvia e abilita Apache.

sudo systemctl enable apache2 --now

Ora configura un host virtuale.

sudo nano /etc/apache2/sites-available/magento.conf

Aggiungi il contenuto qui sotto.

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/">
AllowOverride all
</Directory>
</VirtualHost>

Salva il file ed esci.

Non dimenticare la modifica a domain.com al tuo dominio.

Abilitiamo l'host virtuale che abbiamo creato.

a2ensite magento.conf

Quindi abilita il modulo mod_rewrite.

a2enmod rewrite

Quindi riavvia Apache.

systemctl restart apache2

Per Nginx .

Installiamo prima Nginx.

sudo apt install nginx -y

Abilita e avvia Nginx.

sudo systemctl enable nginx --now

Crea un blocco server.

sudo nano /etc/nginx/sites-available/magento.conf

Inserisci quanto segue:

upstream fastcgi_backend {
server unix:/run/php/php8.1-fpm.sock;
}

server {
server_name domain.com www.domain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # for production change the developer to production

access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;

include /var/www/magento2/nginx.conf.sample;
}

Nota: Non dimenticare di modificare il "dominio.com “.

Salva il file ed esci.

Abilitiamo il file di configurazione Nginx (blocco server).

sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/

Riavvia Nginx.

sudo systemctl restart nginx

8 Scarica e installa Magento 2.4.5

Per la maggior parte dei casi si consiglia di installare Magento utilizzando Marketplace(https://marketplace.magento.com/) creando una chiave di accesso.

Per creare una chiave di accesso, procedi nel seguente modo.

  • Primo accesso al tuo account Marketplace
  • Vai a Nome->Il mio profilo
  • Vai a Marketplace->I miei prodotti->Chiavi di accesso
  • Nella scheda Magento 2, fai clic su "Crea una nuova chiave di accesso
  • Nel popup, inserisci un nome qualsiasi nella casella di testo, quindi fai clic su OK.
  • Hai finito e vedrai le chiavi di accesso generate.

Installiamo Magento 2.4.5

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 /var/www/magento2

Ti chiederà nome utente e password e il nome utente e la password sono la tua chiave_pubblica e chiave_privata rispettivamente.

Username: YOUR_PUBLIC_KEY
Password: YOUR_PRIVATE_KEY

Dopo aver inserito le informazioni di accesso, ti chiederà se desideri memorizzare le credenziali nel file locale, rispondi con sì.

Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y

Vai a Magento directory principale.

cd /var/www/magento2/

Ora esegui il comando di installazione di Magento 2.

bin/magento setup:install \
--base-url=http://domain.com \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento_user \
--db-password=mypassword \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=myadminpassword \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

Nota: Non dimenticare di modificare i valori (fare riferimento al testo in grassetto ) in base al tuo insieme di valori.

Dopo il processo di installazione vedrai il link di amministrazione per la tua istanza Magento 2.4.5.

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1lswn5
Nothing to import.

9 Imposta i lavori Cron e l'autorizzazione

Magento utilizza cron job per automatizzare alcune operazioni. Per configurare il cron Magento esegui questo comando.

sudo bin/magento cron:install

Ora correggiamo i permessi dei file della nostra directory Magento.

sudo chown -R www-data:www-data /var/www/magento2

La tua istanza Magento dovrebbe essere attiva e funzionante ora.

Nota: Se hai problemi ad accedere alla tua istanza Magento, devi disabilitare l'autenticazione a due fattori eseguendo il comando seguente:

sudo bin/magento module:disable Magento_TwoFactorAuth

Congratulazioni hai installato correttamente Magento 2.4.5  ora puoi accedere all'istanza di Magento su http://domain.com

10 Conclusione

In questo tutorial hai imparato come installare Magento 2.4.5 utilizzando un server web diverso. Se stai usando Ubuntu 22.04 puoi consultare il nostro articolo su Magento 2.4.4.


Ubuntu
  1. Come installare MySQL 8.0 in Ubuntu 18.04

  2. Come installare PHP su Ubuntu 18.04

  3. Come installare PHP 8.0 su Ubuntu 20.04 / Ubuntu 18.04

  4. Come installare PHP 7.2 su Ubuntu 16.04

  5. Come installare PHP 7.3 su Ubuntu 16.04

Come installare LAMP su Ubuntu 15.10

Come installare PHP 8.0 su Ubuntu 20.04 / 18.04

Come installare PHP in Ubuntu 22.04

Come installare Magento su Ubuntu 20.04

Come installare MySQL su Ubuntu 22.04

Come installare PHP su Ubuntu 22.04