Ricerca nel sito web

Installazione della piattaforma di e-commerce Magento con Apache2 e Lets Encrypt su Ubuntu 20.04


Su questa pagina

  1. Prerequisiti
  2. Installa il server LAMP
  3. Configura database MariaDB
  4. Scarica Magento
  5. Configura Apache per Magento
  6. Proteggi Magento con Lets Encrypt SSL
  7. Accedi al sito web di Magento
  8. Conclusione

Magento è un'applicazione web di e-commerce gratuita e open source che ti consente di creare un negozio di e-commerce completamente funzionante in pochi minuti. È scritto in PHP e combina potenti funzionalità con flessibilità e un'interfaccia user-friendly. È una delle soluzioni più popolari per i negozi online self-hosted grazie alla sua semplicità e al potente pannello di amministrazione. Viene fornito con un ricco set di funzionalità tra cui gestione del sito, SEO, gestione del catalogo, navigazione di prodotti e cataloghi, gestione degli ordini, checkout, promozioni e strumenti di conversione e molto altro.

In questo tutorial, ti mostreremo come installare la piattaforma di e-commerce Magento con Apache e Lets Encrypt SSL su Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04 con 4 GB di RAM.
  • Un nome di dominio valido indirizzato al tuo server.
  • Una password di root è configurata sul tuo server.

Installa LAMP Server

Magento gira sul server web, scritto in PHP, e utilizza MariaDB come database. Quindi dovrai installare uno stack LAMP nel tuo server.

Innanzitutto, installa il server web Apache e il server MariaDB con il seguente comando:

apt-get install apache2 mariadb-server mariadb-client -y

L'ultima versione di Magento è compatibile solo con PHP 7.1.3+ e 7.2.x. Quindi dovrai installare le versioni PHP supportate con le estensioni richieste nel tuo server.

Per impostazione predefinita, Ubuntu 20.04 viene fornito con PHP versione 7.4. Quindi dovrai aggiungere Ondrej PPA nel tuo sistema per installare altre versioni di PHP.

Puoi aggiungere Ondrej PHP PPA con il seguente comando:

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

Successivamente, aggiorna il repository e installa PHP con altre estensioni richieste utilizzando il seguente comando:

apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y

Una volta terminato, puoi procedere al passaggio successivo.

Configura database MariaDB

Per impostazione predefinita, MariaDB non è protetto. Quindi è una buona idea proteggere e impostare la password di root di MariaDB. Puoi farlo con il seguente comando:

mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una volta che MariaDB è protetto, accedi alla shell MariaDB:

mysql -u root -p

Fornisci la tua password di root MariaDB, quindi crea un database e un utente per Magento:

MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

Successivamente, concedi tutti i privilegi al database Magento con il seguente comando:

MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Quindi, svuota i privilegi ed esci dalla shell MariaDB usando il seguente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Al termine, puoi procedere al passaggio successivo.

Scarica Magento

Al momento della stesura di questo tutorial, l'ultima versione di Magento è la 2.3.5. Puoi scaricarlo dalla pagina di download ufficiale di Magento.

Una volta scaricato, estrai il file scaricato nella directory root web di Apache con il seguente comando:

mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/

Quindi, dai la proprietà e l'autorizzazione appropriate alla directory magento:

chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/

Al termine, puoi procedere al passaggio successivo.

Configura Apache per Magento

Successivamente, crea un nuovo file di configurazione dell'host virtuale Apache per servire il sito Web Magento.

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

Aggiungi le seguenti righe:

<VirtualHost *:80>
     ServerAdmin 
     DocumentRoot /var/www/html/magento/
     ServerName magento.linuxbuz.com
     <Directory /var/www/html/magento/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salva e chiudi il file, quindi abilita l'host virtuale Magento e il modulo di riscrittura Apache con il seguente comando:

a2ensite magento.conf
a2enmod rewrite

Infine, riavvia il servizio Apache per implementare le modifiche:

systemctl restart apache2

A questo punto, il web server Apache è configurato per servire Magento.

Proteggi Magento con Lets Encrypt SSL

È sempre una buona idea proteggere il tuo sito web con Lets Encrypt SSL gratuito. Innanzitutto, installa il client Certbot nel tuo server per scaricare e configurare Lets Encrypt SSL per il tuo sito web.

apt-get install certbot python3-certbot-apache -y

Una volta installato Certbot, esegui il seguente comando per scaricare e installare Lets Encrypt SSL per il tuo sito web:

certbot --apache -d magento.linuxbuz.com

Ti verrà chiesto di fornire la tua email valida e di accettare i termini di servizio come mostrato di seguito:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf

Successivamente, ti verrà chiesto di scegliere se reindirizzare o meno il traffico HTTP su HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Digita 2 e premi Invio per completare l'installazione.

Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Accedi al sito web di Magento

A questo punto, il tuo sito web Magento è protetto con Lets Encrypt SSL.

Ora apri il tuo browser web e digita l'URL https://magento.linuxbuz.com. Verrai reindirizzato alla procedura guidata di installazione basata sul web di Magento:

Fare clic sul pulsante Accetta e configura Magento. Dovresti vedere la schermata Magento Readiness:

Fare clic sul pulsante Avvia verifica disponibilità. Una volta completato il controllo di prontezza, dovresti vedere la seguente schermata:

Fare clic sul pulsante Avanti. Dovresti vedere la schermata di configurazione del database:

Fornisci il nome del database Magento, il nome utente del database, la password e fai clic sul pulsante Avanti. Dovresti vedere la procedura guidata di configurazione web di Magento:

Fornisci il tuo Magento Store e l'indirizzo di amministrazione, abilita HTTPS e fai clic sul pulsante Avanti. Dovresti vedere la schermata di personalizzazione del negozio:

Impostare il fuso orario, la valuta, la lingua preferiti e fare clic sul pulsante Avanti. Dovresti vedere la schermata di creazione dell'utente amministratore:

Fornisci il nome utente, l'e-mail, la password dell'amministratore e fai clic sul pulsante Avanti. Dovresti vedere la seguente schermata:

Fare clic sul pulsante Installa ora per avviare l'installazione. Una volta che l'installazione è stata completata con successo, dovresti vedere la seguente schermata:

Clicca sull'indirizzo dell'amministratore di Magento. Dovresti vedere la pagina di amministrazione di Magento:

Fornisci il nome utente e la password dell'amministratore di Magento e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Magento nella seguente schermata:

Puoi anche accedere allo store Magento utilizzando l'URL https://magento.linuxbuz.com. Dovresti vedere la seguente schermata:

Conclusione

Congratulazioni! hai installato correttamente Magento con Lets Encrypt SSL su Ubuntu 20.04. Ora puoi implementare facilmente il tuo negozio online. Non esitate a chiedermi se avete domande.