Что такое веб окружение

Пошаговое разворачивание «1С-Битрикс: Веб-окружение» на CentOS для чайников

У Битрикса есть такая замечательная штука, как «1С-Битрикс: Веб-окружение», позволяющая в считанные минуты развернуть на чистом сервере полностью настроенный и оптимизированный сайт.
Являясь полным чайником в администрировании Linux веб-серверов, я долгое время обходила стороной выделенные серверы с отсутствием тех.поддержки и помощью в данных вопросах. А зря… когда разобралась, оказалось все действительно легко и просто.

Ниже привожу инструкцию, которой пользуюсь сама и даю своим сотрудникам.

Шаг 1 — Устанавливаем BitrixEnv

1) Заходим в SSH консоль сервера

2) Устанавливаем wget:

3) Далее устанавливаем окружение Битрикс:

Шаг 2 — Настраиваем почту на сервере

1) Открываем снова SSH консоль. В результате появится меню такого вида:
Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

2) Выбираем пункт настройки почты
3) Указываем нужные данные и сохраняем. Не всегда эти настройки срабатывают, тогда делаем дальше пункт 4-6.
4) Открываем файл /home/bitrix/.msmtprc
5) Записываем в файл такие настройки (пример для почты на pdd.yandex.ru):

6) Сохраняем файл.
Если настройки корректны, то при проверке отправки почты письмо должно уходить.

Шаг 3 — Разворачивание сайта

Для того чтобы развернуть сайт, нужно просто в браузере IP или доменное имя сайта (если уже привязано к хостингу). Появится стандартное окно установщика Битрикс.
Если установщик не открывается и выдает ошибку, то значит нужно открыть доступ к следующим портам:
25 bitrix smtp сервер
80 http
443 https
5222 bitrix xmpp сервер
5223 bitrix xmpp сервер по ssl
8090 ntlm авторизация
8891 ntlm авторизация ssl

Источник

Окружение для 1С-Битрикс на базе Docker

Зачем это нужно?

Долгое время все проекты нашей компании работали на PHP5, и вот возникло желание их ускорить путём перехода на PHP7, попутно обновиви всё окружение, необходимое для работы. Сразу возник вопрос: «Как заставить разные проекты работать на разных версиях PHP?»

Что пришло в голову:

Подбор окружения

Из СУБД выбрали Maria DB, так как во всех наших проектах важно быстрое чтение данных, необходимости одновременной записи данных нет.

Решили использовать связку Apache2 + Nginx, где Nginx обслуживает статические файлы а Apache2 берёт ответственность за динамику.

В будущем, в систему легко добавить, при необходимости, такие вещи как Redis, Memcached и т.п.

Структура окружения

Все наши проекты имеют копии на боевом сервере, используемые для тестирования изменений перед релизом. Поэтому мы условно разделили окружение на 2 части: demo и prod

Каждая из частей иммеют собственный контейнер с б/д. Т.е. базы данных demo и prod разделены. Так же demo и prod и включают в себя котейнер с PHP5 и контейнер с PHP7.

Во главе всего стоит Nginx proxy, направляя запросы именнно в тот контейнер который указан в конфигурационном файле. Это даёт возможность легко переключать версии PHP, просто перенаправив запрос в требуемый контейнер, так как файлы проектов доступны в каждом из них. Разница лишь в том, в какой среде они исполняются.

Пример конфигурации сайта для Nginx proxy:

Наглядно рассмотреть структуру системы можно на схеме:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Оптимизация системы

Большинство наших проектов работают на платформе 1С-Битрикс, поэтому мы настроили Apache2 и Nginx с учётом требований скипта bitrix_server_test, предоставляемого компанией 1С-Битрикс.

В контейнеры с веб-серверами установлены все необходимые расширения PHP, а также curl, rsyslog, htop, xvfb, libfontconfig, wkhtmltopdf, jpegoptim, optipng. Кроме того, настроено серверное сжатие файлов.

Особенности

Использование

В настоящее время данная система, в которой запущено более 30 проектов, исправно работает на нашем сервере.

Проект доступен на GitHub. Там же приведено более подробное описание файловой структуры проекта и описано как начать работу.

