GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Magento su CentOS 8

Magento è una delle piattaforme di e-commerce open source più popolari che ti consente di creare siti Web di e-commerce e negozi online in pochi minuti. È scritto in PHP, basato su Zend Framework e utilizza il modello di database Entity Attribute Value (EAV) per memorizzare i dati. Viene fornito con un'interfaccia semplice e intuitiva che ti consente di personalizzare il tuo negozio online e vendere facilmente i tuoi prodotti e servizi.

In questo tutorial, ti mostreremo come installare la piattaforma eCommerce Magento su CentOS 8 con Let's Encrypt SSL gratuito.

Requisiti

  • Un server che esegue CentOS 8 con 2 GB di RAM.
  • Un nome di dominio valido puntato all'IP del tuo server.
  • Sul server è configurata una password di root.

Installa il server LEMP

Innanzitutto, installa il server Web Nginx, il server di database MariaDB, PHP e altre librerie PHP richieste eseguendo il comando seguente:

dnf install nginx mariadb-server php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip unzip git -y

Una volta installati tutti i pacchetti, avvia il servizio Nginx, MariaDB e PHP-FPM e abilita l'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm

Successivamente, dovrai modificare il file php.ini e modificare alcune impostazioni:

nano /etc/php.ini

Modifica le seguenti righe:

memory_limit =512M
upload_max_filesize = 200M
zlib.output_compression = On 
max_execution_time = 300 
date.timezone = Asia/Kolkata

Salva e chiudi il file quando hai finito.

Configura database

Per impostazione predefinita, MariaDB non è protetto, quindi dovrai prima proteggerlo. Esegui il seguente script per proteggere MariaDB:

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 terminato, accedi alla shell di MariaDB con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto, quindi crea un database e un utente per Magento come mostrato di seguito:

MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> GRANT ALL ON magentodb.* TO [email protected] IDENTIFIED BY 'password';

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

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Configura PHP-FPM per Magento

Successivamente, dovrai configurare il pool PHP-FPM per la tua istanza Magento. Puoi configurarlo creando il seguente file:

nano /etc/php-fpm.d/magento.conf

Aggiungi le seguenti righe:

[magento]
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Salva e chiudi il file, quindi riavvia il servizio PHP-FPM per implementare le modifiche:

systemctl restart php-fpm

Scarica Magento

Innanzitutto, scarica l'ultima versione di Magento dal repository Git usando il seguente comando:

cd /var/www/html
wget https://github.com/magento/magento2/archive/2.3.zip

Una volta scaricato, decomprimi il file scaricato come mostrato di seguito:

unzip 2.3.zip

Quindi, sposta la directory estratta su magento2 come mostrato di seguito:

mv magento2-2.3 magento2

Successivamente, dovrai installare Composer per installare le dipendenze PHP per Magento.

Puoi installare il Composer con il seguente comando:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Quindi, cambia la directory in magento2 e installa tutte le dipendenze Magento con il seguente comando:

cd /var/www/html/magento2
composer update
composer install

Successivamente, dovrai creare il crontab Magento per pianificare le attività. Puoi crearlo con il seguente comando:

./bin/magento cron:install

Puoi verificare crontab usando il seguente comando:

crontab -l

Dovresti ottenere il seguente output:

#~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log
#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f

Quindi, dai le autorizzazioni appropriate alla directory magento2:

chown -R nginx:nginx /var/www/html/magento2
chmod -R 755 /var/www/html/magento2

Configura Nginx per Magento

Successivamente, dovrai creare un file host virtuale Nginx per Magento. Puoi crearlo con il seguente comando:

nano /etc/nginx/conf.d/magento.conf

Aggiungi le seguenti righe:

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

