GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit Magento 2 s lakem a Apache na Ubuntu 16.04

Magento je bezplatný a otevřený systém pro správu obsahu postavený na PHP, frameworku Zend a databázi MySQL. Je to velmi oblíbená webová aplikace elektronického obchodu, která běží nad mnoha open source aplikacemi, jako je Apache, MySQL a mnoho dalších. Magento přichází se spoustou vestavěných modulů, které se používají k přidání dalších funkcí.

Varnish Cache je výkonný akcelerátor webových aplikací s otevřeným zdrojovým kódem, známý také jako reverzní proxy HTTP pro ukládání do mezipaměti. Používá se k urychlení vašeho webu uložením kopie webové stránky do mezipaměti při první návštěvě uživatele. Magento a lak je známá kombinace, která výrazně zvyšuje výkon webu. Lak je ve výchozím nastavení integrován v Magento 2. Aby to fungovalo, budete muset provést pouze některé změny konfigurace.

V tomto tutoriálu se naučíme, jak nainstalovat Magento 2 s Varnish jako mezipaměť celé stránky na serveru Ubuntu 16.04.

Požadavky

  • Server se systémem Ubuntu 16.04.
  • Apache, PHP a MariaDB.
  • Na vašem serveru je nastaven uživatel bez oprávnění root s právy sudo.

1 Začínáme

Před spuštěním se doporučuje aktualizovat váš systém nejnovějším balíčkem spuštěním následujícího příkazu:

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

Jakmile bude váš systém aktuální, restartujte systém a přihlaste se pomocí uživatele sudo.

2 Instalace LAMP Server

Magento nebude fungovat bez instalace LAMP stacku (Apache, PHP, MariaDB). Nejprve nainstalujte webový server Apache a lak spuštěním následujícího příkazu:

sudo apt-get install apache2 varnish -y

Po instalaci Apache spusťte službu Apache a povolte její spuštění při spuštění spuštěním následujícího příkazu:

sudo systemctl start apache2
sudo systemctl enable apache2

Magento je napsáno v jazyce PHP, takže je také potřeba nainstalovat PHP se všemi knihovnami do vašeho systému. Všechny je můžete nainstalovat spuštěním následujícího příkazu:

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

Po instalaci PHP spolu se všemi požadovanými knihovnami budete muset změnit několik výchozích nastavení PHP. Můžete to udělat úpravou souboru php.ini:

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

Změňte následující řádky:

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

Po dokončení uložte a zavřete soubor.

3 Instalace a konfigurace MariaDB

Magento používá MariaDB jako databázi. Budete jej tedy muset nainstalovat na váš server. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:

sudo apt-get install mariadb-server -y

Po instalaci MariaDB spusťte službu MariaDB a povolte její spuštění při spouštění spuštěním následujícího příkazu:

sudo systemctl start mysql
sudo systemctl enable mysql

Ve výchozím nastavení není MariaDB zabezpečena, takže ji budete muset zabezpečit. Můžete jej zabezpečit spuštěním následujícího příkazu:

sudo mysql_secure_installation

Odpovězte na všechny otázky, jak je uvedeno níže:

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!

Dále se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte databázi pro Magento pomocí následujícího příkazu:

MariaDB [(none)]>CREATE DATABASE magento_db;

Po vytvoření databáze pro Magento vytvořte uživatelské jméno a heslo pomocí následujícího příkazu:

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

Dále udělte oprávnění databázi Magento pomocí následujícího příkazu:

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

Dále spusťte příkaz FLUSH PRIVILEGES a znovu načtěte oprávnění:

MariaDB [(none)]>FLUSH PRIVILEGES;

Nakonec ukončete konzolu MariaDB pomocí následujícího příkazu:

MariaDB [(none)]>\q

4 Stáhnout Magento

Nejprve si budete muset stáhnout nejnovější verzi Magenta z jejich oficiálních stránek.

Po stažení Magento rozbalte stažený soubor zip do kořenového adresáře webu Apache pomocí následujícího příkazu:

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

Dále změňte vlastnictví magento adresáře a udělte mu správná oprávnění:

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

Dále budete muset nainstalovat Composer do vašeho systému. Composer je správce závislostí, který se používá k instalaci všech požadovaných závislostí PHP. Binární soubor Composer si můžete stáhnout a nainstalovat pomocí následujícího příkazu:

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

Dále spusťte příkaz skladatel a nainstalujte všechny závislosti požadované Magento:

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

Jakmile jsou všechny závislosti nainstalovány, můžete pokračovat v konfiguraci Apache pro Magento.

5 Konfigurace Apache pro Magento

Dále budete muset vytvořit soubor virtuálního hostitele Apache pro Magento. Vytvořte nový konfigurační soubor Apache s názvem magento.conf pomocí následujícího příkazu:

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

Přidejte následující řádky:

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

