Недостающую глубину мысли обычно компенсируют ее длиной (Ш. Монтескьё).

Как установить Magento 2 с Varnish, Apache и Pound как SSL Termination

6 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 сентября 2017
Как установить Magento 2 с Varnish, Apache и Pound как SSL Termination
В этой статье мы покажем вам, как установить Magento 2 на Ubuntu 16.04 VPS с MariaDB, Varnish как полный кэш страниц, Apache и Pound как SSL Termination. Это руководство должно работать на других системах Linux VPS так же хорошо, но было проверено и написано для Ubuntu 16.04 VPS.

Прежде чем мы начнем, вы можете выбрать другую установку для вашего Magento. Вы можете прочитать учебник, как установить Magento 2 на Ubuntu 16.04 VPS с MariaDB, PHP-FPM 7.0, Varnish как полный кэш страниц, Nginx, SSL Termination и Redis для хранения сеанса и кэширования страниц.

Или вы можете проверить этот учебник, чтобы установить Magento 2 на Ubuntu 16.04 VPS с MariaDB, Varnish как полный кэш страниц, Apache и Memcache для хранения сессии.

1. Вход и обновление сервера

Прежде всего, вам необходимо войти в систему Ubuntu 16,04 VPS через SSH с правами суперпользователя:

ssh root@server_IP_address

 

Кроме того, рекомендуется начать сеанс экрана, выполнив следующую команду

screen -U -S magento

 

Обновление системы и установить необходимые пакеты:

apt-get update && apt-get -y upgrade
apt-get -y install curl nano git

 

Очень важно, чтобы вы всегда держать свой сервер в актуальном состоянии. Вы даже можете включить автоматическое обновление для того, чтобы достичь этого.

2. Установка и настройка MariaDB

Установите последнюю версию 10.0 сервера MariaDB из официальных репозиториев Ubuntu:

apt-get install -y mariadb-server

 

Далее, нам необходимо создать базу данных для нашей установки Magento.

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE magento;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

 

Не забудьте заменить «strong_password» на фактический сильным пароль. Вы даже можете создать надежный пароль из командной строки.

3. Установите веб-сервер Apache2

apt-get install apache2

4. Установите PHP и необходимые PHP модули

Чтобы установить последнюю стабильную версию PHP версии 7 и все необходимые модули, выполните команду:

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

 

Изменение нескольких параметров PHP по умолчанию:

sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.0/cli/php.ini
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.0/cli/php.ini
sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.0/cli/php.ini
sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.0/cli/php.ini

 

Включите модуль перезаписи Apache2, если это не было сделано ранее:

a2enmod rewrite

 

Для того, чтобы активировать новую конфигурацию, перезапустите веб-сервер Apache, используя следующую команду:

service apache2 restart

5. Установка Composer

Composer является менеджером зависимостей для PHP с помощью которого можно установить пакеты. Composer будет тянуть все необходимые библиотеки и зависимости, необходимые для вашего проекта.

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

6. Установка Magento 2 из Github

Клонируйте репозиторий Magento в каталог ~/AndreyExMagentoSite.ru, используя следующую команду:

git clone https://github.com/magento/magento2.git /var/www/AndreyExMagentoSite.ru

 

Получите последнюю стабильный релиз Magento 2:

cd /var/www/AndreyExMagentoSite.ru
git checkout $(git describe --tags $(git rev-list --tags --max-count=1))

 

Запустите Composer и установите все зависимости Magento:

composer install

 

Чтобы продолжить установку, вы можете использовать мастер установки или командную строку, в данном руководстве мы будем использовать последнее.

bin/magento setup:install \
--base-url=http://AndreyExMagentoSite.ru/ \
--db-host=localhost \
--db-name=magento \
--db-user=magento \
--db-password=strong_password \
--admin-firstname=First \
--admin-lastname=Last \
--admin-email=user@AndreyExMagentoSite.ru \
--admin-user=admin \
--admin-password=strong_password987 \
--language=ru_RU \
--currency=RU \
--timezone=Europe/<b>Moscow</b> \
--use-rewrites=1

 

Если установка прошла успешно, вы увидите что-то вроде этого:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_andreyex

 

Выполните команду crontab, чтобы создать cronjob

crontab -u www-data -e

 

и добавьте следующую строку:

* * * * * /usr/bin/php /var/www/AndreyExMagentoSite.ru/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/AndreyExMagentoSite.ru/var/log/magento.cron.log

 

Наконец, установите правильные разрешения:

chown -R www-data: /var/www/AndreyExMagentoSite.ru

7. Настройка Apache

Создайте новую директиву виртуального хоста в Apache. Например, вы можете создать файл новой конфигурации Apache под названием «magento.conf» на сервере:

touch /etc/apache2/sites-available/magento.conf
ln -s /etc/apache2/sites-available/magento.conf /etc/apache2/sites-enabled/magento.conf
nano /etc/apache2/sites-available/magento.conf

 

Затем добавьте следующие строки:

