GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare Magento 2 con Varnish e Apache su Ubuntu 16.04

Magento è un sistema di gestione dei contenuti gratuito e open source costruito in PHP, framework Zend e database MySQL. È un'applicazione web di eCommerce molto popolare che funziona su molte applicazioni open source come Apache, MySQL e molte altre. Magento viene fornito con molti moduli integrati che vengono utilizzati per aggiungere più funzionalità.

Varnish Cache è un potente acceleratore di applicazioni Web open source noto anche come proxy inverso HTTP con memorizzazione nella cache. Viene utilizzato per velocizzare il tuo sito web memorizzando nella cache una copia di una pagina web la prima volta che un utente visita. Magento e vernice è una combinazione nota per aumentare significativamente le prestazioni del sito. La vernice è integrata per impostazione predefinita in Magento 2. Dovrai solo apportare alcune modifiche alla configurazione per farlo funzionare.

In questo tutorial impareremo come installare Magento 2 con Varnish come cache a pagina intera sul server Ubuntu 16.04.

Requisiti

  • Un server che esegue Ubuntu 16.04.
  • Apache, PHP e MariaDB.
  • Un utente non root con privilegi sudo impostati sul tuo server.

1 Per iniziare

Prima di iniziare, si consiglia di aggiornare il sistema con l'ultimo pacchetto eseguendo il comando seguente:

sudo apt-get update -y
sudo apt-get upgrade -y

Una volta che il tuo sistema è aggiornato, riavvia il sistema e accedi con l'utente sudo.

2 Installa il server LAMP

Magento non funzionerà senza installare lo stack LAMP (Apache, PHP, MariaDB). Innanzitutto, installa il server Web Apache e Paint eseguendo il seguente comando:

sudo apt-get install apache2 varnish -y

Dopo aver installato Apache, avvia il servizio Apache e abilitalo all'avvio all'avvio eseguendo il comando seguente:

sudo systemctl start apache2
sudo systemctl enable apache2

Magento è scritto in linguaggio PHP, quindi devi anche installare PHP con tutte le librerie sul tuo sistema. Puoi installarli tutti eseguendo il seguente comando:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl php7.0-curl php7.0-zip php7.0-gd php7.0-soap php7.0-xml -y

Dopo aver installato PHP insieme a tutte le librerie richieste, dovrai modificare alcune impostazioni PHP predefinite. Puoi farlo modificando il file php.ini:

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

Modifica le seguenti righe:

memory_limit = 512
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 15000

Salva e chiudi il file quando hai finito.

3 Installa e configura MariaDB

Magento usa MariaDB come database. Quindi dovrai installarlo sul tuo server. Puoi installarlo semplicemente eseguendo il seguente comando:

sudo apt-get install mariadb-server -y

Dopo aver installato MariaDB, avvia il servizio MariaDB e abilitalo all'avvio all'avvio eseguendo il comando seguente:

sudo systemctl start mysql
sudo systemctl enable mysql

Per impostazione predefinita, MariaDB non è protetto, quindi dovrai proteggerlo. Puoi proteggerlo eseguendo il seguente comando:

sudo mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n

 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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? [Y/n] 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? [Y/n] Y
 ... Success!

By default, MariaDB 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? [Y/n] 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? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Quindi, accedi alla shell di MariaDB con il seguente comando:

mysql -u root -p

Inserisci la tua password di root quando richiesto, quindi crea un database per Magento con il seguente comando:

MariaDB [(none)]>CREATE DATABASE magento_db;

Dopo aver creato il database per Magento, crea un nome utente e una password con il seguente comando:

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

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

MariaDB [(none)]>GRANT ALL PRIVILEGES ON magento_db.* TO 'magento'@'localhost';

Quindi, esegui il comando FLUSH PRIVILEGES ricarica i privilegi:

MariaDB [(none)]>FLUSH PRIVILEGES;

Infine, esci dalla console di MariaDB con il seguente comando:

MariaDB [(none)]>\q

4 Scarica Magento

Innanzitutto, dovrai scaricare l'ultima versione di Magento dal loro sito Web ufficiale.

Dopo aver scaricato Magento, estrai il file zip scaricato nella directory principale di Apache Web con il seguente comando:

sudo mkdir /var/www/html/magento/
sudo unzip magento2-develop.zip -d /var/www/html/magento

Quindi, cambia la proprietà della directory magento e dai il permesso appropriato:

sudo chown -R www-data:www-data /var/www/html/magento
sudo chmod -R 777 /var/www/html/magento

Successivamente, dovrai installare Composer sul tuo sistema. Composer è un gestore delle dipendenze utilizzato per installare tutte le dipendenze PHP richieste. Puoi scaricare e installare Composer binary con il seguente comando:

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

Quindi, esegui il comando composer per installare tutte le dipendenze richieste da Magento:

cd /var/www/html/magento
sudo composer install

Una volta installate tutte le dipendenze, puoi procedere alla configurazione di Apache per Magento.

5 Configura Apache per Magento

Successivamente, dovrai creare un file host virtuale Apache per Magento. Crea un nuovo file di configurazione di Apache chiamato magento.conf con il seguente comando:

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

Aggiungi le seguenti righe:

<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot /var/www/html/magento
ServerName 192.168.15.189
ServerAlias www.example.com
<Directory "/var/www/html/magento/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/magento-error_log
CustomLog /var/log/apache2/magento-access_log common
</VirtualHost>

Salva il file, quindi abilita il tuo host virtuale con il modulo di riscrittura di Apache il seguente comando:

sudo a2ensite magento
sudo a2enmod rewrite

