Jak nastavit Magento 2 s Varnish 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 populární 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 ukládání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. Varnish je v Magento 2 standardně integrován. Aby fungoval, budete muset provést pouze některé změny v konfiguraci.
V tomto tutoriálu se naučíme, jak nainstalovat Magento 2 s Varnish jako mezipaměť celé stránky na serveru Ubuntu 16.04.
Než začnete, doporučujeme aktualizovat váš systém nejnovějším balíčkem spuštěním následujícího příkazu:
sudo apt-get update -ysudo apt-get upgrade -yJakmile bude váš systém aktuální, restartujte systém a přihlaste se jako uživatel sudo.
Magento nebude fungovat bez instalace zásobníku LAMP (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 lak -yPo 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 spustit apache2sudo systemctl povolit apache2Magento 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- hruška php7.0-intl php7.0-curl php7.0-zip php7.0-gd php7.0-soap php7.0-xml -yPo 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.iniZměňte následující řádky:
memory_limit = 512upload_max_filesize = 128Mzlib.output_compression = onmax_execution_time = 15000Po dokončení uložte a zavřete soubor.
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 -yPo 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 spustit mysqlsudo systemctl povolit mysqlVe 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_installationOdpovězte na všechny otázky, jak je uvedeno níže:
POZNÁMKA: SPUŠTĚNÍ VŠECH ČÁSTÍ TOHOTO SKRIPTU DOPORUČUJEME PRO VŠECHNY PRODUKČNÍ SERVERY MariaDBSERVERY! POZORNĚ SI PŘEČTĚTE KAŽDÝ KROK! Abyste se mohli přihlásit do MariaDB a zabezpečit ji, budeme potřebovat aktuální heslo pro uživatele root.Pokud jste právě nainstalovali MariaDB, a ještě jste nenastavili heslo root, heslo bude prázdné, takže byste měli sem stisknout enter. Zadejte aktuální heslo pro root (zadejte žádné): OK, úspěšně použité heslo, pokračujeme...Nastavení heslo root zajišťuje, že se nikdo nemůže přihlásit k uživateli MariaDBroot bez řádné autorizace. Máte již nastavené heslo uživatele root, takže můžete bezpečně odpovědět 'n'. Změnit heslo uživatele root? [Y/n] n ... přeskakování. Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje komukoli přihlásit se do MariaDB, aniž by pro něj musel mít vytvořený uživatelský účet. Toto je určeno pouze pro testování a pro provedení instalace. trochu hladší. Před přechodem do produkčního prostředí byste je měli odstranit. Odstranit anonymní uživatele? [A/n] A ... Úspěch! Normálně by měl mít root povoleno připojení pouze z 'localhost'. To zajišťuje, že někdo nemůže uhodnout heslo root ze sítě. Zakázat vzdálené přihlášení root? [A/n] A... Úspěch! Ve výchozím nastavení přichází MariaDB s databází nazvanou „test“, ke které má přístup kdokoli. Tato databáze je také určena pouze pro testování a měla by být odstraněna před přesunem do produkčního prostředí. Odeberte testovací databázi a získejte přístup k tomu? [A/n] A – Vyřazení testovací databáze... ... Úspěch! - Odebírání oprávnění u testovací databáze... ... Úspěch! Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny se projeví okamžitě. Znovu načíst tabulky oprávnění nyní? [A/N] A ... Úspěch! Úklid...Vše hotovo! Pokud jste dokončili všechny výše uvedené kroky, vaše instalace MariaDB by nyní měla být zabezpečená. Děkujeme, že používáte MariaDB!Dále se přihlaste do MariaDB shell s následujícím příkazem:
mysql -u root -pPo 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)]>VYTVOŘIT UŽIVATELE 'magento'@'localhost' IDENTIFIKOVANÉHO PODLE 'hesla';Dále udělte oprávnění databázi Magento pomocí následujícího příkazu:
MariaDB [(none)]>UDĚLEJTE VŠECHNA PRIVILEGIE PRO magento_db.* TOMU '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)]>\qNejprve si budete muset stáhnout nejnovější verzi Magenta z jejich oficiálních stránek.
Po stažení Magenta 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/magentoDále změňte vlastnictví magento adresáře a udělte mu řádná oprávnění:
sudo chown -R www-data:www-data /var/www/html/magentosudo chmod -R 777 /var/www/html/magentoDá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 | phpsudo mv creator.phar /usr/bin/composerDále spusťte příkaz skladatel a nainstalujte všechny závislosti požadované Magento:
cd /var/www/html/magentosudo creator installJakmile jsou nainstalovány všechny závislosti, můžete pokračovat v konfiguraci 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.confPřidejte následující řádky:
ServerAdmin [email protected]DocumentRoot /var/www/html/magentoServerName 192.168.15.189ServerAlias www.example.comOptions FollowSymLinksAllowOverride AllOrder allow,denyallow from allErrorLog /var/log/apache2/logache_2varo-errorg/apache2/magentologo-error commonUložte soubor a poté povolte virtuálního hostitele pomocí modulu pro přepis Apache následujícím příkazem:
sudo a2ensite magentosudo a2enmod rewriteDá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.confZměňte soubor, jak je uvedeno níže:
Poslouchejte 8080Nakonec restartujte službu Apache a použijte tyto změny pomocí následujícího příkazu:
sudo systemctl restart apache2Magento je nyní nainstalováno, nyní je čas nainstalovat Magento přes webový prohlíž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 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, a poté klikněte na tlačítko "Další", měla by se zobrazit následující stránka:
Zadejte podrobnosti o svém webu a klikněte na tlačítko „Další“, měla by se zobrazit následující stránka:
Upravte 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í kliknutím na tlačítko "Install Now" spusťte instalaci Magento. Po dokončení instalace byste měli vidět následující stránku:
Poznámka: Pamatujte si adresu URL správce Magento: http://192.168.15.189/admin_wczta4. Toto se použije pro přístup k Magento admin.
Nyní klikněte na tlačítko "Spustit Magento Admin" a 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:
Na hlavním panelu správce Magento klikněte na tlačítko OBCHODY (vlevo) > Konfigurace > POKROČILÉ > Systém > Full Page Cache, 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 Konfigurace laku a klikněte na tlačítko Export VCL for Varnish 4 (tím se exportuje soubor lak.vcl do / var/www/html/magento/var directoy), jak je uvedeno níže:
Nakonec vyprázdněte mezipaměť Magento pomocí následujícího příkazu:
cd /var/www/html/magentosudo php bin/magento cache:flushJakmile budete hotovi, můžete pokračovat v konfiguraci 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.vclsudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vclDále budete muset vytvořit službu systemd pilník na 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ěkteré změny v souboru lak.service:
sudo nano /etc/systemd/system/varnish.serviceProveďte následující změny:
[Unit]Description=Varnish HTTP acceleratorDocumentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd[Service]Type=simpleLimitNOFILE=131072LimitMEMLOCK=82000ExecStart=/usr/sbin/varnishd - =vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/lak/secret -s malloc,256mExecReload=/usr/share/varnish/reload-vclProtectSystem=fullProtectHome= truePrivateTmp=truePrivateDevices=true[Install]WantedBy=multi-user.targetPo dokončení uložte soubor a restartujte službu laku pomocí následujícího příkazu:
sudo systemctl daemon-reloadsudo systemctl reload lak.servicePokud 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
Zda je lak povolen nebo ne, můžete také zkontrolovat spuštěním následujícího příkazu:
curl -I http://192.168.15.189/admin_wczta4Měli byste vidět, že lak je povolen:
Datum: pá, 07. července 2017 17:10:01 GMTServer: Apache/2.4.18 (Ubuntu)Set-Cookie: store=default; expires=So, 07-Jul-2018 17:10:03 GMT; Max-Věk=31536000; cesta=/; HttpOnlySet-Cookie: PHPSESSID=irp2k8cmrhct0dfh18qk7ap0i4; expires=Pá, 07-Jul-2017 18:10:04 GMT; Max-Věk=3600; cesta=/; doména=192.168.15.189; HttpOnlyExpires: Thu, 07 Jul 2016 17:10:04 GMTCache-Control: max-age=0, must-revalidate, no-cache, no-storePragma: no-cacheLocation: http://192.168.15.189/admin_wczta4/?SID =irp2k8cmrhct0dfh18qk7ap0i4X-Content-Type-Options: nosniffX-XSS-Protection: 1; mode=blockX-Frame-Options: SAMEORIGINContent-Length: 0Content-Type: text/html; charset=UTF-8X-Lak: 2Věk: 0Via: 1.1 lak-v4Connection: keep-aliveBlahopřejeme! úspěšně jste nakonfigurovali Magento s Varnish na serveru Ubuntu 16.04.
PREV: Jak opravit Xbox One No Signal HDMI Error - Windows Bulletin...
NEXT: Použití OAuth 2.0 pro aplikace Server to Server | Google Identity