<VirtualHost *:80>
ServerAdmin admin@yourdomain.ru
DocumentRoot /var/www/AndreyExMagentoSite.ru/
ServerName AndreyExMagentoSite.ru
ServerAlias www.AndreyExMagentoSite.ru
<Directory /var/www/AndreyExMagentoSite.ru/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/AndreyExMagentoSite.ru-error_log
CustomLog /var/log/apache2/AndreyExMagentoSite.ru-access_log common
</VirtualHost>

 

Перезапустите веб-сервер Apache для того, чтобы изменения вступили в силу:

service apache2 restart

 

Вы должны теперь в состоянии войти в админку Magento, перейдя по адресу http://myMagentoSite.com/admin_andreyex, используя информацию, которую вы установили при запуске bin/magento setup:install.

8. Установка и настройка Varnish

Чтобы установить Varnish, нужно выполнить следующую команду:

apt-get install varnish

 

Из вашей админ панели  Magento нажмите на ссылку STORES (слева боковой панели) -> Конфигурация -> Дополнительно -> Система -> Полный кэш страниц

Снимите флажок «Использовать системное значение» и из списка приложений Caching, выберите Varnish Cache (рекомендуется), сохранить конфигурацию, нажмите на ссылку Настройка Varnish и нажмите на Export VCL для кнопки Varnish 4. Файл varnish.vcl, который мы будем использовать, будет экспортирован в каталог /var/www/myMagentoSite.com/var/.

 

Очистите кэш Magento:

php bin/magento cache:flush

 

Удалите /etc/varnish/default.vcl и создайте симлинк на конфигурацию varnish.

rm -f /etc/varnish/default.vcl
ln -sf /var/www/AndreyExMagentoSite.ru/var/varnish.vcl /etc/varnish/default.vcl

 

Для того, чтобы изменить порт в varnish с 6081 на 80, нам нужно изменить конфигурацию службы Systemd.

Создать новый файл customexec.conf

mkdir -p /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customexec.conf

 

вставьте следующее:

[Service]
ExecStart=
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

 

и перезагрузите службу Systemd

systemctl daemon-reload

 

Теперь нам нужно изменить слушающий порт Apache с 80 на 8080. Чтобы сделать это, откройте файл конфигурации портов Apache и измените его следующим образом:

nano /etc/apache2/ports.conf

Listen 80 -> Listen 8080
nano /etc/apache2/sites-available/magento.conf

<VirtualHost *:80> -> <VirtualHost *:8080>

 

Если все настроено правильно, то вы должны в состоянии войти в свой Magento, перейдя по ссылке https://myMagentoSite.com/admin_andreyex.

9. Установка и настройка Pound, как SSL Termination

Varnish не поддерживает SSL-трафик, так что вам нужно будет установить прокси или балансировку нагрузки, как Pound для обработки SSL трафика. Чтобы сделать это, мы настроим Pound только прослушивать порт 443 и передавать трафик на порта 80 Varnish.

Во-первых, давайте установим Pound:

apt-get install pound

 

Откройте файл конфигурации Pound:

nano /etc/pound/pound.cfg

 

и установить следующие значения:

ListenHTTPS
    Address 1.2.3.4 ## это должен быть ваш общедоступный IP-адрес сервера
    Port 443
    Cert "/etc/apache2/ssl/AndreyExMagentoSite.ru.pem" ## путь к вашему SSL сертификату
    HeadRemove "X-Forwarded-Proto"
    AddHeader "X-Forwarded-Proto: https"
    Service
        BackEnd
            Address 127.0.0.1
            Port 80
        End
    End
End

 

После того, как вы закончите, перезагрузите Apache и Varnish, и Pound:

service apache2 restart
service varnish restart
service pound restart

10. Далее оптимизация

Для дальнейшей оптимизации вашей установки Magento, зайдите в вашу админ панели управления Magento:

  1. Перейдите в МАГАЗИН -> Конфигурация -> Каталог -> Каталог -> Использовать плоский каталог, выберите Да и нажмите кнопку Сохранить конфигурацию.
  2. Перейдите в МАГАЗИН -> Конфигурация -> Дополнительно -> Разработчик -> Настройки JavaScript и установите объединение JavaScript файлов и минимизация JavaScript – файлов на Да и нажмите кнопку Сохранить конфигурацию.
  3. Перейдите в МАГАЗИН -> Конфигурация -> Дополнительно -> Разработчик -> Параметры CSS и установить объединение CSS файлов и минимизация CSS – файлов на Да и нажмите кнопку Сохранить конфигурацию.
  4. Рассмотрите возможность использования CDN – сеть доставки контента

Не забудьте очистить кэш снова:

php bin/magento cache:flush

 

Вы также можете следить за нашим руководством о том, как ускорить Magento.

Вот и все. Вы успешно установили Magento 2 с Memcache в качестве хранилища сеанса и кэширования страниц, Varnish как полное кэширование страниц и Apache на вашей Ubuntu 16,04 VPS и вы настроили Pound, как SSL Termination. Для получения дополнительной информации о том, как управлять установкой Magento, пожалуйста, обратитесь к официальному Magento документации.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 116

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close