Как да настроите Magento 2 с Varnish и Apache на Ubuntu 16.04
Magento е безплатна система за управление на съдържанието с отворен код, изградена в PHP, Zend framework и MySQL база данни. Това е много популярно уеб приложение за електронна търговия, което работи върху много приложения с отворен код като Apache, MySQL и много други. Magento идва с много вградени модули, които се използват за добавяне на повече функционалност.
Varnish Cache е мощен ускорител на уеб приложения с отворен код, известен също като кеширащ HTTP обратен прокси. Използва се за ускоряване на вашия уебсайт чрез кеширане на копие на уеб страница при първото посещение на потребителя. Magento и Varnish е известна комбинация за значително повишаване на ефективността на сайта. Varnish е интегриран по подразбиране в Magento 2. Ще трябва само да направите някои промени в конфигурацията, за да работи.
В този урок ще научим как да инсталираме Magento 2 с Varnish като пълен кеш на страници на Ubuntu 16.04 сървър.
Преди да започнете, препоръчва се да актуализирате системата си с най-новия пакет, като изпълните следната команда:
sudo apt-get update -ysudo apt-get upgrade -yСлед като системата ви е актуална, рестартирайте системата и влезте със sudo потребител.
Magento няма да функционира без инсталиране на LAMP стек (Apache, PHP, MariaDB). Първо инсталирайте уеб сървъра на Apache и лакирайте, като изпълните следната команда:
sudo apt-get install apache2 varnish -yСлед като инсталирате Apache, стартирайте услугата Apache и я разрешете да стартира при зареждане, като изпълните следната команда:
sudo systemctl start apache2sudo systemctl enable apache2Magento е написан на PHP език, така че вие също трябва да инсталирате PHP с всички библиотеки към вашата система. Можете да инсталирате всички от тях, като изпълните следната команда:
sudo apt-get инсталирате 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След като инсталирате PHP заедно с всички необходими библиотеки, ще трябва да промените няколко PHP настройки по подразбиране. Можете да направите това, като редактирате файла php.ini:
sudo nano /etc/php/7.0/cli/php.iniПроменете следните редове:
memory_limit = 512upload_max_filesize = 128Mzlib.output_compression = onmax_execution_time = 15000Запазете и затворете файла, когато приключите.
Magento използва MariaDB като база данни. Така че ще трябва да го инсталирате на вашия сървър. Можете да го инсталирате, като просто изпълните следната команда:
sudo apt-get install mariadb-server -yСлед като инсталирате MariaDB, стартирайте услугата MariaDB и я разрешете да стартира по време на зареждане, като изпълните следната команда:
sudo systemctl start mysqlsudo systemctl enable mysqlПо подразбиране MariaDB не е защитена, така че ще трябва да я защитите. Можете да го защитите, като изпълните следната команда:
sudo mysql_secure_installationОтговорете на всички въпроси, както е показано по-долу:
ЗАБЕЛЕЖКА: ИЗПЪЛНЕНИЕТО НА ВСИЧКИ ЧАСТИ ОТ ТОЗИ СКРИПТ СЕ ПРЕПОРЪЧВА ЗА ВСИЧКИ MariaDBСЪРВЪРИ В ПРОИЗВОДСТВЕНА УПОТРЕБА! МОЛЯ, ПРОЧЕТЕТЕ ВНИМАТЕЛНО ВСЯКА СТЪПКА! За да влезем в MariaDB, за да го защитим, ще ни е необходима текущата парола за root потребителя. Ако току-що сте инсталирали MariaDB, и все още не сте задали root паролата, паролата ще бъде празна, така че трябва просто да натиснете enter тук. Въведете текущата парола за root (въведете за none): OK, успешно използвана парола, продължаваме... Настройване на root паролата гарантира, че никой не може да влезе в потребителя на MariaDBroot без подходящото разрешение. Вече имате зададена root парола, така че можете спокойно да отговорите с 'n'. Променете root паролата? [Y/n] n ... пропускане. По подразбиране инсталацията на MariaDB има анонимен потребител, което позволява на всеки да влезе в MariaDB, без да е необходимо да има създаден потребителски акаунт за него. Това е предназначено само за тестване и за да направи инсталацията малко по-гладко. Трябва да ги премахнете, преди да преминете към производствена среда. Да премахнете анонимни потребители? [Y/n] Y ... Успех! Обикновено root трябва да има право да се свързва само от 'localhost'. Това гарантира, че някой не може да познае паролата на root от мрежата. Забрана на root влизане от разстояние? [Y/n] Y ... Успех! По подразбиране MariaDB идва с база данни, наречена „test“, до която всеки има достъп. Това също е предназначено само за тестване и трябва да бъде премахнато, преди да се премести в производствена среда. Премахнете тестовата база данни и достъп към него? [Y/n] Y - Премахване на тестовата база данни... ... Успех! - Премахване на привилегии за тестова база данни... ... Успех! Презареждането на таблиците с привилегии ще гарантира, че всички направени досега промени ще влязат в сила незабавно. Презареждане на таблиците с привилегии сега? [Y/n] Y ... Успех! Почистване... Всичко е готово! Ако сте изпълнили всички горепосочени стъпки, вашата инсталация на MariaDB вече трябва да е защитена. Благодарим ви, че използвате MariaDB!След това влезте в MariaDB shell със следната команда:
mysql -u root -pВъведете вашата root парола, когато бъдете подканени, след което създайте база данни за Magento със следната команда:
MariaDB [(няма)]>CREATE DATABASE magento_db;След като създадете база данни за Magento, създайте потребителско име и парола със следната команда:
MariaDB [(none)]>CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';След това дайте привилегии на базата данни на Magento със следната команда:
MariaDB [(няма)]>ПРЕДОСТАВЯЙТЕ ВСИЧКИ ПРИВИЛЕГИИ НА magento_db.* НА 'magento'@'localhost';След това изпълнете командата FLUSH PRIVILEGES, за да презаредите привилегиите:
MariaDB [(няма)]>FLUSH PRIVILEGES;Накрая излезте от конзолата MariaDB със следната команда:
MariaDB [(няма)]>\qПърво, ще трябва да изтеглите най-новата версия на Magento от официалния им уебсайт.
След като изтеглите Magento, разархивирайте изтегления zip файл в главната уеб директория на apache със следната команда:
sudo mkdir /var/www/html/magento/sudo unzip magento2-develop.zip -d /var/www/html/magentoСлед това променете собствеността на директорията на magento и дайте подходящо разрешение за нея:
sudo chown -R www-data:www-data /var/www/html/magentosudo chmod -R 777 /var/www/html/magentoСлед това ще трябва да инсталирате Composer на вашата система. Composer е мениджър на зависимости, който се използва за инсталиране на всички необходими PHP зависимости. Можете да изтеглите и инсталирате двоичен файл на Composer със следната команда:
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/bin/composerСлед това изпълнете команда composer, за да инсталирате всички зависимости, изисквани от Magento:
cd /var/www/html/magentosudo composer installСлед като всички зависимости са инсталирани, можете да продължите да конфигурирате Apache за Magento.
След това ще трябва да създадете виртуален хост файл на Apache за Magento. Създайте нов конфигурационен файл на Apache с име magento.conf със следната команда:
sudo nano /etc/apache2/sites-available/magento.confДобавете следните редове:
ServerAdmin [имейл защитен]DocumentRoot /var/www/html/magentoServerName 192.168.15.189ServerAlias www.example.comOptions FollowSymLinksAllowOverride AllOrder enable,denyallow from allErrorLog /var/log/apache2/magento-error_logCustomLog /var/log/apache2 /magento-access_log commonЗапазете файла, след това активирайте вашия виртуален хост с модула за пренаписване на Apache следната команда:
sudo a2ensite magentosudo a2enmod rewriteСлед това ще трябва да промените порта за слушане на Apache от 80 на 8080. Тъй като ние ще запазим порт 80 за varnish. За да направите това, отворете файла ports.conf:
sudo nano /etc/apache2/ports.confПроменете файла, както е показано по-долу:
Слушайте 8080Накрая рестартирайте услугата Apache, за да приложите тези промени със следната команда:
sudo systemctl restart apache2Magento вече е инсталиран, сега е време да инсталирате Magento през уеб браузър.
За да направите това, отворете вашия уеб браузър и въведете URL адреса http://192.168.15.189:8080, трябва да видите следната страница:
Сега приемете Общите условия, след което щракнете върху бутона „Съгласен и настройка на Magento“, трябва да видите следната страница:
Проверете цялата готовност и щракнете върху бутона „Напред“, трябва да видите следната страница:
Въведете подробности за вашата база данни, като име на базата данни, потребителско име на базата данни и парола, след което щракнете върху бутона „Напред“, трябва да видите следната страница:
Въведете подробности за уебсайта си и щракнете върху бутона „Напред“, трябва да видите следната страница:
Персонализирайте Magento според вашите нужди и щракнете върху бутона „Напред“, трябва да видите следната страница:
Предоставете данните за вашия администраторски потребител и щракнете върху бутона „Напред“, трябва да видите следната страница:
Сега щракнете върху бутона „Инсталирай сега“, за да стартирате инсталацията на Magento. След като инсталацията приключи, трябва да видите следната страница:
Забележка: Запомнете своя URL адрес на администратора на Magento: http://192.168.15.189/admin_wczta4. Това ще се използва за достъп до администратора на Magento.
Сега щракнете върху бутона „Стартиране на Magento Admin“, трябва да видите страницата за вход в Magento, както е показано по-долу:
Предоставете вашите идентификационни данни за администратор на Magento и щракнете върху бутона „Вход“, трябва да видите таблото за управление на Magent-o, както е показано по-долу:
От таблото за управление на Magento Admin щракнете върху бутона МАГАЗИНИ (отляво) > Конфигурация > РАЗШИРЕНИ > Система > Пълен кеш на страницата, след това премахнете избора от системната стойност и изберете Varnish Cache от списъка с приложения за кеширане, запазете конфигурацията, щракнете върху връзката Varnish Configuration и щракнете върху бутона Export VCL за Varnish 4 (това ще експортира файла varnish.vcl в / var/www/html/magento/var directory), както е показано по-долу:
Накрая изчистете кеша на Magento със следната команда:
cd /var/www/html/magentosudo php bin/magento cache:flushСлед като приключите, можете да продължите да конфигурирате varnish.
Magento вече е инсталиран и конфигуриран. Време е да конфигурирате лака.
Първо изтрийте файла /etc/varnish/default.vcl и създайте символна връзка от експортираната varnish конфигурация:
sudo rm -rf /etc/varnish/default.vclsudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vclСлед това ще трябва да създадете системна услуга пила за лак. Можете да направите това, като копирате varnish.service от /lib/systemd/system/ в /etc/systemd/system/ директория:
sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/След копирането на този файл ще трябва да направите някои промени във файла varnish.service:
sudo nano /etc/systemd/system/varnish.serviceНаправете следните промени:
[Unit]Description=Varnish HTTP ускорителDocumentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd[Service]Type=simpleLimitNOFILE=131072LimitMEMLOCK=82000ExecStart=/usr/sbin/varnishd -j unix,user =vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256mExecReload=/usr/share/varnish/reload-vclProtectSystem=fullProtectHome= truePrivateTmp=truePrivateDevices=true[Install]WantedBy=multi-user.targetЗапазете файла, когато сте готови, след което рестартирайте услугата varnish със следната команда:
sudo systemctl daemon-reloadsudo systemctl reload varnish.serviceАко всичко работи добре, тогава трябва да можете да влезете във вашия Magento back-end, като напишете следния URL адрес във вашия уеб браузър:
http://192.168.15.189/admin_wczta4
Можете също да проверите дали лакирането е активирано или не, като изпълните следната команда:
curl -I http://192.168.15.189/admin_wczta4Трябва да видите, че лакът е активиран:
Дата: петък, 07 юли 2017 г. 17:10:01 GMTServer: Apache/2.4.18 (Ubuntu) Set-Cookie: store=default; изтича=сб, 07-юли-2018 17:10:03 GMT; Максимална възраст=31536000; път=/; HttpOnlySet-Cookie: PHPSESSID=irp2k8cmrhct0dfh18qk7ap0i4; expires=петък, 07-юли-2017 18:10:04 GMT; Максимална възраст=3600; път=/; домейн=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-Varnish: 2Age: 0Via: 1.1 varnish-v4Connection: keep-aliveПоздравления! успешно сте конфигурирали Magento с Varnish на Ubuntu 16.04 сървър.
PREV: Как да коригирате Xbox One No Signal HDMI Error - Windows Bulletin ...
NEXT: Използване на OAuth 2.0 за приложения от сървър към сървър | Идентичност в Google