server {
    listen 80;
    server_name magento.linuxbuz.com;

    set $MAGE_ROOT /var/www/html/magento2;
    set $MAGE_MODE developer;

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

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

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Nginx e PHP-FPM per implementare le modifiche:

systemctl restart php-fpm
systemctl restart nginx

Configura SELinux e Firewall

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai configurare SELinux affinché Magento funzioni correttamente.

Puoi configurare SELinux con il seguente comando:

semanage permissive -a httpd_t

Successivamente, dovrai creare una regola firewall per consentire il servizio HTTP e HTTPS da reti esterne. Puoi consentirlo con il seguente comando:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Proteggi Magento con Let's Encrypt SSL

Magento è ora installato e configurato. È ora di proteggerlo con Let's Encrypt SSL gratuito.

Per fare ciò, dovrai scaricare il client certbot sul tuo server. Puoi scaricare e impostare l'autorizzazione corretta eseguendo il comando seguente:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Ora, esegui il seguente comando per ottenere e installare un certificato SSL per il tuo sito Web Magento.

certbot-auto --nginx -d magento.linuxbuz.com

Il comando precedente installa prima tutte le dipendenze richieste come mostrato di seguito:

Installed:
  gcc-8.2.1-3.5.el8.x86_64                                                  mod_ssl-1:2.4.37-12.module_el8.0.0+185+5908b0db.x86_64             
  python3-virtualenv-15.1.0-18.module_el8.0.0+33+0a10c0e1.noarch            python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64           
  redhat-rpm-config-116-1.el8.0.1.noarch                                    augeas-libs-1.10.1-8.el8.x86_64                                    
  libffi-devel-3.1-18.el8.x86_64                                            openssl-devel-1:1.1.1-8.el8.x86_64                                 
  annobin-8.64-1.el8.x86_64                                                 cpp-8.2.1-3.5.el8.x86_64                                           
  dwz-0.12-9.el8.x86_64                                                     efi-srpm-macros-3-2.el8.noarch                                     
  ghc-srpm-macros-1.4.2-7.el8.noarch                                        go-srpm-macros-2-16.el8.noarch                                     
  isl-0.16.1-6.el8.x86_64                                                   libmpc-1.0.2-9.el8.x86_64                                          
  ocaml-srpm-macros-5-4.el8.noarch                                          openblas-srpm-macros-2-2.el8.noarch                                
  perl-srpm-macros-1-25.el8.noarch                                          platform-python-devel-3.6.8-2.el8_0.0.1.x86_64                     
  python-rpm-macros-3-37.el8.noarch                                         python-srpm-macros-3-37.el8.noarch                                 
  python3-rpm-generators-5-4.el8.noarch                                     python3-rpm-macros-3-37.el8.noarch                                 
  qt5-srpm-macros-5.11.1-2.el8.noarch                                       rust-srpm-macros-5-2.el8.noarch                                    
  glibc-devel-2.28-42.el8.1.x86_64                                          glibc-headers-2.28-42.el8.1.x86_64                                 
  kernel-headers-4.18.0-80.11.2.el8_0.x86_64                                keyutils-libs-devel-1.5.10-6.el8.x86_64                            
  krb5-devel-1.16.1-22.el8.x86_64                                           libcom_err-devel-1.44.3-2.el8.x86_64                               
  libkadm5-1.16.1-22.el8.x86_64                                             libselinux-devel-2.8-6.el8.x86_64                                  
  libsepol-devel-2.8-2.el8.x86_64                                           libverto-devel-0.3.0-5.el8.x86_64                                  
  libxcrypt-devel-4.1.1-4.el8.x86_64                                        pcre2-devel-10.32-1.el8.x86_64                                     
  pcre2-utf16-10.32-1.el8.x86_64                                            pcre2-utf32-10.32-1.el8.x86_64                                     
  zlib-devel-1.2.11-10.el8.x86_64                                          

Complete!
Creating virtual environment...
Installing Python packages...
Installation succeeded.

Una volta installate tutte le dipendenze, ti verrà chiesto di fornire il tuo indirizzo email e di accettare i termini del servizio come mostrato di seguito:

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

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

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/magento.conf

Successivamente, dovrai scegliere se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:

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 installare il certificato SSL Let's Encrypt per il tuo dominio come mostrato di seguito:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/magento.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-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - 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 a Magento

Magento è ora installato e configurato. È ora di accedere alla procedura guidata di installazione di Magento.

Apri il tuo browser web e digita l'URL https://magento.linuxbuz.com. Verrai reindirizzato alla pagina di benvenuto di Magento:

Fai clic su Accetta e imposta Magento pulsante. Dovresti vedere la procedura guidata per il controllo della disponibilità di Magento:

Ora, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Fornisci i dettagli del tuo database e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Ora, fornisci il tuo negozio Magento e l'URL di amministrazione e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Seleziona il fuso orario, la valuta, la lingua desiderati e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Ora, fornisci il nome utente e la password dell'amministratore Magento e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Ora, fai clic su Installa Ora pulsante per avviare l'installazione di Magento. Una volta che l'installazione è stata completata con successo. Dovresti vedere la seguente pagina:

Ora, fai clic su Indirizzo del tuo negozio pulsante. Dovresti vedere il tuo negozio Magento nella pagina seguente:

Per accedere alla tua interfaccia di amministrazione Magento, digita l'URL https://magento.linuxbuz.com/admin_1teqss sul tuo browser web. Verrai reindirizzato alla pagina di accesso di Magento:

Fornisci il nome utente e la password dell'amministratore Magento e fai clic su Firma dentro pulsante. Dovresti vedere la tua interfaccia di amministrazione Magento nella pagina seguente:

Per ora è tutto. Il tuo Magento è ora protetto con Let's Encrypt SSL gratuito.


Cent OS
  1. Come installare MongoDB su CentOS 8

  2. Come installare R su CentOS 7

  3. Come installare R su CentOS 8

  4. Come installare Apache Cassandra su CentOS 7

  5. Come installare XWiki su CentOS 7

Come installare Magento su CentOS 8

Come installare Apache in CentOS 8

Come installare Java su CentOS 8

Come installare il filato su CentOS 8

Come installare Metabase su CentOS 8

Come installare Jenkins su CentOS 8