Источник

Установка 1С-Битрикс: Веб-окружение

1С-Битрикс: Веб-окружение позволяет развернуть окружение для работы продуктов 1С-Битрикс: Управление сайтом и Битрикс24 на Linux-платформе CentOS 7. В состав включены и преднастроены:

Установка

Для установки потребуется сервер с чистой установленной CentOS 7.

Примечание: Здесь и далее все команды должны выполняться под root.

Если вход под root отключен, залогинетесь под своей учетной записью, а затем перейдите под root.

Убедитесь, что находитесь в своей домашней директории:

Должны находиться в директории /root. Если нет перейдите в нее:

Затем скачайте скрипт установки, сделайте исполняемым, и запустите его:

Примечание: Если на сервере нет утилиты загрузки файлов wget, установите ее:

Примечание: Если при запуске скрипта получили предупреждение.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Согласитесь отключить SELinux, выбрав Y, после чего перезагрузите сервер и повторно запустите скрипт установки.

Когда установка закончится (5-10 минут), перезагрузите сервер:

При первом входе на сервер под root будет предложено сменить пароль пользователя bitrix. Если этого не произошло, запустите скрипт:

Установите пароль пользователя bitrix.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Далее будет предложено создать пул серверов. В меню BitrixEnv выберите Create Management pool of server, а затем укажите имя пула.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Мастер создания пула откроет необходимые порты в CentOS для корректной работы продуктов 1С-Битрикс. Когда пул будет создан, появиться интерактивное меню для взаимодействия с BitrixEnv.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Для выполнения команд, в меню BitrixEnv необходимо ввести число и нажать Enter. Чтобы выйти из BitrixEnv в консоль CentOS нажмите 0. Чтобы вернуться из командной строки (если нажали 0. Exit или Ctrl+C) обратно в меню BitrixEnv, введите в консоли команду:

Примечание: Чтобы проверить, какие порты открыты на сервере, нужно выйти из BitrixEnv в консоль CentOS и выполнить:

Если вызвать команду без прав root, не будет видно процессов, которые слушают порты. Примерный список портов:

25 — smtp сервер;
80 — http ;
443 — https;
5222 — bitrix xmpp сервер;
5223 — bitrix xmpp сервер по ssl
8890 — ntlm авторизация;
8891 — ntlm авторизация по ssl;
8893 — http сервер мгновенных сообщений;
8894 — https сервер мгновенных сообщений.

Примечание: При необходимости, откройте дополнительные порты и перезагрузите iptables:

Первоначальная настройка

Залогиньтесь в BitrixEnv.

Обновите серверные библиотеки до последних версий из меню веб-окружения: Configure localhost settings > Update server (аналог серверной команды yum update).

Для сервера определите хостнейм: Configure localhost settings > Configure hostname, например bitrix.site.ru

Проверьте обновления BitrixEnv Manage servers in the pool > Update packages on host.

Обновите (или для старых сайтов 1С-Битрикс понизьте) версии PHP и MySQL: Manage servers in the pool > Upgrade PHP and MySQL.

В настройках укажите таймзону: Manage servers in the pool > Configure pool timezone.

Убедитесь, что все команды были выполнены успешно Background pool tasks.

Перезагрузите сервер Configure localhost settings > Reboot server.

Добавление сайта

Предварительно настройте DNS-записи в на хостинге где размещены домены, записи должны соответствовать ip-адресу сервера.

В BitrixEnv запустите мастер добавления новго сайта Configure pool sites > Create site.

Спустя некоторое время сайт будет добавлен.

Cайт будет создан в каталоге /home/bitrix/ext_www/site.ru

Если записи для домена настроены, то при переходе по адресу сайта в браузере, откроется страница установки сайта 1С-Битрикс.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Теперь можно установить новый сайт или восстановить уже существующий из бэкапа.

Может пригодиться:

Ссылка на загрузку скрипта для новой установки битрикс: bitrixsetup.php
Ссылка на загрузку скрипта для восстановления сайта из бекапа: restore.php

Настройка почты