Uložte soubor a poté povolte svého virtuálního hostitele pomocí modulu Apache rewrite následujícím příkazem:

sudo a2ensite magento
sudo a2enmod rewrite

Dále budete také muset změnit naslouchací port Apache z 80 na 8080. Protože port 80 vyhradíme pro lak. Chcete-li tak učinit, otevřete soubor ports.conf:

sudo nano /etc/apache2/ports.conf

Změňte soubor, jak je znázorněno níže:

Listen 8080

Nakonec restartujte službu Apache a použijte tyto změny pomocí následujícího příkazu:

sudo systemctl restart apache2

6 Access Magento Web Installation Wizard

Magento je nyní nainstalováno, nyní je čas nainstalovat Magento prostřednictvím webového prohlížeče.

Chcete-li tak učinit, otevřete webový prohlížeč a zadejte adresu URL http://192.168.15.189:8080, měla by se zobrazit následující stránka:

Nyní odsouhlaste Smluvní podmínky a poté klikněte na tlačítko „Souhlasím a nastavte Magento“, měla by se vám zobrazit následující stránka:

Zkontrolujte všechny připravenosti a klikněte na tlačítko "Další", měla by se zobrazit následující stránka:

Zadejte podrobnosti o databázi, jako je název databáze, uživatelské jméno databáze a heslo, poté klikněte na tlačítko "Další", měla by se zobrazit následující stránka:

Zadejte podrobnosti o své webové stránce a klikněte na tlačítko "Další", měla by se zobrazit následující stránka:

Přizpůsobte si Magento podle svých potřeb a klikněte na tlačítko "Další", měla by se zobrazit následující stránka:

Zadejte své uživatelské údaje správce a klikněte na tlačítko "Další", měla by se zobrazit následující stránka:

Nyní klikněte na tlačítko "Install Now" pro spuštění instalace Magento. Po dokončení instalace byste měli vidět následující stránku:

Poznámka:Pamatujte si svou adresu URL správce Magento:http://192.168.15.189/admin_wczta4. Toto bude použito pro přístup k Magento admin.

Nyní klikněte na tlačítko "Spustit Magento Admin", měla by se zobrazit přihlašovací stránka Magento, jak je uvedeno níže:

Zadejte své přihlašovací údaje správce Magento a klikněte na tlačítko "Přihlásit se", měli byste vidět Magent-o Dashboard, jak je uvedeno níže:

Z ovládacího panelu Magento Admin klikněte na tlačítko OBCHODY (vlevo)> Konfigurace> POKROČILÉ> Systém> Mezipaměť celé stránky , poté Zrušte výběr použít systémovou hodnotu a vyberte Varnish Cache ze seznamu Caching Application, uložte konfiguraci, klikněte na odkaz Varnish Configuration a klikněte na tlačítko Export VCL for Varnish 4 (tím dojde k exportu souboru lak.vcl do /var/www /html/magento/var directoroy), jak je uvedeno níže:

Nakonec vyprázdněte mezipaměť Magento pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete pokračovat v konfiguraci laku.

6 Konfigurace laku

Magento je nyní nainstalováno a nakonfigurováno. Je čas nakonfigurovat lak.

Nejprve odstraňte soubor /etc/varnish/default.vcl a vytvořte symbolický odkaz z exportované konfigurace laku:

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

Dále budete muset vytvořit servisní soubor systemd pro lak. Můžete to udělat zkopírováním lak.service z /lib/systemd/system/ do adresáře /etc/systemd/system/:

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

Po zkopírování tohoto souboru budete muset provést nějaké změny v souboru lak.service:

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

Proveďte následující změny:

[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

Po dokončení uložte soubor a restartujte lakovací službu pomocí následujícího příkazu:

sudo systemctl daemon-reload
sudo systemctl reload varnish.service

Pokud vše funguje správně, měli byste být schopni se přihlásit k back-endu Magento zadáním následující adresy URL do webového prohlížeče:

http://192.168.15.189/admin_wczta4

Můžete také zkontrolovat, zda je lak povolen nebo ne, spuštěním následujícího příkazu:

curl -I http://192.168.15.189/admin_wczta4

Měli byste vidět, že lak je povolen:

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

Gratulujeme! úspěšně jste nakonfigurovali Magento s Varnish na serveru Ubuntu 16.04.


Ubuntu
  1. Jak nainstalovat Apache na Ubuntu 18.04

  2. Jak nastavit Opencart s LAMP (PHP, Apache, Mariadb) na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat lak na Ubuntu 20.04?

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  3. Jak nastavit cluster Apache Tomcat se 3 uzly na Ubuntu

  1. Jak nainstalovat a nakonfigurovat OpenLiteSpeed ​​Server spolu s MariaDB a PHP na Ubuntu 20.04

  2. Jak nastavit WordPress na serveru Ubuntu s Apache

  3. Jak nainstalovat NextCloud na Ubuntu 20.04 s Apache