Successivamente, dovrai anche cambiare la porta di ascolto di Apache da 80 a 8080. Perché riserveremo la porta 80 per la vernice. Per farlo, apri il file ports.conf:

sudo nano /etc/apache2/ports.conf

Modifica il file come mostrato di seguito:

Listen 8080

Infine, riavvia il servizio Apache per applicare queste modifiche con il seguente comando:

sudo systemctl restart apache2

6 Accedi alla procedura guidata di installazione di Magento Web

Magento è ora installato, ora è il momento di installare Magento tramite browser web.

Per farlo, apri il tuo browser web e digita l'URL http://192.168.15.189:8080, dovresti vedere la seguente pagina:

Ora, accetta Termini e condizioni, quindi fai clic sul pulsante "Accetta e imposta Magento", dovresti vedere la seguente pagina:

Controlla tutta la Prontezza e fai clic sul pulsante "Avanti", dovresti vedere la seguente pagina:

Fornisci i dettagli del tuo database, come il nome del database, il nome utente del database e la password, quindi fai clic sul pulsante "Avanti", dovresti vedere la seguente pagina:

Fornisci i dettagli del tuo sito web e fai clic sul pulsante "Avanti", dovresti vedere la seguente pagina:

Personalizza Magento secondo le tue necessità e fai clic sul pulsante "Avanti", dovresti vedere la seguente pagina:

Fornisci i dettagli dell'utente amministratore e fai clic sul pulsante "Avanti", dovresti vedere la seguente pagina:

Ora, fai clic sul pulsante "Installa ora" per avviare l'installazione di Magento. Una volta completata l'installazione dovresti vedere la seguente pagina:

Nota:ricorda il tuo URL di amministratore Magento:http://192.168.15.189/admin_wczta4. Questo verrà utilizzato per accedere all'amministratore di Magento.

Ora, fai clic sul pulsante "Avvia Magento Admin", dovresti vedere la pagina di accesso di Magento come di seguito:

Fornisci le tue credenziali di amministratore Magento e fai clic sul pulsante "Accedi", dovresti vedere la dashboard Magent-o come di seguito:

Dalla dashboard di Magento Admin fai clic sul pulsante STORES (a sinistra)> Configurazione> AVANZATO> Sistema> Cache a pagina intera , quindi Deseleziona usa il valore di sistema e seleziona Varnish Cache dall'elenco Caching Application, salva la configurazione, fai clic sul collegamento Varnish Configuration e fai clic sul pulsante Export VCL for Varnish 4 (questo esporterà il file paint.vcl in /var/www /html/magento/var directory) come mostrato di seguito:

Infine, svuota la cache di Magento con il seguente comando:

cd /var/www/html/magento
sudo php bin/magento cache:flush

Una volta terminato, puoi procedere con la configurazione della vernice.

6 Configura vernice

Magento è ora installato e configurato. È ora di configurare la vernice.

Innanzitutto, elimina il file /etc/varnish/default.vcl e crea un collegamento simbolico dalla configurazione di vernice esportata:

sudo rm -rf /etc/varnish/default.vcl
sudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vcl

Successivamente, dovrai creare un file di servizio systemd per Paint. Puoi farlo copiando paint.service da /lib/systemd/system/ nella directory /etc/systemd/system/:

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

Dopo aver copiato questo file, dovrai apportare alcune modifiche al file paint.service:

sudo nano /etc/systemd/system/varnish.service

Apporta le seguenti modifiche:

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

Salva il file al termine, quindi riavvia il servizio di vernice con il seguente comando:

sudo systemctl daemon-reload
sudo systemctl reload varnish.service

Se tutto funziona correttamente, dovresti essere in grado di accedere al tuo back-end Magento digitando il seguente URL sul tuo browser web:

http://192.168.15.189/admin_wczta4

Puoi anche verificare se la vernice è abilitata o meno eseguendo il comando seguente:

curl -I http://192.168.15.189/admin_wczta4

Dovresti vedere che la vernice è abilitata:

Date: Fri, 07 Jul 2017 17:10:01 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: store=default; expires=Sat, 07-Jul-2018 17:10:03 GMT; Max-Age=31536000; path=/; HttpOnly
Set-Cookie: PHPSESSID=irp2k8cmrhct0dfh18qk7ap0i4; expires=Fri, 07-Jul-2017 18:10:04 GMT; Max-Age=3600; path=/; domain=192.168.15.189; HttpOnly
Expires: Thu, 07 Jul 2016 17:10:04 GMT
Cache-Control: max-age=0, must-revalidate, no-cache, no-store
Pragma: no-cache
Location: http://192.168.15.189/admin_wczta4/?SID=irp2k8cmrhct0dfh18qk7ap0i4
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Varnish: 2
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive

Congratulazioni! hai configurato correttamente Magento con Varnish sul server Ubuntu 16.04.


Ubuntu
  1. Come installare Apache su Ubuntu 18.04

  2. Come installare e configurare Nextcloud con Apache su Ubuntu 18.04

  3. Come installare Joomla con Apache su Ubuntu 18.04

  4. Come configurare Opencart con LAMP (PHP, Apache, Mariadb) su Ubuntu 20.04

  5. Come installare e configurare Varnish su Ubuntu 20.04?

Come impostare e configurare UFW Firewall su Ubuntu 20.04

Come installare Lighttpd con PHP e MariaDB su Ubuntu 15.04

Come installare Lighttpd con MariaDB e PHP su Ubuntu 18.04 LTS

Come configurare l'host virtuale Apache su Ubuntu 20.04 LTS

Come installare e configurare Apache Spark su Ubuntu/Debian

Come installare Magento 2.4.3 su Ubuntu 20.04 con LAMP