Залогиньтесь BitrixEnv. Выберите Configure pool sites > Change a site’s email settings.

Можно указать настройки почты для всех сайтов выбрав default или настроить почту для конкретного сайта выбрав его из списка.

Настройте почту для всех сайтов сервера, указав в Enter site name значение default.

Укажите почтовый адрес, Enter From email address.

Далее ведите DNS или IP-адреса почтового сервера Enter server address or DNS. Подтвердите нажатием Enter.

Укажите порт сервера Enter server port 25, 443 или иной используемый вашим почтовым сервером.

Выберите возможность авторизации на SMTP сервере Do you need auth options for. Если планируете использовать почту только для отправки уведомлений, нажмите N.

Укажите нужно ли использовать TLS Do you need TLS enabled for.

Подтвердите настройки нажатием Enter.

Настройки применены, посмотрите и при необходимости скорректируйте их в файле /home/bitrix/.msmtprc.

Пример настроек для хостинга сервера REG.RU

Промокод для REG.RU на скидку для заказа домена или хостинга: 2229-CC0A-AC4D-C31B

Пример настроек для корпоративного сервера Exchange

Пример настроек для Yandex почты

Важно: поле поле «From» («От кого») в настройках сайта Битрикс, не должно отличается от адреса пользователя, с данными которого производится авторизация на сервере.

Пример настроек для Google почты

Важно: поле поле «From» («От кого») в настройках сайта Битрикс, не должно отличается от адреса пользователя, с данными которого производится авторизация на сервере.

Попробуйте отправить тестовое письмо.

Из консоли сервера:

Или сайта на 1С-Битрикс (Инструменты — Командная PHP строка):

Если почта не отправляется

При ошибке вида: cannot use a secure authentication method, нужно включить авторизацию: auth on или auth login. Один из вариантов должен сработать, если нет — возможен другой, специфический механизм, это нужно уточнять у администратора почтового сервера.

Полезные ссылки

Если что то не получается или возникли ошибки, возможно вам смогут помочь статьи:

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Источник

“Битрикс: Веб-окружение” – установка и настройка

В начале этого года Битрикс выпустили новую, седьмую, версию своего “Веб-окружения”. Самое главное – теперь официально поддерживается установка на CentOS 7 и php 7. Небольшое пояснение, если вы не в курсе. «1С-Битрикс: Веб-окружение» – это готовая среда с предустановленным рекомендуемым набором программного обеспечения, необходимого для корректной работы CMS 1С-Битрикс. Поставляется как в большом многообразии – есть готовые образа для различной виртуализации (подробнее см. на официальном сайте) и установочный скрипт для установки на сервер. Вот работу с последним мы и рассмотрим.

Что получим

Веб-окружение позиционируется, как лучшее решение для всей линейки продуктов Битрикс – как для всех редакций “1С-Битрикс: Управление Сайтом” так и для коробки Битрикс24. Давайте посмотрим, что нам предлагают использовать в качестве рекомендуемой связки.
Сама схема традиционна: Apache+nginx. Для текущей 7.0.1 версии веб-окружения используются стабильные Apache 2.4 и nginx 1.10.2. Самое главное нововведение, переход на php 7. Про официальную поддержку nginx+php-fpm пока даже слухов нет, так что данный вариант по прежнему придется собирать руками.
Версия MySQL, а точнее форка MariaDB, по прежнему 5.5, в соответствии с официальными репозиториями CentOS. Хотя, если вы обновлялись до последних версий Битрикс, наверняка встречали предложение выполнить в консоли БД некий sql-запрос для модуля “Веб-мессенджер”, который можно провернуть только с версией 5.6. Про переход на 5.6, так же как нибудь расскажу.
Что еще входит в пакет:

Само собой все это уже настроено на корректную работу друг с другом. Давайте ставить.

Установка «1С-Битрикс: Веб-окружение» на сервер

Источник

Переезд на кластер под управлением «1С-Битрикс: Веб-окружение»

Собственно, если мы обратимся на сайт вендора, то там увидим что:

«1С-Битрикс»: Веб-окружение» — Linux служит для быстрой и простой установки всего ПО, необходимого для работы продуктов и решений «1С-Битрикс» на Linux-платформах CentOS 6 (i386, x86_64) и CentOS 7 (x86_64). Устанавливать необходимо на «чистый» CentOS, без уже установленного веб-сервера.

В состав «1С-Битрикс: Веб-окружение» — Linux входят: mysql-server, httpd, php, nginx, nodejs push-server, memcached, stunnel, catdoc, xpdf, munin, nagios, sphinx.

По сути, данный комплекс ПО содержит в себе настроенный LAMP, консольную панель управления сервером, плюс дополнительные, необходимые для работы некоторых модулей 1C-Bitrix, пакеты. Весь софт настроен с учётом особенностей 1C-Bitrix, а именно:

Итак, у нас было 2 app сервера (назовём их app01 и app01), 2 db сервера (db01, db02), 1 сервер под кэширование (cache01, ну вы поняли), точнее была идея реализовать структуру кластера подобным образом. Под этот план были получены 5 серверов, с установленными на них последними версиями centos7 (к сожалению, debian, ubuntu, fedora, rhel и др. не подходят), кроме os на серверы больше ничего не устанавливалось.

Т.к. мы собираем кластер, то необходимо определить, какой из серверов будет основным. Из-за особенностей балансировки запросов к приложению, один из серверов, где будет работать httpd, будет также содержать nginx. Все входящие запросы будет принимать также он, и после этого перенаправлять запрос на одну из доступных web-нод. Мы выбрали основным сервер app01.

В дальнейшем работа пошла по следующему плану:

1. Установить bitrixenv

Установка не подразумевает сверхъестественных знаний linux или администрирования. Заходим на каждый сервер через ssh и выполняем такие команды:

Ставить bitrixenv необходимо на все серверы, которые планируется использовать в кластере. Даже если сервер будет работать только как инстанс memcached, bitrixenv необходим, т.к. позволяет управлять всем кластером из основного сервера.

2. Настроить bitrixenv

Т.к. использовать весь этот зоопарк мы будем как кластер, то производить настройку серверов можно через меню окружения на app01. Для этого заходим на сервер через ssh, и запускаем файл /root/menu.sh. При первом запуске необходимо задать пароль для пользователя bitrix (аналогичную операцию необходимо провести на всех серверах, где планируется запуск сайта):

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Собственно, это тот пользователь, под которым будет работать приложение. После этого мы видим экран, предлагающий создать пул серверов:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Тут нам необходимо выбрать первый пункт меню. В процессе создания окружение запросит имя текущего сервера, тут то мы и указываем app01:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

После того, как пул будет создан, нас возвращают на первый экран окружения, но на этот раз там доступно куда больше пунктов:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

В общем окружение уже готово и можно им пользоваться. Если кластер нам не нужен, то на этом можно было бы и заканчивать, но мы пойдём дальше.

Теперь нам необходимо добавить в созданный пул все доступные серверы. Для этого воспользуемся первым пунктом меню и увидим такие варианты:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Опять выбираем первый пункт меню, и указываем ip нового сервера, его имя в кластере (те самые app02, db01, db02, cache01) и root-пароль от подключаемого сервера. Таким образом, поочерёдно добавляем каждый имеющийся сервер. После того, как все серверы зарегистрированы в кластере, мы должны получить примерно такой список на главном экране окружения:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Настройку ролей серверов пока отложим на следующий шаг.

3. Перенос проекта

Т.к. наше приложение изначально работает на одном сервере, то модуль масштабирования и управления кластером отключены, база не реплицирована. Сам перенос ничего сверхъестественного из себя не представляет — упаковали папки bitrix и upload, сняли дамп БД.

После того, как архивы и дампы готовы, заходим на app01, и тянем через git код проекта в дефолтную папку сайта в bitrixenv — /home/bitrix/www, скачиваем wget-ом или curl-ом архивы и дамп БД, распаковываем архивы и заливаем дамп в БД на app01, переносим записи cron.

Если ваше приложение использует дополнительный софт, то самое время его установить и настроить. В нашем случае были установлены и настроены supervisord и RabbitMQ, т.к. приложение работало с использованием очередей.

Есть небольшой, но важный, нюанс. При переносе сайта в кластер, необходимо чтобы на сайте были отключены модули scale и cluster, а в окружении кластера, в которое планируется перенос, серверы пулла были не задействованы. Включать в работу серверы кластера необходимо только после того, как сайт будет перенесён и развёрнут на основном сервере. В противном случае сайт не сможет корректно определять серверы кластера.

4. Включение кластерного режима работы

После того, как приложение было перенесено на app01, и мы проверили корректность его работы, пришла пора заняться самым интересным — масштабированием. Для начала необходимо установить модули scale и cluster в админ-панели 1C-Bitrix. Во время установки ничего особо делать не нужно, вся работа происходит далее.

Как только модули установлены, переходим в ssh-соединение с основным сервером, а это app01, и открываем меню bitrixenv (лежит тут /root/menu.sh). Прежде чем приступить к дальнейшей настройке, необходимо выяснить один важный момент — bitrixenv оперирует понятием “роль сервера”. Не имеет особого значения, как называется сервер в пуле, т.к. каждый сервер содержит весь софт, который входит в пакет bitrixenv, мы всегда можем назначить ему одну или несколько ролей, а можем снять их с него или поменять на другие. Основные роли это — mgmt (балансировщик, т.е. nginx), web (т.е. httpd/apache), mysql_master и mysql_slave (инстанс БД, slave появляется уже когда начинаем делать репликацию), memcached (сервер с memcached). Общая картина теперь понятна, и мы решили начать с memcached-сервера. Для этого заходим в пункт

и видим запрос имени сервера, который будет выполнять роль memcached-сервера. У нас уже есть заготовленный для этого сервер cache01, поэтому смотрим в список доступных серверов. Если cache01 есть в списке, значит никаких проблем с установкой нет, и мы можем дать серверу выбранную роль.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Вписываем название cache01, видим, что задача на установку роли поставлена в очередь. Дожидаемся окончания фоновых работ и видим готовый к работе сервер с необходимой нам ролью.

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Пришло время добавить второй app-сервер. Для этого переходим по пути

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

где нам необходимо указывать имя сервера и способ синхронизации между основной и новой web-нодой. Исходя из документации bitrixenv и предварительных испытаний, нашему проекту было достаточно выбрать первый вариант (за один шаг происходит и копирование проекта и настройка конфигов ноды). После того, как фоновые работы закончатся, мы должны увидеть в главном меню примерно такую картину:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Обратим внимание на то, что в колонке Roles напротив сервера app02 указана роль web.
Осталось разобраться с БД, её настройка занимает больше всего времени. Для начала вкратце объясню, как раздаются роли mysql в контексте bitrixenv. По-умолчанию на основном сервере кластера стоит master версия БД. В нашем случае необходимо было вынести БД на отдельный сервер и добавить ещё один сервер с slave-версией БД. В bitrixenv нельзя просто так взять и перенести master с одного сервера на другой)

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Указали сервер, которому хотим дать роль mysql_slave — db01. Дожидаемся окончания фоновых работ и видим такой результат:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Отлично, теперь переходим в

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Указываем app01 и ждём. В итоге должны увидеть примерно такой результат:

Что такое веб окружение. Смотреть фото Что такое веб окружение. Смотреть картинку Что такое веб окружение. Картинка про Что такое веб окружение. Фото Что такое веб окружение

Медленно и неотвратимо мы подошли к установке последней роли — mysql_slave. Для этого необходимо повторить действия, которыми мы устанавливали такую роль для db01, но указать уже db02.

Наконец, все серверы подключены и настроены.

5. Тюнинг производительности

После того, как кластер готов, есть некоторые особенности в настройке приложения, позволяющие провести дополнительную оптимизацию:

Выводы

В рамках данной статьи мы разобрали последовательность действий, необходимых для настройки кластера серверов на базе bitrixenv, а также некоторых возможных подводных камней. По итогам работы с bitrixenv, и кластером на нём, можем выделить плюсы и минусы данного подхода:

Плюсы bitrixenv

Минусы bitrixenv

Источник

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

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