Содержание

Основные сведения

Продукты компании «1С-Битрикс» - это программное ядро для всестороннего управления веб-проектами любой сложности. Система Bitrix Framework устанавливается в корневой каталог сайта (портала) на удаленном сервере. Доступ к управлению сайтами осуществляется посредством веб-браузера. Возможна установка и на локальный компьютер для ознакомления с системой.

Программные продукты компании «1С-Битрикс» имеют модульную структуру. Каждый модуль отвечает за управление определенными элементами и параметрами портала: информационным наполнением и структурой, форумами, рекламой, рассылкой, распределением прав между группами пользователей, сбором статистики посещений, оценкой эффективности рекламных кампаний и т.д.

Примечание: Общие возможности модулей и списки модулей для каждой редакции описаны на сайте компании «1C-Битрикс» в разделе Возможности: «1C-Битрикс: Управление сайтом» и «Битрикс24 в коробке». Подробная информация и работа с ними представлена в учебных курсах.

Модули системы, главным образом, работают независимо друг от друга. Однако в целом ряде случаев функционал одних модулей основан на возможностях других. Например:

  • Модуль Торговый каталог расширяет возможности модуля Информационные блоки и позволяет выполнять настройку цен товара в зависимости от различных условий, применять к товарам наценку и скидки и т.п.
  • Модуль Документооборот позволяет организовать последовательную коллективную работу с содержимым модулей Информационные блоки и Управление структурой.

После установки системы список используемых модулей можно просмотреть на странице Управление модулями (Настройки > Настройки продукта > Модули) в административном разделе системы:

Нажмите на рисунок, чтобы увеличить

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

  • Установлен – модуль и его элементы доступны для использования в системе;
  • Не установлен – модуль не доступен для использования в системе.

Для экономии дискового пространства неиспользуемые модули рекомендуется удалить, при этом дистрибутив модуля остается в системе, и он в любое время может быть снова установлен. Для установки и удаления модуля служат кнопки Установить и Удалить соответственно.

Обратите внимание, что при деинсталляции некоторых модулей система предлагает сохранить накопленные модулем данные (таблицы модуля). Если вы в дальнейшем планируете использовать эти данные, то при удалении модуля необходимо отметить соответствующую опцию.

Ссылки на функционал установленных модулей добавляются в соответствующие секции административного меню системы.

Для некоторых модулей данные в меню загружаются динамически. Например:

  • для модуля Информационные блоки выполняется динамическая загрузка списка типов инфоблоков;
  • для модуля Веб-формы выполняется динамическая загрузка списка веб-форм;
  • для модуля Управления структурой выполняется динамическая загрузка файловой структуры.

В зависимости от прав пользователя на доступ к модулям системы ему может быть доступен либо недоступен тот или иной функционал.

Управление уровнем прав пользователей на доступ к модулям системы осуществляется отдельно для каждого модуля на странице его настроек.

Форма настройки параметров модуля

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

  • с помощью административного меню: Настройки > Настройки продукта > Настройки модулей > имя_модуля;
  • с помощью кнопки Настройки Кнопка, расположенной на административной панели. Данная кнопка позволяет перейти к настройкам модуля, страницы (формы) которого открыты в текущий момент в основной рабочей области.

На странице настроек также выполняется управление общими параметрами работы модулей.

Дополнительная информация

Справочная информация

Где получать информацию о функционале и способах работы

Научиться работать с продуктами компании «1С-Битрикс» не сложно, но потребуется внимание и определённая мера усидчивости. А поможет в этом различного вида справочная информация, ссылки на которую расположены на сайте компании в разделе Документация.

Справочная иформация включает в себя:
  • Разные виды документации
  • Учебные курсы
  • Контекстная справка
  • Мастер магазина
  • Частые вопросы
  • Документация в файлах формата .chm

  • Документация

    Нажмите на рисунок, чтобы увеличить

    • Онлайн документация для пользователей - описание интерфейса системы управления сайтом, ее основных модулей и наиболее типичных операций. Также в ней содержится полное описание прикладного программного интерфейса.
    • Онлайн документация для разработчиков по старому ядру, по ядру D7 и по Rest_API. Предназначена для технических специалистов со знанием PHP и HTML. В ней содержатся сведения о технологиях и основных принципах, заложенных в систему, описание классов и функций по всем продуктам.


    • Учебные курсы

      Нажмите на рисунок, чтобы увеличить

      Онлайн Курсы - это методические пособия по работе с продуктом, которые включают в себя описание и примеры работы с системой.


      Контекстная справка

      Нажмите на рисунок, чтобы увеличить

      Контекстная справка выводит в Административной части системы информацию относящуюся к открытому в данный момент разделу или странице. Доступна как в 1С-Битрикс: Управление сайтом, так и в Битрикс24.


      Мастер магазина

      Мастер магазина - встроенная в административную часть система помощи с краткой информацией по конкретной задаче в рамках настройки и эксплуатации интернет-магазина с ссылками на более детальную информацию в конкретных учебных курсах.


      FAQ

      Частые вопросы - подборка решений наиболее часто встречающихся проблем при работе с продуктом в удобном представлении.


      Документация в файлах формата .chm

      Для изучения документации в оффлан (при отсутствии интернета) созданы файлы в формате справки Windows. Они содержат копию онлайн документации, эти файлы обновляются реже, чем источник на сайте. По возможности рекомендуем использовать онлайн документацию.

      Если не видно содержание файла CHM

      Файлы можно скачать с главной страницы учебного курса, либо с описания курса или документации на сайте компании.

      Внимание! В файлах формата .chm нет возможности просматривать видеоролики и не работают всплывающие подсказки. Это ограничения формата. Поэтому рекомендуем пользоваться онлайн версией курсов.

      Примечание: В дополнение к документации, информацию, касающуюся продуктов компании «1С-Битрикс», можно получить на сайте в разделе форум.

      Для администраторов и разработчиков так же рекомендуется познакомиться с опытом разработок сайтов на Bitrix Framework, который описывается в блогах разработчиков и в группах Социальной сети сайта компании 1С-Битрикс.


      Как отформатирован текст в курсе

      Форматирование текста облегчает восприятие информации

      Читать монотонный текст сложно. Форматирование - один из способов облегчить понимание смысла. Опишем правила форматирования, чтобы вам было легче ориентироваться.



      Форматирование текста

      Жирный шрифт используется для выделения важных в смысловом значении слов, терминов, фраз и предложений. То есть то, что особенно важно в контексте описываемого функционала:

      • Ключевое смысловое слово, фраза.
      • Термины, названия элементов интерфейса: кнопки, вкладки, поля, горячие клавиши, формат или название файла.
      • Название курса, глав курса, разделов и страниц сайтов. (Как правило название глав или курсов даются ссылкой, но иногда это бывает излишним.)
      Примеры использования жирного шрифта
      Пример названия курса или главы Изучение курса позволяет освоить основные методы администрирования системы, а так же пополнить знания по темам, изученным в курсе Контент-менеджер.
      Пример названий элементов интерфейса: При этом у компонента Список новостей нужно настроить входные параметры так, чтобы он мог формировать ссылки на страницу детальной новости (с кодом новости). Для этого нужно в группе параметров Шаблоны ссылок в поле URL страницы детального просмотра задать путь к этой странице, а также название параметра, в котором будет передаваться код новости для показа.
      Пример ключевой фразы, слова При регистрации сервера обязательно укажите Домен для NTLM авторизации. Он должен полностью (включая регистр) совпадать с названием домена.


      Курсив и подчёркивание используются для выделения:

      • Названия продуктов компании 1С-Битрикс, других программ и технологических платформ.
      • Названия методов, классов, функций и событий, если нет их описания в API доке. (Если описание есть, то название метода или класса оформляется ссылкой на страницу документации.)
      • Пространство имён в новом ядре D7.
      • Ключевое слово, фраза, термин, если использование жирного шрифта не желательно по каким-то причинам.
      Примеры использования курсива
      Пример названия метода:Усовершенствованные методы буферизации в шаблоне позволяют более не использовать CBitrixComponentTemplate::EndViewTarget() ввиду того, что конец шаблона вызывает завершение буферизации автоматически. (Если страница метода в документации есть, то будет так: Перед подключением компонента ко всем значениям параметров применяется функция htmlspecialcharsEx.)
      Пример названий продуктов и платформ:Чтобы научиться эффективно работать в Bitrix Framework, нужно не сравнивать то, что вы знаете по другим системам, а стараться понять как то или иное реализуется в этой системе. В плане обучения «сравнительный» подход не работает. Просто отвлекитесь от старых знаний и изучите новую систему используя только знания PHP и сайтостроения, а не сравнивая идеологии и технологии.
      Пример пространства имён в D7:При необходимости модуль может организовывать подпространства внутри своего пространства имен. Например, Bitrix\Main\IO, Bitrix\Forum\SomeName\SomeNameTwo.


      Серый фон текста используется для выделения:

      • путей в рамках файловой системы.
      • атрибутов, тегов html, параметров функций, переменных, значения полей и настроек и листинга кода, который нет смысла помещать в стиль для листинга.
      Примеры использования серого фона
      Пример выделения путей в рамках файловой системы:Результаты кеширования сохраняются в виде файлов в каталоге /bitrix/cache/.
      Пример выделения атрибутов, тегов и так далее:Если в компоненте написать код:
      $arParams = & $arSomeArray;
      то переменная $arParams будет отвязана от члена класса компонента и привязана к массиву $arSomeArray.


      Синий курсив с > используется для подсветки путей в продукте. То есть пути выглядят так же как они оформлены в административном отделе системы.

      Примеры использования синего курсива
      Пример оформления путей в административном отделе системы:Файлы кеша можно удалить в административной части на закладке Очистка файлов кеша страницы Настройки > Настройки продукта > Автокеширование.


      Синий шрифт используется для подсветки УРЛ без создания собственно ссылки - псевдо УРЛ.

      Примеры использования синего шрифта
      Пример псевдо УРЛ:При помощи access_token приложение совершает запросы к REST-сервису до его истечения.
      https://имя_портала.bitrix24.ru/rest/user.current?auth=код_авторизации


      Форматирование текста цветом используется в случаях, когда надо выделять информацию, относящуюся к разным сущностям в паралелльных процессах.

      Примеры использования цветного шрифта
      Цветной шрифт:
      • Настроить инфоблок на контроллере:

        ........

      • На подключенном сайте надо создать инфоблок с таким же значением внешнего кода, как и на контроллере. Кроме привязки к сайту, названия и внешнего кода необходимо настроить и права доступа к инфоблоку.

        ......



      Всплывающие подсказки

      Всплывающие подсказки обозначаются цветом шрифта и пунктирным подчёркиванием. Такие подсказки используются там, где:

      • Нужно либо пояснить какой-то термин.
        Пример: Как правило все сайты имеют возможность авторизации из [dw]публичного раздела[/dw][di]Публичный раздел - то, что видит посетитель сайта, но для контент-менеджера - это основное место работы . Подробнее...[/di].
      • Дать наглядное представление о команде интерфейса.
        Пример: При включённом режиме Правки откройте на [dw]редактирование элемент инфоблока[/dw][di][/di], например, новость.
      • Дать дополнительную, но не относящуюся напрямую к выполняемым работам, информацию.
        Пример: Этот инструмент создаст ссылку с одним единственным [dw]слешом[/dw][di]Слеш - косая черта, которая используется для разделения слов в адресе сайта[/di] после [dw]домена сайта[/dw][di]Домен сайта - адрес по которому открывается самая главная страница. Например: yandex.ru[/di].


      Форматирование абзацев текста

      Форматирование целых абзацев текста используется для выделения какой-либо информации с целью указать направленность этой информации.


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

      Статическая информация – это информация, которая редко изменяется с течением времени. Например, рекламные тексты, история компании, контактная информация и т.п. Статическая информация создается, редактируется, дополняется и удаляется пользователями, обладающими правом на редактирование страниц сайта. Такое редактирование производится, как правило, в визуальном редакторе непосредственно в тексте самой страницы.



      В Примечании размещается информация, поясняющая текст на странице, на которую стоит обратить внимание. Это могут быть примеры, расширенное объяснение, уточнение, ссылка на дополнительную информацию. Например:

      Примечание: этот способ относится только к приложениям третьего типа. Приложения первого и второго типов получают и продлевают авторизацию автоматически.



      Предупреждения - это информация, имеющая критическое значение для работы того или иного функционала продукта. Например:

      Важно! Если курс был деактивирован, то результаты тестов и сертификаты по этому курсу будут недоступны пользователям. Если курс был удален, то результаты тестов и сертификаты этого курса будут также удалены.

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



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

      Задание окна для открытия ссылки при редактировании в режиме кода (для ознакомления)

      Чтобы избежать лишней прокрутки экрана, в спойлерах может быть размещена большая по объёму информация.



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

      Учебное видео
      Управление валютами

      Содержание видеоролика может отличаться от текущей версии продукта. Более актуальная информация содержится в тексте урока.


      Глоссарий

      Каждая платформа имеет свои термины, используемые в работе. Чтобы без проблем ориентироваться в документации, учебных курсах, при общении с разработчиками желательно объяснять ваши трудности не «на пальцах», а на языке понятном специалистам. Ниже в помощь вам приведен глоссарий терминов системы и несколько общих терминов, активно используемых в системе.


      ТерминОписание
      Экземпляр программыКопия какого-либо продукта «1C-Битрикс», включающая в себя исходный текст продукта и только одну копию структуры и таблиц базы данных, входящих в состав продукта, а также любую документацию по использованию продукта.
      ПорталОдин набор файлов, хранящихся в каталоге /bitrix/modules/, и одна копия базы. Портал включает в себя один или более сайтов. Синонимом данного термина может служить: «экземпляр продукта», «одна инсталляция системы», «одна копия системы».
      СайтСовокупность таких понятий как:
      • учетная запись в базе данных - создаётся в административном меню Сайты, включает в себя следующие основные параметры:
        • идентификатор - набор символов, идентифицирующий сайт;
        • доменное имя - одно или более доменное имя сайта;
        • папка сайта - путь к каталогу в котором будет храниться публичная часть сайта;
        • язык сайта;
        • формат даты и времени;
        • URL - протокол и доменное имя по умолчанию (например, http://www.site.ru);
        • DocumentRoot - если многосайтовость организована на разных доменах, то в данном параметре должен храниться путь в файловой системе сервера к корню сайта;
        • условия подключения шаблонов - каждый сайт может иметь один или более шаблонов для отображения скриптов своей публичной части, каждый такой шаблон может быть подключен по тому или иному условию;
      • публичная часть - совокупность скриптов (страниц), лежащих в «папке сайта» и принадлежащих этому сайту;
      • настройки - каждый модуль может иметь ряд настроек, связанных с сайтом, например у модуля Информационные блоки эти настройки представляют из себя привязку информационного блока к тому или иному сайту, у модуля Техподдержка - привязку статуса, категории и т.п. к сайту.
      Шаблон сайтаСинонимом можно считать - дизайн сайта, скин сайта. Для показа одного сайта можно использовать несколько различных шаблонов. В шаблон сайта входят:
      • набор файлов в каталоге /bitrix/templates/ID_шаблона/, где ID_шаблона - поле ID в форме редактирования шаблона сайта. Структура данного каталога:
        • /components/ - каталог с компонентами, принадлежащими тому или иному модулю;
        • /lang/ - языковые файлы, принадлежащие как данному шаблону в целом, так и отдельным компонентам;
        • /images/ - каталог с изображениями данного шаблона;
        • /page_templates/ - каталог с шаблонами страниц и их описанием, хранящимся в файле .content.php;
        • /include_areas/ - каталог с файлами - содержимым включаемых областей;
        • header.php - пролог данного шаблона;
        • footer.php - эпилог данного шаблона;
        • styles.css - CSS стили, используемые на страницах сайта, когда используется данный шаблон;
        • template_styles.css - CSS стили, используемые в самом шаблоне;
        • .тип меню.menu_template.php - шаблон вывода меню соответствующего типа;
        • chain_template.php - шаблон по умолчанию для вывода навигационной цепочки;
        • а также ряд других вспомогательных произвольных файлов и папок, входящих в данный шаблон.
      Раздел сайтаКаталог в файловой системе сервера. В Bitrix Framework структура сайта - это файловая структура сервера, поэтому страницы сайта - это файлы, а разделы сайта - соответственно каталоги.
      КомпонентЯвляется частью того или иного модуля, представляет из себя логически завершенный код, хранящийся в одном файле, принимающий ряд параметров, выполняющий ряд действий и выводящий какой-либо результат (например, в виде HTML кода). Использование компонента является наиболее предпочтительным способом организации вывода информации как в публичной, так и в административной частях. В понятие компонент входят следующие элементы:
      • основной файл - подключается с помощью функции CMain::IncludeFile, представляет из себя скрипт на языке PHP, реализующий логику компонента;
      • языковые файлы - используются в компоненте для представления его результата на различных языках;
      • описание - это PHP код, используемый визуальным редактором для управления компонентом и его параметрами;
      В данный момент используются компоненты версии 2.0. Использование компонентов 1.0 не рекомендуется, но их ещё можно встретить на сайтах, построенных на ранних версиях системы.
      Система обновленийТехнология SiteUpdate позволяет:
      • скачивать обновления продукта;
      • загружать новые модули и обновления для имеющихся модулей, расширяющие их функциональные возможности;
      • загружать языковые файлы и устанавливать новые языки;
      • выполнять регистрацию лицензий на дополнительные сайты.
      Данные загружаются с сайта компании «1С-Битрикс» через веб-интерфейс административного раздела продукта. В процессе обновления выполняется модификация только ядра продукта (файлы папок /bitrix/modules/, /bitrix/tools/, /bitrix/admin/ и /bitrix/components/bitrix/). Обновление не затрагивает публичную часть портала, полностью исключая возможность потери данных.

      Обновление системы осуществляется в несколько шагов:

      • система обновлений автоматически запрашивает лицензионный ключ продукта;
      • затем выполняется проверка наличия доступных обновлений;
      • далее пользователю предлагается выбрать обновления для загрузки;
      • после этого происходит загрузка выбранных обновлений.
      Все обновления и новые модули сначала компрессируются, а затем загружаются на сайт владельца.
      Путь к компонентуИспользуется в функции CMain::IncludeFile в качестве первого параметра и представляет из себя путь к основному файлу компонента относительно одного из следующих каталогов (в порядке убывания приоритета):
      • /bitrix/templates/ID шаблона сайта/;
      • /bitrix/templates/.default/;
      • /bitrix/modules/ID модуля/install/templates/
      Где:
      ID шаблона сайта - идентификатор текущего шаблона сайта,
      ID модуля - идентификатор модуля, которому принадлежит компонент.
      Включаемые области Это специально выделенная область на странице сайта, которую можно редактировать отдельно от основного содержания страницы. Реализуется с помощью специального программного компонента.
      ЯзыкЭто учетная запись в базе данных, доступная для редактирования в административном меню на странице Языки интерфейса, со следующими полями: Как в публичной, так и административной частях, язык в первую очередь используется в работе с языковыми файлами.
      В административной части язык определяет формат времени, даты, кодировку страниц (в публичной - данные параметры определяются настройками сайта).
      Языковой файлПредставляет из себя PHP скрипт, хранящий переводы языковых фраз на тот или иной язык. Данный скрипт состоит из массива $MESS, ключи которого - идентификаторы языковых фраз, а значения - переводы на соответствующий язык. Для каждого языка существует свой набор языковых файлов, хранящихся как правило в каталогах /lang/.
      Языковые файлы, как правило, используются в административных скриптах модулей и в компонентах.
      Для работы с языковыми файлами предназначен модуль Перевод.
      Шаблон страницыЭто файл, хранящийся в одном из каталогов:
      • /bitrix/templates/ID шаблона сайта/page_templates/
      • /bitrix/templates/.default/page_templates/
      Данный файл представляет из себя заготовку публичной страницы. Как правило, используется при создании новой страницы в модуле Управление структурой. Для задания порядка сортировки шаблонов страниц используется файл .content.php находящийся в одном из вышеуказанных каталогов.
      Пролог

      В общем случае, под данным термином понимается верхняя левая часть страницы.

      Для публичной части, пролог соответствующего шаблона сайта хранится в файле /bitrix/templates/ID шаблона сайта/header.php.

      Для административной части - пролог хранится в файле /bitrix/modules/main/interface/prolog_main_admin.php.

      В свою очередь пролог может быть разделен на служебную и визуальную части. В служебной части подключаются все необходимые классы, создаётся соединения с базой, создаются ряд служебных экземпляров объектов, таких как $USER, $APPLICATION и т.д. В визуальной части выводится верхняя левая часть страницы.

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

      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

      Если по тем или иным причинам необходимо разделить пролог на служебную (prolog_before.php) и визуальную (prolog_after.php) части, то используем следующий код:

      require($_SERVER["DOCUMENT_ROOT"].
      "/bitrix/modules/main/include/prolog_before.php");
      ...
      require($_SERVER["DOCUMENT_ROOT"].
      "/bitrix/modules/main/include/prolog_after.php");
      Эпилог

      В общем случае под данным термином понимается нижняя правая часть страницы.

      Для публичной части, эпилог соответствующего шаблона сайта хранится в файле /bitrix/templates/ID шаблона сайта/footer.php.

      Для административной части - эпилог хранится в файле /bitrix/modules/main/interface/epilog_main_admin.php.

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

      Если в публичной части необходимо подключить неразделенный эпилог, то используем следующий код:

      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

      Если по тем или иным причинам необходимо разделить эпилог на визуальную (epilog_before.php) и служебную (epilog_after.php) части, то используем следующие коды:

      require($_SERVER["DOCUMENT_ROOT"].
      "/bitrix/modules/main/include/epilog_before.php");
      ...
      require($_SERVER["DOCUMENT_ROOT"].
      "/bitrix/modules/main/include/epilog_after.php");

      Примечание: Обратите внимание, что в случае пролога файл *_before.php это служебная часть, а в случае эпилога *_before.php это визуальная часть. Такое отличие возникает потому, что пролог перед телом страницы, а эпилог - после.

      Тело страницыТело страницы это часть PHP/HTML кода, расположенного в скрипте между подключениями пролога и эпилога. Тело страницы не является частью шаблона сайта и представляет из себя индивидуальное содержимое публичной либо административной страницы.
      Навигационная цепочкаЭто элемент дизайна, предназначенный в первую очередь для улучшения навигации по сайту. Навигационная цепочка выводится в визуальной части пролога и состоит из заголовков разделов сайта с соответствующими ссылками на них. Помимо заголовков разделов, добавляемых автоматически, вы также можете добавлять произвольные пункты в навигационную цепочку.
      Административная частьРаздел системы, содержащий интерфейс для управления модулями системы, структурой, содержанием, посетителями и другими составляющими сайта. Это множество скриптов, в которых подключен административный пролог и эпилог. Их подключение подразумевает:
      • данная страница не принадлежит ни одному сайту;
      • в то же время она принадлежит какому-либо модулю;
      • имеет строго определённый административный интерфейс;
      • все параметры локализации данной страницы зависят от выбранного текущего языка;
      • на этой странице используется дополнительная проверка прав, задаваемых в настройках соответствующего модуля.
      Публичная частьРаздел системы, доступный для отображения посетителям сайта. В общем случае, под данным термином понимается множество скриптов, у которых подключен пролог и эпилог одного из шаблонов сайта. Их подключение подразумевает:
      • данная страница принадлежит какому либо сайту;
      • имеет интерфейс текущего шаблона сайта;
      • все параметры локализации данной страницы зависят от текущего сайта.
      Режим Правка Режим, при котором текущая страница публичного раздела отображается в особом виде: выделены используемые компоненты, включаемые области, редактируемые области и т.д. Каждая такая область имеет набор кнопок для быстрого перехода к редактированию данного элемента страницы.
      Индексная страница (файл)Это имя файла, который будет использован веб-сервером в случае, если запрашиваемый URL заканчивается на слэш и не содержит в себе имени файла. Порядок, в котором будут искаться индексные страницы для различных веб-серверов, задается по разному, например:
      • Apache - в файле httpd.conf, параметр DirectoryIndex;
      • IIS - в свойствах сайта, закладка Documents > Enable default content page;
      К сожалению, в PHP значение данного параметра недоступно, поэтому для определения индексной страницы в коде необходимо пользоваться функцией GetDirIndex.
      ПользовательЗапись в базе данных, содержащая параметры зарегистрированного пользователя с такими обязательными полями как:
      • логин;
      • пароль;
      • E-Mail.
      А также ряд дополнительных полей, содержащих личную информацию о пользователе, информацию по его работе, административные заметки.

      Регистрационные данные (логин и пароль), указанные пользователем при регистрации либо полученные им автоматически (например, при импорте), в дальнейшем используются для авторизации в системе. В результате регистрации пользователь привязывается к определенной группе и получает право на доступ к ресурсам портала в соответствии с правами данной группы.

      Группа пользователейСовокупность пользователей портала, обладающих определенными правами на доступ и управление ресурсами портала (например, пользователи группы Модераторы обладают правом на чтение и редактирование сообщений форума). Управление группами пользователей осуществляется на странице Группы пользователей в административном разделе (Настройки > Пользователи > Группы пользователей).
      Многоязычный интерфейсВозможность реализуется за счет использования языковых файлов, хранящих перевод фраз на соответствующие языки для:
      • административного раздела;
      • сообщений об ошибках;
      • визуальных компонентов;
      • соответствующих областей в шаблоне портала;
      • и т.д.
      В соответствии с текущим языком интерфейса выполняется подключение необходимых языковых файлов. В результате сообщения отображаются пользователю на выбранном им языке. Переключение между языками административного интерфейса осуществляется с помощью соответствующих кнопок на административной панели.
      Мета-тэгМета-тэг это один из элементов HTML, позволяющий задать информацию о странице. Указать, например, кодировку страницы, ее ключевые слова, автора, задать краткое описание страницы. Как правило, содержимое мета-тэгов используется в служебных целях, например, роботами поисковых систем, индексирующих сайт. Мета-тэг задается внутри тэга <head>.
      ЛокализацияПодразумевает представление информации в переводе на соответствующий язык, в соответствующей кодировке данного языка и с использованием соответствующих форматов представления данных, характерных для этого языка (например, дата, время, денежные единицы, числа и т.д.).
      ХостВ применении к функциям главного модуля, под данным термином понимается доменное имя или IP адрес, посредством которого можно обратиться к тому или иному сайту.
      Доменное имя (домен)Строго говоря, это одно из полей DNS таблицы (domain name service), содержащее в себе строго структурированное имя интернет сайта, заданное по определённым правилам. Основная задача DNS таблицы - это ассоциация доменных имен с IP адресами сайтов. Пример доменного имени: 1c-bitrix.ru
      IP адресЭто "имя" компьютера в сети, заданное по правилам протоколов TCP/IP. IP адрес состоит из четырех октетов, часть из которых идентифицирует подсеть, в которой находится компьютер, а часть - непосредственно этот компьютер в рамках соответствующей подсети. Пример IP адреса: 198.63.210.79.
      Accept-LanguageНабор языков, установленных в браузере посетителя сайта. К примеру, для MS Internet Explorer их можно выставить в меню Сервис > Свойства обозревателя > Общие > Языки. Для Mozilla Firefox: Меню > Настройки > Содержимое > Языки.
      Время в Unix-форматеКоличество секунд, прошедшее с 1 января 1970 года, с точностью до микросекунды. На сегодняшний день, время в Unix-формате может фиксироваться только до 2038 года.
      Права в Unix системахВ Unix-подобных операционных системах (являющихся доминирующими на сегодняшний день для интернет серверов) поддерживаются три вида прав - чтение, запись и выполнение, которые присваиваются каждому файлу или директории. Права эти повторяются три раза: для владельца файла, для группы пользователей, к которой владелец принадлежит, и для всех остальных пользователей. Как правило, права указываются в числовом формате:
      • 4 - чтение;
      • 2 - запись;
      • 1 - выполнение.

      Сумма этих чисел дает окончательный набор прав, например, 6 - это чтение и запись, но без выполнения, 7 - все права, 5 - чтение и выполнение.

      Таким образом, например, право 764 будет означать: 7 - все права для владельца файла, 6 - чтение и запись для группы пользователей, к которой принадлежит владелец файла и 4 - чтение для всех остальных пользователей.

      В PHP все права задаются в виде восьмеричных чисел, поэтому их надо задавать с обязательным указанием префикса - 0. Пример: 0755.

      Путь относительно корняПуть к файлу, начинающийся от каталога, указанного в параметре DocumentRoot в настройках веб-сервера, заданный по правилам формирования URL-адресов. Пример:/ru/about/index.php
      Полный путьВключает в себя протокол, домен, порт и путь относительно корня к странице (каталогу). Пример: http://www.bitrixsoft.ru/ru/about/index.php
      Абсолютный путьАбсолютный путь к файлу включает в себя DocumentRoot и путь относительно корня.
      DocumentRootПуть к корню сайта в файловой системе сервера. Задается в настройках веб-сервера, например:
      • для Apache - в файле httpd.conf, параметр DocumentRoot;
      • для IIS - в свойствах сайта, закладка Home Directory > Local Path.
      СабмитОтправка данных HTML формы на сервер.
      СессияПод термином понимается сессия PHP. Сессия может открываться в момент захода на сайт и закрывается при закрытии окна браузера. Также новая сессия открывается при авторизации пользователя, если закончить сеанс авторизации (разлогиниться) - сессия закрывается. Синонимом термина сессия можно считать один "заход на сайт".
      HTML-безопасный видКак правило данный термин применяют к тексту, в котором произведены следующие замены:
      ИсходноеРезультат
      <&lt;
      >&gt;
      "&quot;
      &&amp;

      Подобные замены позволяют выводить текст внутри HTML кода, не опасаясь, что он будет интерпретирован браузером как часть этого HTML кода.
      Связывание переменныхВ применении к SQL-запросам для Oracle версии, под данным термином подразумевается связывание имен переменных (либо полей таблицы) с их значениями. Как правило, подобная технология используется для полей типа BLOB, CLOB, LONG и т.п. предназначенных для хранения больших объемов данных.
      ДампВ применении к базе данных, под термином подразумевается выгрузка содержимого и, возможно, структуры таблиц в файл в определённом формате, для их возможной дальнейшей загрузки обратно в данную, либо любую другую базу. Для каждой базы данных существуют свои утилиты, позволяющие сделать дамп, например для MySQL утилита mysqldump позволяет выгрузить в формате обычных SQL запросов, для Oracle утилита exp позволяет выгрузить в своем внутреннем формате.
      В применении к переменным, дамп подразумевает отображение структуры и содержимого переменной в текстовом виде.
      cron (крон)В Unix-подобных операционных системах утилита cron позволяет организовать запуск скриптов по четко указанному расписанию.
      БуферизацияПод этим термином в PHP понимается такой режим, при котором весь исходящий поток данных из PHP скрипта (например, HTML код) запоминается предварительно в памяти и не отдается браузеру пользователя. Буферизацию в PHP можно включить с помощью функции ob_start. В дальнейшем буферизацию можно отключить, например с использованием функции ob_end_flush, при этом все накопленные данные будут отосланы браузеру. Буферизация позволяет произвольно манипулировать исходящим потоком данных, на этом принципе основана технология отложенных функций.
      Постоянное соединение (persistent)При создании соединения с базой, в памяти создаётся дескриптор данного соединения. Если соединение обычное, то после отработки скрипта этот дескриптор удаляется, если соединение постоянное, он остается и может быть использован другими процессами при необходимости. Достоинством постоянного соединения является то, что, как правило, времени на его работу требуется меньше. Но есть и недостаток - количество открытых постоянных соединений ограничивается в настройках базы данных и при превышении этого лимита посетитель не сможет зайти на сайт пока не освободятся новые соединения.
      Почтовое событиеЭто почтовое сообщение, имеющее свой тип и отправляемое по соответствующему почтовому шаблону. Почтовое событие инициализирует поля типа почтового события конкретными значениями. Порядок расположения этих полей в письме, а также текст письма, определяется почтовым шаблоном.
      Для создания почтового события предназначен класс CEvent. Используется в Почтовой системе.
      Почтовый шаблонОпределяет текст почтового сообщения, а также порядок расположения полей (placeholder'ов), заданных в типе почтового события.
      Почтовые шаблоны доступны в административном разделе на странице Почтовые шаблоны (Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны).
      Для манипуляции почтовыми шаблонами предназначен класс CEventMessage. Используется в Почтовой системе.
      Тип почтового событияОпределяет набор специальных полей (placeholder'ов), которые могут быть использованы в почтовом шаблоне. В момент создания почтового события эти поля будут инициализированы конкретными значениями.
      Типы почтовых событий доступны в административном разделе на странице Типы почтовых событий (Настройки > Настройки продукта > Почтовые события > Типы почтовых событий).
      Для манипуляции типами почтовых событий предназначен класс CEventType. Используется в Почтовой системе.
      КастомизацияИзменение логики работы компонента или шаблона компонента под частные задачи.
      API (SDK)Каждый модуль системы содержит набор высокоуровневых функций для выборки данных в публичном разделе сайта и набор классов с низкоуровневыми методами для более специализированной работы с данными модуля. Подробная информация по API каждого модуля представлена в документации для разработчиков.

      Схема работы продукта

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

      Общая схема работы продукта

      Видеоматериалы к курсу "Администратор. Базовый"

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

      Примечание: Некоторые видеоролики созданы на примере устаревшего интерфейса и будут заменены актуальными в ближайшее время. Эти материалы помечены *. Принципиально работа продукта в разных интерфейсах не меняется, но возможны расхождения в названиях команд, расположении кнопок и некоторые другие несовпадения.

      Название видеоролика Размер файла, Мб Длительность, мин:секОтносится к уроку
      Визуальный редактор
      Управление и настройка *11.533:42 Работа с визуальным редактором
      Редактирование шаблона *9.711:48 Редактирование шаблона сайта
      Редактирование шаблона. Дополнительные возможности * 6.561:42 Редактирование шаблона сайта
      Работа с инструментами
      Резервное копирование
      7.77 2:26 Регулярное резервное копирование
      Примеры операций модуля Информационные блоки
      Создание календаря событий * 22.38:41 Создание календаря событий


      Установка и настройка

      Раздел Установка и настройка описывает процедуры:

      • установки ознакомительной и коммерческой версии продукта;
      • установки системы с помощью Битрикс: Веб-окружение;
      • процесса регистрации продукта на сайте компании «1С-Битрикс» и получение полнофункциональной системы;
      • установка системы на Виртуальную машину BitrixVM;
      • другие вопросы, связанные с установкой системы.

      Для специалистов, выполняющих настройку веб-серверов (Apache, IIS) самостоятельно, рекомендуется дополнительно изучить документацию по настройке соответствующего программного обеспечения.

      Выбор хостинга

      Для размещения сайтов на платформе «1С-Битрикс» подходит любой хостинг, который соответствует техническим требованиям продукта.


      В таблице ниже представлены данные для того, чтобы сориентироваться какой хостинг выбрать для оптимальной производительности в зависимости от редакции продукта «1С-Битрикс».

        Первый сайт,
      Старт,
      Стандарт
      Эксперт,
      Малый бизнес
      Бизнес,
      Enterprise
      Категория хостинга Virtual (Виртуальный (shared) хостинг) VPS (Виртуальный выделенный сервер) VDS (Виртуальные машины)
      Дисковое пространство от 1-3 Гб от 5 Гб от 10 Гб
      Максимальное количество одновременных процессов (FastCGI) от 4 от 4 от 8
      Максимальное время выполнения скрипта от 60 сек от 120 сек от 180 сек
      Ограничение по используемой памяти на процесс от 32 Мб от 64 Мб от 128 Мб
      Оперативная память от 512 Мб от 1024 Мб от 2048 Мб

      Компания «1С-Битрикс» рекомендует клиентам и разработчикам проверять потенциальный хостинг специальным скриптом bitrix_server_test. Скрипт постоянно обновляется под выявляемые проблемы и обновления системы.

      Также можно выбрать хостинг для продуктов «1С-Битрикс» у наших сертифицированных партнеров.

      В самом продукте «1С-Битрикс» соответствие сервера требованиям системы можно протестировать модулем Монитор производительности.



      Системные требования

      В силу больших возможностей системы и наличия готовых компонентов почти для любой задачи продукт «1С-Битрикс» занимает в зависимости от редакции на диске от 50 Мбайт и больше, а сложная структура страницы может потребовать для ее обработки определенного объема памяти. Но благодаря своей архитектуре, платформа Bitrix Framework позволяет серверу легче переносить большие нагрузки.

      В главе указываются основные технические требования к серверному программному обеспечению, сведения о поддержке стандартов и технологий, а также требования к программному обеспечению пользователя продуктами «1C-Битрикс». Современное аппаратное обеспечение перекрывает потребности системы практически в любом случае.

      Требования к серверному программному обеспечению

      Веб-сервер, который может выполнять PHP приложения

      Apache (рекомендуется) работа на этом сервере оптимальна.


      Для "1С-Битрикс: Управление сайтом" (не для "Битрикс24 в коробке") возможно использование:

      IIS (Internet Information Server)(возможна установка) – работа продукта возможна с IIS 5, IIS 6 и IIS 7 и 7.5. Требуется дополнительная настройка для корректной работы с продуктом.

      Eserv (возможна установка) – продукт тестировался для совместной работы с веб-сервером.


      PHP

      Для работы продукта требуется наличие PHP версии не ниже 5.3.х. Выбор PHP-версии зависит от требований, предъявляемых вашим хостинг-провайдером, либо от установленной версии PHP на локальном компьютере. Рекомендуется использовать самую последнюю стабильную версию PHP, чтобы исключить возможность появления ошибок, связанных с PHP, а также для большей безопасности проекта на сервере.

      Внимание! С 1 января 2018 года минимальное требование версии PHP будет 5.6. Рекомендуется для новых проектов использовать уже версию PHP 7/7.1.

      Для корректной работы продукта требуется наличие следующих расширений PHP:

      • GD – библиотека для работы с изображениями, требуется для построения графиков и диаграмм для модулей статистики, рекламы, техподдержки. Используется для работы механизма CAPTCHA.
      • PHP XML – используется для работы системы обновлений. Библиотека по умолчанию включена в стандартной установке PHP. Для версии под Windows - поддержка встроенная.
      • FreeType – библиотека необходима для корректной работы механизма CAPTCHA.
      • Поддержка регулярных выражений (POSIX и Perl-compatible) – необходима для корректной работы внутренних механизмов продукта.
      • Zlib compression – библиотека компрессии используется для работы модуля Компрессии и при работе системы обновлений для уменьшения количества передаваемых данных от сервера к клиенту.
      • PHP-акселератор – крайне рекомендуется наличие PHP-акселератора, например OPcache или XCache, для значительного ускорения работы PHP-приложений (рекомендуется OPcache, он доступен сразу «из коробки» в PHP v.5.5+).

        Внимание: eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.

      Примечание: Для базы данных MySQL доступна кодировка UTF-8. Для корректной поддержки кодировки UTF-8 необходимо проверить, установлен ли в PHP модуль mbstring. Для этого в настройках PHP, в файле php.ini, должно быть:
       mbstring.func_overload=2
       mbstring.internal_encoding=UTF-8



      Поддержка серверов баз данных


      MySQL – минимальным техническим требованием является использование версии MySQL 5.0 и выше.

      Для работы с СУБД MySQL требуется установленная поддержка MySQL для PHP.

      Внимание! С 1 июня 2016 стартовала Программа «1С-Битрикс» по переходу на базу данных MySQL. С 1 января 2017 года поддержка продуктов «1С-Битрикс» на Oracle Database и MS SQL Server стала ограниченной: клиенты не могут скачивать обновления продукта платформы и воспользоваться возможностями новых версий продукта.



      Настройки PHP

      Для корректной работы продукта необходимо установить следующие параметры PHP:

      1. memory_limit = 64M; Максимальный объем памяти в байтах, который разрешается использовать для работы PHP ядру продукта (в данном случае - 64 Мб).

        Обратите внимание: указанный параметр может быть изменен
        • непосредственно в файле php.ini;
        • из скрипта с помощью функции: ini_set("memory_limit", "64M");

          Примечание: такая строка добавляется в файле /bitrix/php_interface/dbconn.php в момент установки, значение задается пользователем.

        • в файле .htaccess с использованием директивы: php_value memory_limit 64M
        • в файле httpd.conf с использованием директивы: php_admin_value memory_limit 64M

        Обратите внимание: установка параметров PHP из .htaccess возможна только при выполнении следующих условий:
        • используется веб-сервер Apache или совместимый с ним (IIS не является совместимым сервером);
        • файлы .htaccess обрабатываются веб-сервером, т.е. в настройках веб-сервера (httpd.conf) установлена директива: AllowOverride All или другое значение, отличное от None;
        • PHP установлен как модуль Apache (в случае, если PHP работает как CGI, все необходимые значения следует учесть и установить при сборке PHP)
      2. file_uploads = On; Параметр определяет возможность загрузки на сервер файлов.

        Дополнительно к указанному параметру устанавливаются значения следующих параметров:

        • upload_tmp_dir = <имя каталога>

          Обратите внимание! Необходимо, чтобы указанный каталог существовал и на него были права на запись для пользователя, под которым работает веб-сервер. Параметр upload_tmp_dir может быть закомментирован в php.ini по умолчанию.

        • upload_max_filesize = <достаточный размер>
      3. Необходимо, чтобы была корректно настроена работа с сессиями в PHP. Рекомендуется проверить наличие пути для сохранения файлов сессий.

        Обратите внимание, если параметр session.save_path не настроен в файле php.ini, то по умолчанию будет использовано значение /tmp.

        В случае, если в параметрах URL на сервере появляется PHPSESSID=..., отключить его можно следующим образом:
        • В файле php.ini установить: session.use_trans_sid = 0
        • В файле .htaccess установить: php_flag session.use_trans_sid off
          Для демонстрационного сайта строка включена в указанный файл, требуется только раскомментировать ее.

        Важно! C целью безопасности необходимо обязательно указывать отдельную папку хранения сессий для каждого пользователя хостинга.

      Поддержка стандартов и технологий. Требования к клиентскому программному обеспечению

      Система «1С-Битрикс» разработана с использованием и поддержкой следующих технологий:

      HTML/XHTML – система не накладывает ограничений на использование шаблонов, разработанных с использованием HTML/XHTML.

      JavaScript – система не накладывает ограничений на использование JavaScript в шаблонах сайта, шаблонах меню и на страницах сайта.

      AJAX – технология используется в публичном интерфейсе продукта, компонентах 2.0, административной панели управления для ускорения работы с информацией сайта и уменьшения количества передаваемых данных от сервера к клиенту. Система не накладывает ограничений на использование технологии AJAX в публичных разделах сайта.

      CSS – система предполагает использование различных таблиц каскадных стилей для каждого шаблона сайта. Отдельные таблицы стилей могут быть использованы для настройки представления публичных компонентов и шаблонов отдельных модулей (например, модули форума, техподдержки, опросов). Административная панель управления разработана с учетом возможности создания своих «визуальных тем», которые основаны на разработке отдельных таблиц стилей.

      Flash – система ограниченно поддерживает технологию Macromedia (ныне Adobe) Flash. Элементы Flash могут быть использованы:

      • в качестве элементов оформления в шаблонах сайтов;
      • в качестве загруженных в систему рекламных баннеров;
      • как интерактивные элементы, взаимодействующие с системой;

      RSS – продукт поддерживает стандарт RSS версий 0.92 и 2.0. RSS используется для организации обмена информацией между модулями Информационные блоки, Блоги и Форум.

      CommerceML – система реализована с поддержкой стандарта CommerceML версии 1.0. Поддержка стандарта позволяет обеспечить обмен информацией между:

      • «1C-Битрикс: Управление сайтом» и системой программ «1C:Предприятие» версий 7.7 и 8.х;
      • «Битрикс24 в коробке» и системой программ «1С:Зарплата и Управление Персоналом».

      CSV – система использует стандарт CSV для организации обмена данными модуля информационных блоков с другими системами.

      Поддержка браузеров – программный продукт разработан с учетом поддержки наиболее распространенных браузеров (Internet Explorer с версии 11.0). Административная часть оптимизирована для работы с ними. Показ публичной части сайта не зависит от типа браузера.



      Примечания:
      • Работа визуального редактора может функционально отличаться при использовании браузеров различных типов.
      • Некоторые функции API могут производить HTML-код, не соответствующий стандарту XHTML, и не полностью проходить проверку соответствия стандарту, указанному в объявлении типа документа <!DOCTYPE>.



      Виртуальная машина BitrixVM v7.x

      «1C-Битрикс: Виртуальная машина» - бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.

      Виртуальная машина сэкономит время и силы на правильное развертывание и администрирование сайта или внутреннего информационного ресурса на базе продуктов «1С-Битрикс».

      С помощью специальных ВМ-решений вы можете быстро получить оптимально сконфигурированный сервер, не уступающий по производительности BitrixVM, а по масштабируемости - превосходящий виртуальную машину «1С-Битрикс». Пакеты подготовлены специалистами «1С-Битрикс» и доступны для скачивания и использования.

      Решения для оптимизации установки продуктов «1С-Битрикс»:

      1. «1C-Битрикс: Виртуальная машина 7.x»

        «1C-Битрикс: Виртуальная машина 7.x» специально сконфигурирована для быстрого исполнения программных продуктов «1С-Битрикс»: разворачивается за минуты и сразу же готова к работе! На виртуальную машину можно не только установить ознакомительные версии продуктов «1С-Битрикс», но и перенести свои, уже готовые проекты.

        Дистрибутивы BitrixVM доступны для:

        • VMWare;
        • Sphere;
        • VirtualBox;
        • HyperV.

      2. «1С-Битрикс: Веб-окружение» - Linux (BitrixEnv)

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

      3. Virtuozzo Application Template для запуска оптимизированного VPS «Битрикс»

        Пакет Virtuozzo VZ Application Template для «Битрикс» с использованием решения «1С-Битрикс: Веб-окружение» - Linux 2.0. Шаблон предназначен для установки (создания) Virtuozzo контейнеров на основе CentOS 6 (i386, x86_64) и CentOS 7 (x86_64) packaged as a Virtuozzo EZ Template.

      4. Amazon Elastic Compute Cloud (Amazon EC2)

        Amazon EC2 - это веб-сервис, предоставляющий масштабируемые вычислительные мощности и созданный для быстрого и простого разворачивания веб-приложений на площадках (в облаках) Amazon. Специалистами «1С-Битрикс» подготовлены предконфигурированные образы BitrixVM (AMI-образы) для быстрого запуска приложений «1С-Битрикс» в Amazon EC2, которые включают:

        • CentOS 7.x;
        • NGINX + Apache2;
        • PHP 5.6+;
        • MySQL5 with InnoDB support;
        • Mail server agent;
        • UNIX-like Control Menu with common tasks;
        • IP address via DHCP, or configured by Amazon Elastic IP;
        • HTTPS support.

        Список ami-образов по регионам можно посмотреть на странице BitrixVM.

      Внимание!«1C-Битрикс: Виртуальная машина» версии 7.x также позволяет управлять масштабированием серверов пула в простом визуальном режиме в административном интерфейсе с помощью модуля Управление масштабированием.



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

      Описание установки ПО виртуализации не входит в данное руководство. По всем вопросам установки этой программы обращайтесь к документации соответствующего ПО.

      Если у вас возникнут вопросы по процессу установки продуктов компании «1С-Битрикс», вы можете обратиться в службу Технической поддержки. Обсуждение работы BitrixVM доступно на специализированном форуме или в группе Виртуальные машины Битрикс социальной сети компании «1С-Битрикс».


      Внимание! Информацию по устаревшим версиям «1C-Битрикс: Виртуальная машина» можно прочитать тут: версия 5.х и версия 4.3.

      Внимание! Все названия хостов, адреса e-mail, серверов, ip-адреса и т.п информация в учебном курсе указываются в качестве примера. Поэтому при настройке виртуальной машины необходимо использовать свои данные.

      Внимание! Если в BitrixVM или в BitrixEnv меняется ssl-сертификат с установленного по умолчанию на свой, и сертификат запаролен, то это вызовет проблему в работе мастеров и при перезапуске сервисов. Будет постоянно запрашиваться ввод пароля. Чтобы избежать подобных проблем, нужно удалить пароль из сертификата:
      /path/to/openssl rsa -in /path/to/originalkeywithpass.key -out /path/to/newkeywithnopass.key
      


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

      «1С-Битрикс: Веб-окружение» - Linux (BitrixEnv) будет полезно:

      • Для пользователей и разработчиков, которые использовали продукт «1С-Битрикс: Виртуальная машина» в процессе подготовки сайта и столкнулись с проблемой переноса конфигурации на хостинг или на невиртуальное оборудование и потерей производительности.
      • Для специалистов хостинг-партнеров, планирующих создать шаблоны различных VPS для продуктов «1С-Битрикс».
      • Для системных администраторов, которым требуется быстро подготовить производительную платформу для установки или миграции сайтов на основе «1С-Битрикс».
      • Для программистов и системных администраторов, которым требуется быстро развернуть кластер для проектов на основе «1С-Битрикс».

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

      • mysql-server 5.*
      • web-server (Apache 2.2.*)
      • php 5.6/7.0.х
      • nginx 1.10.2
      • memcached
      • stunnel
      • catdoc
      • xpdf
      • munin
      • nagios
      • sphinx


      Рассмотрим установку «1С-Битрикс: Веб-окружение» - Linux на оборудовании с уже установленной CentOS 7 (Minimal) (i386, x86_64).

      1. Авторизуемся на сервер под административным аккаунтом root.
      2. Загружаем скрипт «1С-Битрикс: Веб-окружение» - Linux и запускаем его командами:
        wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh
        chmod +x bitrix-env.sh
        ./bitrix-env.sh
        

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

      3. Далее необходимо согласиться на отключение SElinux (если SElinux включен в системе) и перезагрузить машину командой reboot:

      4. После отключения SElinux нужно запустить снова установку BitrixEnv командой:
        ./bitrix-env.sh
        
      5. В процессе установки потребуется установить пароль root для MySQL и установка завершена:

        Внимание! Пароль root для MySQL обязателен, без установки пароля root для MySQL не будут работать многие команды меню BitrixEnv. Вы всегда сможете сменить пароль root для MySQL позже.

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

      7. Далее нужно создать пул (1. Create Management pool of server) и можно приступать к работе:

        Внимание! В «1С-Битрикс: Веб-окружение» - Linux версии 7.x+ нужно обязательно создать пул (1. Create Management pool of server). Мастер создания пула откроет все необходимые порты в CentOS для корректной работы сервисов продуктов «1С-Битрикс».

      8. Cервер готов для дальнейшего использования.
      9. После всех настроек сервера в целях безопасности не забудьте выйти из учетной записи root:
        • Выйти в консоль, выбрав в меню 0. Exit (или нажать Ctrl+C)
        • И затем в консоли выполнить команду exit

      «Тихая» установка BitrixEnv (silent mode)

      С версии 7.1 появилась возможность создания пула в тихом режиме, когда после установки окружения BitrixEnv запускается сразу создание пула с нужным именем хоста и паролем для root MySQL.

      ./bitrix-env.sh [-s] [-p [-H hostname]] [-M mysql_root_password]
      
      где:
      • -s - Тихий режим установки. Не задавать вопросы (Silent or quiet mode. Don't ask any questions).
      • -p - Создать пул после установки окружения (Create pool after installation of bitrix-env).
      • -H - Имя хоста (Hostname for for pool creation procedure).
      • -M - Пароль root для MySQL (Mysql password for root user).

      Пример использования:

      Запустить установку окружения в тихом режиме, создать пул с именем хоста server1 и задать пароль root пользователя MySQL - 111111.

      ./bitrix-env.sh -s -p -H server1 -M '111111'
      

      Как управлять BitrixEnv

      Для перехода к выполнению любого действия в меню виртуальной машины введите число и нажмите Enter. Например, для настройки локального виртуального сервера в строке наберите 2 (Manage localhost) и нажмите Enter.

      Чтобы вернуться из командной строки (если нажали 0. Exit) обратно в меню BitrixEnv, введите в консоли команду:

      /root/menu.sh


      Запуск виртуальной машины BitrixVM


      Запуск виртуальной машины BitrixVM

      1. Загрузите подходящий вам дистрибутив настроенной виртуальной машины BitrixVM.
      2. Загруженный архив распакуйте в любую папку, например, С:\BitrixVM\ и запустите виртуальную машину с помощью подходящего ПО:

      3. Начнется процесс загрузки операционной системы, установленной на виртуальной машине. В конце загрузки откроется окно:

      4. При первом запуске виртуальной машины будет предложено сменить пароли суперпользователя root и пользователя bitrix:

        Примечание: Для суперпользователя root по умолчанию задан пароль bitrix.

        • В строке localhost login укажите логин: root, а в поле Password пароль: bitrix.
        • В строке (current) UNIX password укажите текущий пароль (bitrix) и нажмите Enter.
        • Введите новый пароль в строке Enter new UNIX password и нажмите Enter.
        • Повторите ввод нового пароля в строке Retype new UNIX password и нажмите Enter.

        Аналогично происходит смена пароля пользователя bitrix:

        Примечание: Сменить пароль пользователя bitrix можно позднее в панели управления виртуальным сервером с помощью пункта меню 1. Create Management pool of server - Change bitrix password.

      5. Далее нужно обязательно создать пул управления сервером с помощью меню 1. Create Management pool of server.

        Внимание! В BitrixVM версии 7.x+ нужно обязательно создавать пул (1. Create Management pool of server). Мастер создания пула откроет все необходимые порты в CentOS для корректной работы сервисов продуктов «1С-Битрикс».

      6. Виртуальный сервер готов для дальнейшего использования.
      7. После всех настроек виртуального сервера в целях безопасности не забудьте выйти из учетной записи root:
        • Выйти в консоль, выбрав в меню 0. Exit (или нажать Ctrl + C)
        • И затем в консоли выполнить команду exit



      Как управлять BitrixVM

      Для перехода к выполнению любого действия меню виртуальной машины введите число и нажмите Enter. Например, для настройки локального виртуального сервера в строке наберите 2 (Manage localhost) и нажмите Enter.

      Чтобы вернуться в вашу ОС, нажмите Ctrl+Alt (VMWare Player).

      Чтобы вернуться из командной строки (если нажали 0. Exit) обратно в меню виртуальной машины, введите в консоли команду:

      /root/menu.sh

      Примечание: При возникновении проблем с сетевым адаптером VMWare Player необходимо перейти в настройки сетевого адаптера (Virtual Machine > Removable Devices > Network Adapter > Settings...), выбрать один из режимов (Bridged, NAT, Host-only):

      и перезапустить виртуальный сервер, выбрав пункт меню 2. Manage localhost > 4. Reboot server.



      Установка и перенос продуктов «1С-Битрикс» в BitrixVM/BitrixEnv

      Установка и перенос продуктов «1С-Битрикс» может быть осуществлена несколькими способами.

      Установка дистрибутива сайта в BitrixVM/BitrixEnv

      Для установки продукта «1С-Битрикс» нужно:

      1. Перейти по адресу bitrix url, указанному в BitrixVM или BitrixEnv в браузере. Откроется страница с выбором варианта установки:

      2. Для продолжения необходимо выбрать один из вариантов:

        • Установить - в этом случае будет запущен мастер, который позволяет скачать и установить новый сайт средствами продуктов компании «1C-Битрикс». Шаги этого варианта аналогичны шагам, рассмотренным в главе Установка продукта с помощью BitrixSetup («1C-Битрикс: Управление сайтом» или «Битрикс24 в коробке»).

        • Восстановить копию - в этом случае будет запущен мастер, с помощью которого можно будет перенести существующий проект (восстановить проект из резервной копии). Шаги этого варианта аналогичны шагам, рассмотренным в главе Перенос продукта («1C-Битрикс: Управление сайтом» или «Битрикс24 в коробке»).



      Перенос продукта «1C-Битрикс» в виртуальную среду BitrixVM/BitrixEnv

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


      Создание архива сайта

      1. Перейти на страницу Резервное копирование (Настройки > Инструменты > Резервное копирование):

        • архив сайта может быть сохранен в облаке «1С-Битрикс»;

          Внимание! Опция копирования в облако «1С-Битрикс» доступна пользователям с активной лицензией. Также, в целях безопасности, все резервные копии сайта отправляются в облако «1С-Битрикс» всегда зашифрованными. Компания «1С-Битрикс» не может восстановить или поменять пароль! Будьте внимательны, без знания этого пароля восстановить архив не удастся!

        • либо в папке сайта (архив сайта будет сохранен в папке /bitrix/backup/ хостинга с уникальным именем файла).

      2. На вкладке Параметры можно выбрать экспертные настройки создания резервной копии:

        Примечание: Для безопасности данных рекомендуется включить опцию Шифровать данные резервной копии и ввести пароль для архива сайта.

      3. После успешного создания архива сайта он будет доступен на странице Список резервных копий (Настройки > Инструменты > Список резервных копий) . Здесь будут показаны все резервные копии:

      4. Далее понадобится Получить ссылку для переноса с помощью одноименного меню действий:

        и в появившемся окне скопировать ее в буфер обмена:

      5. Также можно скачать архив сайта на локальный компьютер с помощью пункта меню Скачать.


      Копирование сайта в виртуальную среду BitrixVM/BitrixEnv

      1. Запустить предварительно настроенную виртуальную среду BitrixVM или BitrixEnv.

      2. В адресной строке браузера ввести http://адрес_виртуальной_машины/ (можно указать домен или ip-адрес).

      3. Откроется мастер установки продукта «1С-Битрикс», где нужно выбрать Восстановить проект:

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

        Примечание: Также есть возможность загрузить архив из облака «1С-Битрикс» (понадобится лицензионный ключ с действующей лицензией), с локального компьютера или из корневой папки сервера в зависимости от того, где хранится ваша резервная копия.

      5. После скачивания архива, если архив был зашифрован, то будет предложено ввести пароль:

      6. Далее необходимо настроить подключение к базе данных:

        Настройки подключения к MySQL по умолчанию в BitrixVM/BitrixEnv берутся из /home/bitrix/www/bitrix/php_interface/dbconn.php.

        Можно указать собственные параметры подключения к MySQL - в этом случае необходимо еще выбрать опцию Создать базу данных, если не существует.

      7. После успешного восстановления базы данных в целях безопасности необходимо Удалить локальную резервную копию и служебные скрипты, нажав на одноименную кнопку:

      8. Перенос продукта «1C-Битрикс» на виртуальную среду BitrixVM/BitrixEnv закончен:


      Ошибка "Call to undefined function mysqli_init()"

      При переходе на новую версию платформы BitrixVM/BitrixEnv может возникнуть ошибка - "Call to undefined function mysqli_init()". Причина ошибки в том, что раньше в БД MySQL использовалось расширение mysql (объявлено устаревшим в PHP 5.5.0), а в новых версиях - mysqli.

      Решение проблемы:

      1. В файле \bitrix\php_interface\dbconn.php добавить:
        define("BX_USE_MYSQLI", true); 
        
      2. В файле \bitrix\.settings.php:
        'className' => '\\Bitrix\\Main\\DB\\MysqlConnection',
        
        поменять на:
        'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
        
      3. Проверить наличие в файле /etc/php.d/30-mysqli.ini (или в подобном):
        extension=mysqli.so
        
      4. Cделать рестарт httpd:

        • CentOS 6:
          service httpd restart
          
        • CentOS 7:
          systemctl restart httpd.service
          


      1. Управление хостами (1. Manage Hosts in the pool)

      Для начала работы с сервисами нужно создать и настроить пул сервера или нескольких серверов. Для этого нужно выбрать пункт главного меню 1. Create Management pool of server и ввести название сервера в данном пуле.

      После создания пула в основном меню добавятся новые пункты в главном меню:



      1. Добавление нового хоста в пул (1. Add new host in the pool)

      Внимание! Добавление хостов в пул (кластер) нужно для масштабирования системы, для распределения нагрузки между несколькими серверами. Если у вас нет дополнительных серверов, то необходимости добавления хостов в пул нет.

      Внимание! На добавляемом хосте в пул (кластер) должно быть установлено BitrixVM или BitrixEnv.


      Добавление нового хоста в пул (кластер) осуществляется с помощью меню 1. Manage Hosts in the pool > 1. Add new host in the pool.

      Для этого необходимо задать ip-адрес или DNS-имя хоста, выбрать короткое имя (в примере - server2) и ввести пароль root для подключаемого сервера:

      Примечание: Имя хоста можно выбрать любое, можно указать, что хотите: bx1, server10, mysite.com (можно и имя домена, если он один) и т.д.

      Таким образом, можно добавлять любое количество серверов в пул:

      Теперь можно управлять любым сервером пула с одной машины.

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


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Удаление хоста из пула (2. Delete host from pool)

      Удаления хоста, находящегося в пуле, осуществляется с помощью меню 1. Manage Hosts in the pool > 2. Delete host from pool . Если на хосте есть хоть какие-то роли, то удаление хоста невозможно.

      Для этого необходимо задать ip-адрес или DNS-имя хоста удаляемого из пула сервера:

      После подтверждения сервер будет удален из пула:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Перезапуск хоста (3. Reboot host)

      Перезагрузка хоста, находящегося в пуле, осуществляется с помощью меню 1. Manage Hosts in the pool > 3. Reboot host.

      Для этого необходимо задать имя хоста (в данном примере - server2) и согласиться на перезапуск сервера:



      4. Обновление BitrixEnv на хосте (4. Update BitrixEnv on host)

      С помощью менеджера пула можно удаленно обновлять Веб-окружение и компоненты системы на любом хосте, входящем в пул.

      Например, в пул добавлена виртуальная машина версии 5.1.8, нам нужно обновить ее до 7.х.х.

      • Выбираем пункт меню 1. Manage Hosts in the pool > 4. Update BitrixEnv on host, система спросит имя хоста для обновления и подтверждение действия:

      • Менеджер пула запустит задачу обновления Веб-окружения на удаленном хосте:

        Примечание: Посмотреть текущие фоновые задачи можно в главном меню 5. Background tasks in the pool > 1. View running tasks.

      • Через некоторое время система на удаленном хосте обновится до последней версии (в данном примере - 7.0.0)

      Таким же образом можно обновлять включенные в пул виртуальные машины ранних версий.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      5. Смена пароля пользователя bitrix (5. Change password for bitrix user on host)

      Смена пароля для пользователя bitrix осуществляется через пункт меню 1. Manage Hosts in the pool > 5. Change password for bitrix user on host.

      Будет выдан запрос имени хоста, на котором нужно сменить пароль пользователя bitrix, новый пароль и согласие на смену пароля:

      Внимание! Сменить пароль пользователя root через меню виртуальной машины нельзя. Для этого необходимо воспользоваться системными командами ОС. Например, для Centos 6.х/7.x консольная команда смены пароля пользователя root: passwd.



      6. Настройка таймзоны в пуле (6. Configure timezone in the pool)

      Настройка таймзоны - очень важный параметр, который обязательно нужно проверить и при необходимости настроить правильно. Параметр влияет на синхронизацию с 1С, календари, заказы и многое другое, где требуется дата и время.

      Дата и время на сервере - это не одна конкретная дата и время, это фактически три различных даты и три различных времени со своими часовыми поясами:

      • Время сервера
      • Время PHP
      • Время MySQL

      Смена таймзоны происходит через пункт меню веб-окружения 1. Manage Hosts in the pool > 6. Configure timezone in the pool, и меняет дату и время, в трех местах сразу, т.к это очень важный момент, что все три места работают с одинаковыми параметрами времени и даты.

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

      • После этого будет предложено также изменить таймзону для PHP:

      • И в заключение нужно подтвердить изменение таймзоны для всех серверов, входящих в пул:

      Примечание: Корректность установки времени у PHP и MySQL можно проверить также через административный веб интерфейс продуктов «1C-битрикс»: Настройки > Инструменты > Проверка системы.



      7. Удаление конфигурации пула (7. Remove pool configuration)

      Внимание При удалении конфигурации пула происходит сброс информации о нодах и настроек подключения к ним. Поэтому не рекомендуется это делать, если:


      Удаления конфигурации пула осуществляется с помощью меню 1. Manage Hosts in the pool > 7. Remove pool configuration.

      После подтверждения конфигурации пула будет удалена:

      Меню же вернется к своему первоначальному состоянию:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      8. Обновление PHP и MySQL (8. Upgrade php and mysql versions)

      В процессе обновления BitrixVM до версии 5.1.х и выше PHP и MySQL автоматически не обновляются. Обновить их можно в ручном режиме с помощью пункта меню виртуальной машины 1. Manage hosts in the pool - 8. Upgrade php and mysql versions.

      Примечание: Пункт меню 1. Manage hosts in the pool - 8. Upgrade php and mysql versions появится только при обновлении BitrixVM с предыдущих версий до версии 5.1.х и выше.

      Внимание! Для того, чтобы воспользоваться обновлением PHP до версии 7.0, необходимо предварительно обновить версию PHP до 5.6 и MySQL до 5.5 с помощью пункта меню 1. Manage hosts in the pool - 8. Upgrade php and mysql versions и далее уже повторно с помощью этого же пункта меню обновить до версии PHP 7.х.

      После выбора пункта 8. Upgrade php and mysql versions, подождав пока выполнится фоновая задача обновления, в итоге будут обновлены PHP и MySQL до своих актуальных версий.


      Если вам понадобится вернуться c PHP 7.x на 5.6, то вы можете сделать это, выбрав пункт 1. Rollback php to 5.6 version:


      Если вы обновили BitrixVM/BitrixEnv до версии 7.1 и выше, то у вас появится возможность обновить версию MySQL до 5.7 Percona DB. Сделать это можно, выбрав пункт 2. Upgrade mysql to 5.7 version:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Управление локальным сервером (2. Manage localhost)

      • 1. Configure hostname - задается название хоста виртуального сервера;
      • 2. Configure network interface via DHCP - настройка IP-адреса сервера через DHCP;
      • 3. Configure network interface manually - настройка IP-адреса сервера вручную;
      • 4. Reboot server - перезагрузка виртуального сервера;
      • 5. Shutdown server - выключение виртуального сервера;
      • 6. Update server - обновление компонентов операционной системы виртуальной машины.
      • 0. Previous screen or exit - возвращение к главному меню.


      1. Изменение имени хоста (1. Configure hostname)

      Чтобы задать имя хоста локального сервера, нужно перейти в главном меню 2. Manage localhost - 1. Configure hostname.

      Далее согласиться на изменение имени хоста и ввести название Input hostname - например server1 (по умолчанию имя хоста - localhost.localdomain):

      После чего системе будет присвоено новое имя:

      Примечание: Имя хоста можно выбрать любое, можно указать, что хотите: bx1, server10, mysite.com (можно и имя домена, если он один) и т.д.



      2. Настройка IP-адреса сервера через DHCP (2. Configure network interface via DHCP)

      При первом старте BitrixVM получение IP-адреса сервером происходит автоматически, если в сети есть настроенный DHCP-сервер.


      Чтобы сменить или обновить IP-адрес локального сервера с помощью DHCP-сервера, нужно:

      • Перейти в главном меню 2. Manage localhost - 2. Configure network interface via DHCP.
      • Выбрать сетевой интерфейс (в данном примере - ens33) и автоматически будет получен IP-адрес от DHCP-сервера:



      3. Настройка IP-адреса сервера вручную (3. Configure network inteface manually)

      Для задания IP-адреса в ручном режиме необходимо:

      • Перейти в главном меню 2. Manage localhost - 3. Configure network interface manually.
      • Выбрать сетевой интерфейс (в данном примере - ens33).
      • Ввести данные:

        • Type IP address - новый IP-адрес сервера;
        • Type broadcast - широковещательный адрес сети;
        • Type network mask - маска подсети;
        • Type default gateway - шлюз по умолчанию;
        • Type DNS server - адрес DNS-сервера.
      • Проверить введенные данные и дать согласие на изменение параметров сети сервера:



      6. Обновление локального сервера (6. Update server)

      Внимание! Обновление продукта «1C-Битрикс: Виртуальная машина» - сложная операция, в процессе которой происходит обновление системных файлов операционной системы виртуальной машины, и для этого необходимы соответствующие знания администрирования *nix-систем. Перед запуском обновления рекомендуется сделать полный бекап «Виртуальной машины».


      Для обновления локальной виртуальной машины необходимо выбрать в административном меню пункт 2. Manage localhost - 6. Update server и согласиться на обновление.

      Скрипт автоматически проверит обновления компонентов, выдаст общий объем для загрузки и запрос на установку.

      Внимание! Этот пункт меню запускает обновление компонентов лишь текущей виртуальной машины. Если у вас несколько серверов в пуле (кластер), то целесообразно производить обновление для всех виртуальных машин, входящих в этот пул.



      Примечания:
      • Если после обновления, что-то перестанет работать, то можно вернуть полностью или частично старые файлы настроек соответствующей службы, т.к. конфигурационные файлы при обновлении не перезаписываются, а сохраняются в файлах *.ori.(метка времени).
      • Также в процессе обновления могут отключиться некоторые модули php. Для их включения необходимо выполнить следующие команды:
        mv -f /etc/php.d/(имя модуля).ini.disabled /etc/php.d/(имя модуля).ini
        service httpd restart
        

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Настройка MySQL (3. Configure MySQL servers)

      1. Обновить настройки для всех MySQL-серверов (1. Update settings for all MySQL servers)

      Чтобы обновить настройки для всех MySQL-серверов, нужно перейти в главном меню 3. Configure MySQL servers - 1. Update settings for all MySQL servers:

      Опция обновляет конфигурацию одного или нескольких MySQL-серверов в пуле (если такое имеется) и приводит их к дефолтным настройкам для виртуальной машины.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Изменить пароль root для mysql-сервера (2. Change password for mysql user root)

      Внимание! В BitrixVM/BitrixEnv версии 7.x+ пароль root для MySQL-сервера не может быть пустым. При первом запуске BitrixVM он автоматически создается, а при установке BitrixEnv будет выдан запрос на создание пароля root для MySQL-сервера.

      Если вам понадобилось сменить пароль root MySQL-сервера, нужно перейти в главном меню 3. Configure MySQL servers - 2. Change password for mysql user root.

      Далее выбрать нужный сервер (имя хоста), согласиться на изменение и ввести новый пароль.



      3. Остановить/Запустить службу mysql (3. Stop/Start mysql service on the server)

      Остановить или запустить MySQL-сервер можно в главном меню 3. Configure MySQL servers - 3. Stop/Start mysql service on the server .

      Далее выбрать нужный сервер (имя хоста), согласиться на остановку или старт MySQL-сервера:



      4. Создать slave MySQL-сервер (4. Create slave MySQL server)

      В «1C-Битрикс: Виртуальная машина» можно быстро развернуть кластерную конфигурацию master-slave «1С-Битрикс: Управление сайтом» и «Битрикс24 в коробке».

      Ключевые особенности:

      • гибкая балансировка нагрузки SQL
      • простота администрирования
      • дешевое и быстрое неограниченное масштабирование
      • он-лайн бэкап
      • не требуется доработка логики веб-приложения

      Схема «master - slave» реализуется средствами MySQL. Платформа «1С-Битрикс» позволяет гибко балансировать нагрузку между серверами, участвующими в репликации.

      Внимание! Перед тем как начинать конфигурировать схему «master - slave» в BitrixVM/BitrixEnv нужно предварительно установить продукты «1С-Битрикс: Управление сайтом» или в «Битрикс24 в коробке» с модулем Веб-кластер. Данный модуль входит только в старшие редакции продуктов «1С-Битрикс».



      Для создания slave сервера MySQL нужно:

      • Выбрать пункт меню 3. Configure MySQL servers > 4. Create slave MySQL server, ввести имя хоста в пуле, на котором будет создан slave сервер MySQL (в данном примере - server2):

      • Придумать и ввести пароли репликации и кластера:

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

      • Подождать, пока задача по добавлению slave cервера MySQL будет закончена.
      • Создадим аналогичным образом еще один slave сервер MySQL (server3). В итоге получим три сервера MySQL: master (server1) и два slave (server2 и server3):


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      5. Смена master сервера MySQL (5. Change master MySQL server)

      Для переноса master сервера MySQL на другую машину необходимо:

      • Выбрать пункт меню 3. Configure MySQL servers > 5. Change master MySQL server.

        Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 slave-сервер MySQL с помощью меню 3. Configure MySQL servers > 4. Create slave MySQL server.

      • Ввести имя хоста для будущего master сервера MySQL из списка доступных slave (например server2):

      • Подождать, пока задача по смене master cервера MySQL будет закончена.
      • В итоге серверы MySQL станут: master (server2) и два slave (server1 и server3):

      Таким образом, мы перенесли master сервер MySQL с машины server1 на server2.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      6. Удаление slave сервера MySQL (6. Remove slave MySQL server)

      Для удаления slave сервера MySQL необходимо:

      • Выбрать пункт меню 3. Configure MySQL servers > 6. Remove slave MySQL server.

        Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 slave-сервер MySQL с помощью меню 3. Configure MySQL servers > 4. Create slave MySQL server.

      • Ввести имя хоста удаляемого slave сервера MySQL (например server1):

      • Подождать, пока задача по удалению slave cервера MySQL будет закончена.
      • В итоге серверы MySQL станут: master (server2) и один slave (server3):

      Таким образом, мы освободили ресурсы машины server1 под другие роли.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      4. Настройка memcached (4. Configure memcached servers)

      Продукты «1С-Битрикс» позволяет использовать пул серверов memcached для работы с кешем данных.

      Это обеспечивает:

      • высокую эффективность - за счет централизованного использования кеша веб-приложением;
      • надежность - за счет устойчивости подсистемы кеширования к выходу из строя отдельных компонентов;
      • неограниченную масштабируемость - за счет добавления новых memcached-серверов.

      Внимание! Перед тем как начинать использовать пул серверов memcached в BitrixVM/BitrixEnv нужно предварительно установить продукты «1С-Битрикс: Управление сайтом» или в «Битрикс24 в коробке» с модулем Веб-кластер. Данный модуль входит только в старшие редакции продуктов «1С-Битрикс».



      1. Создание memcached сервера (1. Create memcached server)

      Для создания memcached сервера нужно:

      • Выбрать пункт меню 4. Configure memcached servers > 1. Create memcached server.
      • Ввести имя хоста в пуле, на котором будет запущен сервер memcached (в данном примере - server1):

      • Подождать, пока задача по запуску cервера memcached будет закончена:

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.

      2. Обновить настроек memcached сервера (2. Update settings on all memcached servers)

      Чтобы обновить настройки для всех memcached -серверов, нужно перейти в главном меню 4. Configure memcached servers - 2. Update settings on all memcached servers:

      Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 memcached-сервер с помощью меню 4. Configure memcached servers > 1. Create memcached server.

      Эта опция запускает проверку текущей конфигурации одного или нескольких memcached -серверов в пуле (если такие имеются).


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Удаление memcached сервера (3. Remove memcached server)

      Для удаления memcached сервера необходимо:

      • Выбрать пункт меню 4. Configure memcached servers > 3. Remove memcached server.

        Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 memcached -сервер с помощью меню 4. Configure memcached servers > 1. Create memcached server.

      • Ввести имя хоста удаляемого memcached сервера (например server1):

      • Подождать, пока задача по удалению memcached cервера будет закончена.

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      5. Фоновые задачи (5. Background tasks in the pool)

      Все изменения в виртуальной машине - настройки, запуск каких-либо служб, синхронизация и др. осуществляются с помощью скриптов - задач.

      Просмотреть историю задач, а также выполняемые в данный момент задачи, можно с помощью пункта меню 5. Background tasks in the pool:

      Просмотреть запущенную в данный момент задачу можно с помощью пункта меню 5. Background tasks in the pool > 1. View running tasks:

      Для остановки запущенной в данный момент задачи нужно перейти в пункт меню 5. Background tasks in the pool > 1. View running tasks > 1. Stop task и ввести идентификатор задачи:

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера.



      Чтобы очистить историю задач нужно выбрать пункт меню 5. Background tasks in the pool > 2. Clean history:

      Далее выбрать количество дней, за которое нужно оставить историю задач, и фильтр, по которому выбирать задачи (к примеру, выберем все задачи с TaskID common):

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

      Внимание! Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      6. Управление сайтами (6. Manage sites in the pool)

      1. Создание сайта (1. Create site)

      Мастер создания дополнительных сайтов, позволяет развернуть на одной виртуальной машине несколько сайтов, как на независимых установках «1С-Битрикс», так и в рамках многосайтовости.

      Внимание! В BitrixVM\BitrixEnv версии 7.х root пароль к MySQL не может быть пустым, он задается для BitrixEnv на этапе установки, а для BitrixVM автоматически при первом старте. Изменить root пароль к MySQL можно в меню 3. Configure MySQL server > 2. Change password for mysql user root . Если root пароль к MySQL будет пустым, то при добавлении нового сайта будет выдана ошибка.


      Для добавления дополнительного сайта необходимо:

      • Предварительно настроить DNS-сервер или в случае локальной установки указать доменное имя в /etc/hosts на виртуальной машине, а также на всех машинах, с которых будет осуществляться доступ к данному сайту.
      • Далее из административного меню запустить мастер 6. Manage sites in the pool > 1 Create site:

        и указать:
        1. Enter site name - доменное имя дополнительного сайта без www;

          Внимание! Если у вас домен в национальной кодировке (например, кириллический домен), то в данное поле нужно вводить имя домена в Punycode-формате, воспользовавшись любым Unicode-Punycode конвертером (например этим).

        2. Enter site type - тип установки ядра «1С-Битрикс»:
          • kernel - в случае создания дополнительного сайта в рамках отдельной установки - отдельное ядро продукта «1С-Битрикс» в новой директории сайта.
          • ext_kernel - отдельное ядро продукта «1С-Битрикс» в новой директории сайта для создания линков на это ядро в рамках многосайтовости, ядро будет недоступно напрямую, а только через дополнительные сайты (работает в паре с сайтами типа link).
          • link - в случае создания дополнительного сайта в рамках многосайтовости - общее ядро и данные в общей базе с уже установленным продуктом «1С-Битрикс» (работает в паре с ядром ext_kernel).
        3. Enter full path to the Bitrix installation directory - указать путь до ядра продукта «1С-Битрикс», на которые будут сделаны симлинки (для ядра типа link).
        4. Enter site encoding - указать кодировку будущего сайта: UTF-8 или windows 1251 (для ядра типа kernel и ext_kernel).
        5. Do you want to enable cron task on site - включить ли выполнение заданий на cron для будущего сайта (для ядра типа kernel и ext_kernel).
        6. Do you want to specify them - по умолчанию название, логин и пароль базы данных и root-директория сайта создаются автоматически (в файлах dbconn.php и .settings.php), но с помощью данной опции можно указать свои, выбрав ответ y (для ядра типа kernel и ext_kernel).
      • В процессе работы мастера будет создана директория на сервере: /home/bitrix/ext_www/{название_хоста}, в которой будут:
        • символические ссылки на директорию ядра, которую выбрали ранее (если был выбран вариант link).
        • директории и скрипт BitrixSetup для установки или восстановления продукта (если был выбран вариант kernel).
        • директории и скрипт BitrixSetup для восстановления продукта (если был выбран вариант ext_kernel).
      • После завершения задачи по добавлению сайта он будет готов к использованию.

        Примечание: Количество дополнительных сайтов ограничивается лишь лицензией «1С-Битрикс» данной установки.

      Внимание! Если был выбран вариант ядра ext_kernel и установлено ядро в /home/bitrix/ext_www/{название_хоста}, то в списке сайтов виртуальной машины данное ядро не появится до тех пор, пока не будет создан хотя бы один сайт (link) на это ядро.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Удалить сайт (2. Delete site)

      Для удаления записи о дополнительном сайте необходимо в административном меню выбрать пункт 6. Manage sites in the pool > 2. Delete site и выбрать директорию удаляемого сайта (Enter site directory):

      Внимание! Мастер удаления дополнительного сайта удаляет папку и базу данных дополнительного сайта, поэтому необходимо предварительно сделать бекап важных данных.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Настройка задач cron (3. Change cron tasks on site)

      По умолчанию в виртуальной машине cron уже включен. Если по каким-либо причинам нужно отключить службу cron, то для этого необходимо:

      • Перейти в главном меню в 6. Manage sites in the pool > 3. Change cron tasks on site и ввести директорию сайта, для которого нужно отключить службу cron:

      • Согласиться на отключение cron и дождаться пока задача будет закончена:

      Аналогичным способом осуществляется включение cron:


      Внимание! Информацию о том, как настроить в продуктах «1С-Битрикс» обработку всех агентов на cron, можно прочитать здесь.



      4. Настройка почтового сервера (4. Change e-mail settings on site)

      Для настройки интегрированного почтового сервера выполните следующее:

      1. Перейти в главном меню в 6. Manage sites in the pool > 4. Change e-mail settings on site и ввести имя хоста, для которого нужно настроить отправку почты:

      2. Далее ввести необходимые данные для почтового сервера:

        • from address - адрес отправителя, от которого будет осуществляться пересылка писем.
        • server address or DNS - ip- или dns-адрес почтового сервера. Если нажать Enter, то будет использован адрес по умолчанию (127.0.0.1)
        • server port - порт сервера. Порт зависит от типа соединения, 25 - для обычного и 465 - для зашифрованного (с использованием SSL). Если нажать Enter, то будет использован порт по умолчанию (25).
        • Если необходима SMTP-авторизация, то в строке SMTP authentication наберите y и введите логин и пароль для доступа к SMTP-серверу, в противном случае - n.
        • Если выбрана опция SMTP-авторизации, то понадобится ввести тип авторизации type of authentication method: auto, plain, scrum-sha-1, scrum-md5, gssapi, external, digest-md5, login, ntlm (например для yandex.ru достаточно auto, а для mail.ru - plain).
        • Если необходим TLS-протокол защищенной передачи данных, то в строке TLS enabled наберите y, в противном случае - n.

        Примечание: При настройке укажите данные своего или публичного почтового сервиса.


      3. Дождаться пока задача по настройке почтового сервера будет закончена.
      4. Убедиться в правильности введенных данных настройки почтового сервера можно снова в 6. Manage sites in the pool > 4. Change e-mail settings on site:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.





      5. Настройка https на сайте (5. Change https settings on site)

      По умолчанию в виртуальной машине включена поддержка доступа к сайтам через протоколы HTTP и HTTPS.


      Если необходимо оставить доступ к сайту только по защищенному протоколу HTTPS, то для этого нужно:

      • Перейти в главном меню в 6. Mange sites in the pool > 5. Change https settings on site и ввести имя хоста, для которого нужно настроить протокол доступа:

      • Согласиться на отключение HTTP доступа и дождаться пока задача будет закончена:

        Внимание! Для доступа к сайту только по протоколу HTTPS необходим SSL-сертификат от доверенного центра сертификации, иначе браузеры будут выдавать ошибку, что сертификат безопасности сайта не является доверенным.

      Аналогичным способом осуществляется возврат доступа к сайту по протоколу HTTP:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      6. Настройка резервного копирования сайта (6. Change backup settings on site)

      При разворачивании проектов на базе BitrixVM/BitrixEnv, часто встает задача создания резервной копии проекта по расписанию.

      В BitrixVM/BitrixEnv есть функционал автоматического резервного копирования сайта и базы данных. Бекап будет создан по расписанию в виде архива .tar.gz и записан в директории /home/bitrix/backup/archive/.

      У данного способа есть как преимущества, так и недостатки в сравнении с встроенным в продукты «1С-Битрикс» механизмом создания резервной копии:

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

      Для создания расписания автоматического резервного копирования средствами BitrixVM/BitrixEnv необходимо:

      • В меню виртуальной машины выбрать пункт 6. Manage sites in the pool > 6. Change backup settings on site.
      • Выбрать из списка имя хоста и согласиться на изменение настроек расписания автоматического резервного копирования:

      • Выбрать периодичность и час запуска автоматического резервного копирования:

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

        /opt/webdir/bin/bx-sites -a backup -d dbcp --enable --minute=10 --hour=18 --day=any --month=any --weekday=any
        

        Примечание: Как настроить правильное время в BitrixVM/BitrixEnv см. здесь.

      • На этом работа мастера настройки завершена, и в Cron (/etc/crontab) добавляется задача резервного копирования проекта.

        Бэкап делается для ядра (сайта типа kernel и ext_kernel) и всех его link, если такие существуют. Для этого создается задание в crontab-файле. Например:

        10 22 * * * bitrix /opt/webdir/bin/bx_backup.sh sitemanager0 /home/bitrix/backup/archive
        

        В качестве первой опции указывается имя БД, второй опцией указывается каталог, в котором будет создан архив.

        В итоге скрипт создаст архив следующего вида: www_backup__DD.MM.YYYY_<random_string>.tar.gz (например - www_backup_dbcp_21.10.2014_1RJKXbMv.tar.gz).

        Внутри архива должны присутствовать следующие файлы:

        1. дамп БД /home/bitrix/mysql_dump__DD.MM.YYYY_.sql
        2. данные сайта ядра
        3. данные сайтов типа ссылок с полным путем

      Управление бэкапами через bx-sites

      • -a|--action - действие по управлению сайтами, в данном случае это backup
      • -d|--database - название БД (в бэкапе будут содержаться данные для всех сайтов, которые используют эту БД)
      • --enable|--disable - включение или отключение бэкапа для сайтов
      • --minute - параметры записи в crontab файле (минуты)
      • --hour - параметры записи в crontab файле (часы)
      • --day - параметры записи в crontab файле (день)
      • --month - параметры записи в crontab файле (месяц)
      • --weekday - параметры записи в crontab файле (день недели)

      В случае успешного выполнения утилита вернет новые опции для сайта:

      /opt/webdir/bin/bx-sites -a backup -d sitemanager0 --enable --minute=10 --hour=23 --day=1 --month=any --weekday=any -o json | python -mjson.tool  
      ...
                  "BackupCronFile": "/etc/crontab",
                  "BackupDay": "1",
                  "BackupFolder": "/home/bitrix/backup/archive",
                  "BackupHour": "23",
                  "BackupMinute": "10",
                  "BackupMonth": "*",
                  "BackupTask": "enable",
                  "BackupVersion": "v5",
                  "BackupWeekDay": "*", 
      ...
      

      Списки исключений

      Ряд файлов/каталогов необходимо исключить из резервной копии. Список таких исключений можно найти в файле /opt/webdir/bin/ex.txt.

      По умолчанию, в нем находятся следующие подкаталоги:

      bitrix/cache
      bitrix/managed_cache
      bitrix/stack_cache
      bitrix/local_cache
      bitrix/backup
      bitrix/tmp
      upload/tmp
      upload/resize_cache
      

      Содержимое бэкапа/восстановление

      Как уже сказано выше, в бэкап включается:

      • сам каталог сайта ядра (kernel или ext_kernel);
      • файл dump БД (/home/bitrix/mysql_dump_<db>.sql);
      • каталоги сайтов (link), которые используют ядро.

      Например команда:

      /opt/webdir/bin/bx_backup.sh sitemanager0 /home/bitrix/backup/archive
      

      создает файл www_backup_sitemanager0_30.01.2015_bnnW1NPm.tar.gz в директории /home/bitrix/backup/archive/

      Для восстановления, нужно перейти в DocumentRoot ядра, выполнить:

      tar xzvvf www_backup_sitemanager0_30.01.2015_zEQkXREd.tar.gz ./
      ...  
      -rw-r--r-- bitrix/bitrix    5013 2015-01-30 14:02 ./workgroups/.left.menu_ext.php
      -rw-r--r-- bitrix/bitrix     319 2015-01-30 14:01 ./.top_links.menu.php
      -rw-r--r-- root/root     5313008 2015-01-30 14:22 home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm.sql
      drwxr-xr-x                    Creating directory: home
      drwxr-xr-x                    Creating directory: home/bitrix
      -rw-r--r-- root/root          44 2015-01-30 14:22 home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm_after_connect.sql
      

      После чего нужно восстановить БД:

      mysql sitemanager0 < home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm_after_connect.sql
      

      И данные дополнительных сайтов, если они есть:

      rsync -av home/bitrix/ext_www/ /home/bitrix/ext_www/
      


      Примечание: Не забывайте следить за свободным местом на диске и периодически удалять старые резервные копии.



      7. Настройка NTLM-авторизации на всех сайтах (7. Configure NTLM auth for all sites)

      Внимание! Для поддержки механизма NTLM-авторизации продуктами «1С-Битрикс: Управление сайтом» и «Битрикс24 в коробке» необходим модуль AD/LDAP интеграция версии 11.5.0 и выше.


      После включения и настройки новый механизм NTLM-авторизации начинает работать следующим образом:

      • неавторизованный посетитель приходит на проект, где обработчиком события он перенаправляется на открытый порт Apache (8890 для http или 8891 для https);
      • Apache выполняет NTLM-авторизацию пользователя и пользователь перенаправляется назад на 80 или 443 порт (для http и https соответственно);
      • следующие переходы по сайту пользователь выполняет в обычном режиме.

      Рассмотрим настройку на примере «Битрикс24 в коробке».


      Настройка NTLM-авторизации пользователей в «Битрикс24 в коробке»

      • Во время установки, в мастере выбираем Разрешить пользователям Active Directory авторизовываться на портале:

      • Далее вводим настройки подключения к домену AD, проверяем соединение:

      • Указываем соответствия групп в AD группам корпоративного портала:

      • После завершения установки в административном разделе портала открываем страницу Active Directory / LDAP серверы (Настройки > AD/LDAP):

      • редактируем параметры сервера Active Directory, указывая домен для NTLM авторизации:

      • После этого заходим в настройки модуля AD/LDAP и устанавливаем Использовать NTLM авторизацию:

      Продукт «1С-Битрикс» готов к использованию NTLM-авторизации, осталось настроить виртуальную машину.


      Внимание! Если необходимо для локальной сети компании настроить NTLM-авторизацию, а для сотрудников, работающих с порталом, использовать стандартную авторизацию, то дополнительно в настройках модуля AD/LDAP нужно указать диапазон IP-адресов, для которых необходима NTLM-авторизация - Ограничить NTLM переадресацию следующей подсетью (например, 192.168.0.1/24):


      Настройка NTLM-авторизации пользователей в «1С-Битрикс: Виртуальная машина»

      Для настройки виртуальной машины необходимо подключитьcя к ней под пользователем root, выбрать пункт меню 6. Manage sites in the pool > 7. Configure NTLM auth for all sites и ввести необходимые данные:

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

      Примечание: Проверить, что компьютер успешно введен в домен можно командой:
      net ads testjoin

      Настройка завершена, для успешной NTLM-авторизации осталось проверить настройки браузеров.


      Настройка NTLM-авторизации в браузерах

      • Internet Explorer

        Для успешной NTLM-авторизации нужно, чтобы веб-сервер находился в зоне Local Intranet (при необходимости нужно добавить):

      • Mozilla Firefox:

        Добавить веб-сервер к списку доверенных URI для автоматической NTLM-авторизации (через параметр network.automatic-ntlm-auth.trusted-uris на странице Firefox: about:config)

      Примечание: Действия по включению NTLM-авторизации на уже установленном продукте «Битрикс24 в коробке», а также в «1С-Битрикс: Управление сайтом» аналогичны перечисленным выше, за исключением того, что сервер Active Directory добавляется вручную в административном разделе.

      8. Настройка xmppd|smtpd сервисов для сайта (8. Configure optional services (xmppd|smtpd) for site)

      Мастер позволяет управлять работой сервисов XMPP и SMTP с помощью Cron. Это может понадобится, если необходимо рассылать jabber- и почтовые сообщения в случае, если на сайте нет активности, т.е если все события на сайте работают на хитах.


      Для управления необходимо:

      • Из административного меню запустить мастер 6. Manage sites in the pool > 8 Configure optional services (xmppd|smtpd) for site:

      • Далее указать:
        • Enter site-name - имя сайта;
        • Enter service name - имя сервиса xmppd или smtpd.
      • И согласиться на активацию работы сервисов через Cron:

      • После завершения данной задачи jabber-уведомления и почтовые сообщения будут отправляться по cron-расписанию, независимо от активности на сайте.

      Аналогичным образом отключается данные опции:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      9. Настройка nginx для работы с композитом (9. Configure nginx for composite)

      Внимание! Настройки в виртуальной машине BitrixVM должны производиться после осуществления настроек Композитного сайта в Административном разделе. Если такие настройки выполнены в колонке Composite должно стоять Y.

      Конфигурации NGINX для работы с композитом

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

      Управление настройками композитного кеша для NGINX находятся в меню виртуальной машины: 6. Manage sites in the pool > 9. Configure nginx for composite:

      Эта настройка выполняет следующие действия:

      1. По настройкам, заданным в форме Композитный сайт в Административном разделе, создает конфигурационный файл условий работы композита, персональных для сайта в каталоге /etc/nginx/bx/maps. Например, включен или выключен композит для https-запросов.
      2. Обновляет настройки сайта, добавляет:
        • проверку условий - глобальных (общих для всех сайтов) и персональных,
        • выбранного для композита хранилища (files, memcached), если все условия выполняются.

      Включение и обновление настроек NGINX для композита

      Для включения или обновления настроек:

      1. Укажите имя сайта.
      2. Подтвердите выбор, запустится фоновое задание, которое выполнит все настройки описанные в предыдущих пунктах.

      Примечание. Также можно воспользоваться утилитой командной строки bx-sites (не забудьте указать нужный сайт вместо default в примере).
      /opt/webdir/bin/bx-sites -o json -a composite --enable --site=default


      Выключение настроек NGINX по работе с композитом

      Для отключения настроек:

      1. Укажите имя сайта.
      2. Откажитесь от обновления существующих настроек.
      3. Подтвердите отключение настроек Композита, запустится фоновое задание, которое вернет настройки сайта к значениям по умолчанию.

      Примечание Так же можно воспользоваться утилитой командной строки bx-sites. (Не забудьте указать нужный сайт вместо default в примере.)
      /opt/webdir/bin/bx-sites -o json -a composite --disable --site=default



      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      PHP или NGINX?

      После завершения настроек NGINX возникает вопрос: как проверить, через что отдаются страницы - через PHP или NGINX при использовании BitrixVM? Для такой проверки просмотрите заголовки ответа сервера.

      Заголовки при использовании Композита в BitrixVM могут быть такие:

      • X-Bitrix-Composite:Nginx (file) - отдача страниц - NGINX, хранение - файлы;
      • X-Bitrix-Composite:Nginx (memcached) - отдача страниц - NGINX, хранение - memcached;
      • X-Bitrix-Composite:Cache (200) - отдача страниц - PHP, хранение - файлы.


      Условия работы композитного кеша

      Примечание: Указанные в этом уроке настройки производить не нужно. Здесь дано описание того, что происходит при включении настроек NGINX на технологию Композитный сайт в BitrixVM только для ознакомления.

      Условия разделены на две группы:


      Глобальные условия

      Настройки определяются в файле: /etc/nginx/bx/maps/composite_settings.conf. NGINX не использует технологию Композитный сайт, если соблюдается хотя бы одно условие:

      1. есть заголовок BX_ACTION_TYPE,
      2. есть заголовок BX_AJAX,
      3. это не GET-запрос,
      4. в query_string есть параметр ncc,
      5. в query_string есть параметр bxajaxid,
      6. в query_string есть параметр sessid,
      7. запрос сделан из IE ранее 10 версии,
      8. запрос по адресу /bitrix/,
      9. запрос по адресу /index_controller.php,
      10. есть кука NCC,
      11. есть куки LOGIN, UIDH и при этом нет куки CC.

      Определение условий сделано через http_ngx_map_module:

      • По каждому из условий создано свое отображение. Например, в случае если переменная $http_bx_action_type содержит данные, то композитный ключ $not_bx_action_type будет содержать 0.
        map $http_bx_action_type $not_bx_action_type {
          default "0";
          ''      "1";
        }
      • Все условия используются для финальной проверки:
        # test all global conditions
        map "${not_bx_action_type}${not_bx_ajax}${is_get}${non_arg_ncc}${non_arg_bxajaxid}${non_arg_sessid}${is_modern}${is_good_uri}${non_cookie_ncc}${is_storedAuth}" $is_global_composite {
          default     "1";
          ~0          "0";
        } 

        Если хоть одно из условий содержало 0, то итоговое значение переменной $is_global_composite будет равно 0.


      Персональные условия для сайта

      Персональные проверки NGINX для сайта, определяются в момент включения или обновления композита из консольного меню. Для таких настроек создается и обновляется файл в каталоге: /etc/nginx/bx/maps/. Имя файла имеет специальный формат: <ID>.cache_<SITE_NAME>.conf, где:

      • ID - уникальный идентификатор сайта для кеша (инкрементное значение от 1),
      • SITE_NAME - имя сайта в системе (example.org).

      NGINX не будет использовать композитный кеш, если выполняется хотя бы одно из условий:

      1. в query_string есть параметр из конфига (ключ ~EXCLUDE_PARAMS в .config.php),
      2. запрос по протоколу HTTPS (по галочке в настройках),
      3. запрос на домен, не указанный в списке доменов (ключ DOMAINS в .config.php),
      4. запрос по адресу, не указанному в "маске включения" ( ключ ~INCLUDE_MASK в .config.php),
      5. запрос по адресу, указанному в списке "маска исключений" ( ключ ~EXCLUDE_MASK в .config.php).

      Определение условий сделано через http_ngx_map_module:

      • По каждому из условий, найденных в .config.php, создается свое отображение. Например, если задано условие INCLUDE_MASK для запроса, будет создана следующая структура:
        # test include uri for site
        map $uri $is_include_uri_02 {
          default  "0";
          "~*^.*?\.php$"  "1";
          "~*^.*?/$"  "1";
        
        }

        Если переменная $uri содержит одно из следующих регулярных выражений, то $is_include_uri_02 будет содержать 1, в остальных случая переменная будет равна 0.

        Примечание: Обратите внимание, что в переменной используется идентификатор сайта, это сделано для того, чтобы разграничить условия разных сайтов.

      • Все найденные условия, используются для финальной проверки:
        # variable $is_site_composite_02 used in site config
        map "${config_domain_02}${is_include_uri_02}${not_exclude_uri_02}${not_https_schema_02}" $is_site_composite_02 {
          default   "1";
          ~0        "0";
        }
        Если хоть одна из переменных получит значение 0, переменная $is_site_composite_02 будет содержать 0, в остальных случаях 1.

      Ключ поиска в композите

      Ключ - это файл, который NGINX будет искать в композитном кеше (ключ для mecached хранилища, файл в случае хранения на файлах). Он нужен для того, чтобы привести запрос на сайт (uri) к универсальному виду.

      Данный ключ определяется в глобальных настройках в файле /etc/nginx/bx/maps/composite_settings.conf. Так же, как для условий, используется модуль nginx ngx_map_module:

      map $uri $composite_key {
        default                         $uri;
        ~^(?P.+)/$           $non_slash;
        ~^(?P.+)/index.php$  $non_index;
        ~^(?P.+)/index.html$ $non_index;
      }

      Действуют следующие правила:

      • Если запрос заканчивается на слеш, то вырезается финальный слеш из запроса.
      • Если запрос содержит index.php или index.html, то они вырезаются из запроса.


      Конфигурационный файл сайта

      Примечание: Указанные в этом уроке настройки производить не нужно. Здесь для ознакомления дано описание того, что происходит при включении настроек NGINX на технологию Композитный сайт в BitrixVM.

      Проверки для включения технологии на стороне NGINX используются в конфигурационном файле сайта, который в виртуальном окружении находится в каталоге /etc/nginx/bx/site_enabled. В случае стандартной конфигурации, файл обычно содержит следующие настройки:

          # Include parameters common to all websites
          include bx/conf/bitrix.conf;

      При включенной технологии Композитный сайт, настройки зависят от выбранного хранилища.

      Хранение в файлах

      1. В файле /bitrix/html_pages/.config.php опция STORAGE содержит значение files.
      2. В конфигурационном файле сайта, который в виртуальном окружении находится в каталоге /etc/nginx/bx/site_enabled, должно быть прописано:
          # определяем ключ композита и файл на диске
          set $composite_cache    "bitrix/html_pages/${host}${composite_key}/index@${args}.html";
          set $composite_file     "${docroot}/${composite_cache}";
        
          # файл, который определяет включен ли композит на сайте или нет
          set $composite_enabled  "${docroot}/bitrix/html_pages/.enabled";
           
          # переменная, которая используется для композитной проверки
          set $use_composite_cache "";
          # если переменная глобальных условий содержит 1, добавляем признак в  use_composite_cache
          if ($is_global_composite  = 1) {set $use_composite_cache "A";}
          # если переменная персональных условий сайта содержит 1, добавляем признак use_composite_cache
          if ($is_site_composite_02 = 1) {set $use_composite_cache "${use_composite_cache}B";}
        
          # Подключаем конфиг, который содержит наши стандартные настройки, без  location по умолчанию
          include bx/conf/bitrix_general.conf;
        
          # Основной location
          location / {
         
            # если файл включения композита существует, добавляем признак в use_composite_cache
            if (-f $composite_enabled)     { set $use_composite_cache "${use_composite_cache}C"; }
        
            # если файл кеша существует, добавляем признак в use_composite_cache
            if (-f $composite_file)  { set $use_composite_cache "${use_composite_cache}D"; }
         
            # если все четыре условия выполняются, отправляем запрос в location c кешем
            if ($use_composite_cache = "ABCD") { rewrite .* /$composite_cache last; } 
        	 
             # по дефолту отправляем в apache
            proxy_pass $proxyserver;
          }

      Хранение в memcached

      1. В файле /bitrix/html_pages/.config.php опция STORAGE содержит значение memcached или memcached_cluster.

      2. В конфигурационном файле сайта, который в виртуальном окружении находится в каталоге /etc/nginx/bx/site_enabled, должно быть прописано:
        # устанавливаем параметры подключения для memcached 
          memcached_connect_timeout 1s;
          memcached_read_timeout 1s;
          memcached_send_timeout 1s; 
          # ключ поиска
          set $memcached_key "/${host}${composite_key}/index@${args}.html";
        
          # включен ли композитный кеш
          set $composite_enabled  "${docroot}/bitrix/html_pages/.enabled";
          # переменная, которая используется для проверки работы с композитом при запросе пользователя
          set $use_composite_cache "";
          # учитываем глобальные условия
          if ($is_global_composite  = 1) {set $use_composite_cache "A";}
          # учитываем персональные условия
          if ($is_site_composite_02 = 1) {set $use_composite_cache "${use_composite_cache}B";}
        
          # подключаем общие параметры для bitrix окружения, без использования  default location
          include bx/conf/bitrix_general.conf;
        
          # основной location
          location / { 
             # если данные не найдены в кеше проксируем запрос на apache
            error_page 404 405 412 502 504 = @apache;
         
            # учитываем наличие .enabled файла
            if (-f $composite_enabled)     { set $use_composite_cache "${use_composite_cache}C"; }
        
            default_type text/html;
            # если все совпало, отправляем запрос вmecached
            if ($use_composite_cache = "ABC") {
              add_header Content-Encoding deflate;
              add_header X-Bitrix-Composite "Nginx (memcached)";
              memcached_pass localhost:11211;
            }
            proxy_pass $proxyserver;
          }
        
          location @apache {
            proxy_pass $proxyserver;
          }

      PHP или NGINX?

      После завершения настроек NGINX возникает вопрос: как проверить, через что отдаются страницы - через PHP или NGINX при использовании BitrixVM? Для такой проверки просмотрите заголовки ответа сервера.

      Заголовки при использовании Композита в BitrixVM могут быть такие:

      • X-Bitrix-Composite:Nginx (file) - отдача страниц - NGINX, хранение - файлы;
      • X-Bitrix-Composite:Nginx (memcached) - отдача страниц - NGINX, хранение - memcached;
      • X-Bitrix-Composite:Cache (200) - отдача страниц - PHP, хранение - файлы.



      10. Настроить опции сайта (10. Configure site options)

      1. Настроить параметр proxy_ignore_client_abort (1. Configure proxy_ignore_client_abort for site)

      Внимание! Включение глобально параметра nginx proxy_ignore_client_abort нужно делать в крайних случаях, обычно это делать не требуется. Лучше это делать вручную и для конкретных location, а не глобально на весь сервер. В следующих версиях BitrixVM/BitrixEnv этот пункт меню будет переработан.

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

      Для управления необходимо:

      • Из меню запустить мастер 10. Configure site options > 1. Configure proxy_ignore_client_abort for site, ввести имя сайта и согласиться на включение параметра proxy_ignore_client_abort:

      • Дождаться завершения данной задачи.

      Аналогичным образом отключается данный параметр:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      11. Сайты с ошибками (11. Show sites with errors)

      Если по каким-либо причинам на сайтах появились серьезные ошибки: отсутствие модулей на сайте или нет подключения к БД (не получается подключиться с данными настроек сайта), то в меню виртуальной машины появляется пункт меню 6. Manage sites in the pool > 11. Show sites with errors:

      Выбрав этот пункт меню, отобразится список сайтов с кратким описанием ошибки (в данном примере - нет соединения с базой данных mysql):


      Примечание: Пункт меню 6. Manage sites in the pool > 11. Show sites with errors является скрытым и появляется только тогда, когда есть ошибки на сайтах под управлением виртуальной машиной BitrixVM или linux-окружением BitrixEnv. Как только ошибки будут исправлены, данный пункт снова скроется.



      7. Управление sphinx (7. Manage sphinx in the pool)

      Использование Sphinx в качестве поискового механизма позволит значительно увеличить скорость поиска и снизит нагрузку на сервер.



      1. Создать инстанс sphinx на сервере (1. Create sphinx instance on server)

      Для установки Sphinx на сервер необходимо:

      • Установить и обновить проект до последней актуальной версии;
      • В меню виртуальной машины выбрать пункт 7. Manage sphinx in the pool > 1. Create sphinx instance on server:

      • Далее ввести имя хоста, где будет запущен сервер поиска Sphinx (в данном примере server1):

      • Выбрать базу данных ядра системы сайта из списка:

      • Дать согласие на запуск полной переиндексации после установки сервера Sphinx:

      • Подождать, пока задача по установке Sphinx и переиндексации будет закончена:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.


      Примечание: Ручная настройка поискового механизма Sphinx описана в данном уроке.



      2. Обновить настройки sphinx (создать индекс) (2. Update sphinx instance on server (add index))

      Чтобы обновить настройки для всех Sphinx-инстансов, нужно перейти в главном меню 7. Manage sphinx in the pool - 2. Update sphinx instance on server (add index):

      • Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 Sphinx-инстанс с помощью меню 7. Manage sphinx in the pool > 1. Create sphinx instance on server.

      • Далее ввести имя хоста, где будет запущен сервер поиска Sphinx (в данном примере server1):

      • Выбрать базу данных ядра системы сайта из списка:

      • Дать согласие на запуск полной переиндексации после установки сервера Sphinx:

      • Подождать, пока задача по установке Sphinx и переиндексации будет закончена.

      Эта опция запускает проверку текущей конфигурации одного или нескольких Sphinx-инстансов в пуле (если такие имеются) и запускает принудительную переиндексацию.



      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.


      Примечание: Ручная настройка поискового механизма Sphinx описана в данном уроке.



      3. Удалить sphinx на сервере (3. Remove sphinx instance on server)

      Для удаления Sphinx-инстанса с сервера необходимо:

      • Выбрать пункт меню 7. Manage sphinx in the pool > 3. Remove sphinx instance on server.

        Примечание: Данный пункт меню появится только тогда, когда будет создан хотя бы 1 Sphinx-инстанс с помощью меню 7. Manage sphinx in the pool > 1. Create sphinx instance on server.

      • Ввести имя хоста удаляемого Sphinx-инстанса (например server1):

      • Выбрать базу данных ядра системы сайта из списка:

      • Подождать, пока задача по удалению Sphinx-инстанса будет закончена.

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      8. Управление веб-серверами (8. Manage web nodes in the pool)

      В «1C-Битрикс: Виртуальная машина» можно быстро развернуть кластеризацию веб-сервера в «1С-Битрикс: Управление сайтом» и «Битрикс24 в коробке».

      При разделении проекта на несколько веб-серверов необходимо решить две задачи:

      • синхронизация данных (файлов) между серверами
      • балансировка нагрузки между серверами

      Внимание! Перед тем как начинать использовать кластеризацию веб-сервера в BitrixVM/BitrixEnv нужно предварительно установить «1С-Битрикс: Управление сайтом» или в «Битрикс24 в коробке» с модулем Веб-кластер. Данный модуль входит только в старшие редакции продуктов «1С-Битрикс».



      1. Создание веб-сервера (1. Create web instance on server)

      Для создания роли веб-сервера нужно:

      • Выбрать пункт меню 8. Manage web nodes in the pool > 1. Create web instance on server и ввести имя хоста в пуле, на котором будет создан веб-сервер (в данном примере - server3):

      • Выбрать вариант создания роли:
        1. one step - все действия по созданию web-роли будут произведены за 1 шаг. Данный вариант рекомендуется на простых проектах, где не так много данных.
        2. two steps - действия по созданию web-роли будут произведены за 2 шага для уменьшения ошибок в процессе создания роли. Данный вариант рекомендуется на крупных проектах, где очень много данных.

          Внимание! Если вы выбрали вариант two steps, после выполнения задачи 1-го шага нужно запустить 2-й шаг таким же образом на этом же сервере.

      • Подождать, пока задачи по созданию веб-сервера будут закончены. И мы увидим, что у нас 2 сервера с ролью web в пуле: server1 и server3:

      • Добавим еще одному серверу в пуле web-роль (server2) аналогичным способом. Мы видим, что у сервера с балансировщиком web-роль имеет тип main, а у дополнительных серверов пула - spare:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Настроить модули PHP (2. Manage PHP extensions)

      В разделе 8. Manage web nodes in the pool > 2. Manage PHP extensions можно включить дополнительные модули PHP, которые могут понадобится в продуктах «1C-Битрикс».


      На данный момент можно включить модуль SSH2 для PHP - он понадобится для интеграции Ebay в решении «1С-Битрикс» - Интернет магазин:

      Выключается данный модуль аналогично:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Удаление роли web c сервера (3. Remove web instance on server)

      Для удаления веб-сервера необходимо:

      • Выбрать пункт меню 8. Manage web nodes in the pool > 3. Remove web instance on server:

      • Ввести имя хоста сервера, у которого удаляется роль web (например server3):

        Внимание! Удалять web-роль можно только типа spare, тип main (сервер с балансировщиком) удалять нельзя.

      • Подождать, пока задача по удалению роли будет закончена.
      • В итоге из 3 веб-серверов только на двух останется web-роль (main - server1, spare - server2):


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      9. Мониторинг (9. Monitoring in pool)

      При разворачивании проектов на базе BitrixVM/BitrixEnv необходимо следить за состоянием сервера и отдельных его компонентов.

      В составе BitrixVM/BitrixEnv уже имеются системы мониторинга - Munin и Nagios, которые имеют большое количество различных компонентов по отслеживанию функционирования всех систем сервера или нескольких серверов в составе кластера.



      1. Настроить сервисы мониторинга (1. Configure monitoring services)


      Для начала работы систем мониторинга необходимо:

      1. В главном меню виртуальной машины выбрать пункт 9. Monitoring in pool > 1. Configure monitoring services:

      2. Затем мастер предложит изменить логин и пароль для сервисов мониторинга сервера Nagios и Munin:

      3. Далее будет предложено указать e-mail для системных уведомлений Nagios (по умолчанию используется e-mail root пользователя) и данные почтового сервера для отправки e-mail:

        • from address - адрес отправителя, от которого будет осуществляться пересылка писем. В данном случае этот email будет использоваться также как и получатель уведомлений от Nagios.
        • server address or DNS - ip- или dns-адрес почтового сервера. Если нажать Enter, то будет использован адрес по умолчанию (127.0.0.1)
        • server port - порт сервера. Порт зависит от типа соединения, 25 - для обычного и 465 - для зашифрованного (с использованием SSL). Если нажать Enter, то будет использован порт по умолчанию (25).
        • Если необходима SMTP-авторизация, то в строке SMTP authentication наберите y и введите логин и пароль для доступа к SMTP-серверу, в противном случае - n.
        • Если выбрана опция SMTP-авторизации, то понадобится ввести тип авторизации type of authentication method: auto, plain, scrum-sha-1, scrum-md5, gssapi, external, digest-md5, login, ntlm.
        • Если необходим TLS-протокол защищенной передачи данных, то в строке TLS enabled наберите y, в противном случае - n.
      4. Затем мастер сделает необходимые настройки и запустит сервисы мониторинга сервера.

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.


      Мониторинг

      Для мониторинга сервера из браузера нужно зайти по адресам и авторизоваться под учетными записями мониторинга:

      • Munin - http://адрес_сервера/munin/:

      • Nagios - http://адрес_сервера/nagios/:

      Примечание: Сменить пароли для систем мониторинга можно с помощью повторного запуска пункта меню 9. Monitoring in pool > 1. Configure monitoring services.


      Как проверить e-mail уведомления от Nagios

      Проверить работу нотификаций можно легко:

      • Например, остановим сервис МySQL:

        CentOS 6:

        service mysqld stop
        

        CentOS 7:

        systemctl stop mysqld.service
        
      • По умолчанию Nagios будет записывать в лог 3 сообщения со статусом CRITICAL;SOFT каждую минуту, а 4-му сообщению даст статус CRITICAL;HARD:

        В итоге сообщение примерно такого содержания должно прийти на почту, указанную в п.3 настройки уведомлений для админа (поле from address):

        Subject: ** PROBLEM Service Alert: server2/MySQL: connection to 3306 is CRITICAL **
        
        ***** Nagios *****
        
        Notification Type: PROBLEM
        
        Service: MySQL: connection to 3306
        Host: server2
        Address: 192.168.1.246
        State: CRITICAL
        
        Date/Time: Wed Jul 5 14:12:46 MSK 2017
        
        Additional Info:
        
        connect to address 192.168.1.246 and port 3306: Connection refused
        
      • После запуска службы MySQL командой # service mysqld start (CentOS 6) или # systemctl start mysqld.service (CentOS 7) в логе Nagios-а появится запись со статусом OK;HARD:

        И должно прийти сообщение на почту:

        Subject: ** RECOVERY Service Alert: server2/MySQL: connection to 3306 is OK **
        
        ***** Nagios *****
        
        Notification Type: RECOVERY
        
        Service: MySQL: connection to 3306
        Host: server2
        Address: 192.168.1.246
        State: OK
        
        Date/Time: Wed Jul 5 14:22:46 MSK 2017
        
        Additional Info:
        
        TCP OK - 0.001 second response time on 192.168.1.246 port 3306
        
      • Как видим, все работает - при возникновении неполадок на каком-либо сервере Nagios отправит уведомление админу на почту с указанием проблемы.

      Примечание: Подробнее о email уведомлениях можно прочитать в в документации Nagios.



      2. Выключить сервисы мониторинга (2. Disable monitoring services)

      Для выключения сервисов мониторинга Nagios и Munin необходимо:

      • Выбрать пункт меню 9. Monitoring in pool > 2. Disable monitoring services:

      • Согласиться на действие:

      • Подождать, пока задача выключения сервисов мониторинга будет закончена.

      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      3. Добавить хосты для мониторинга (3. Add new host(s) on monitoring)

      Если запущены системы мониторинга серверов и был добавлен новый хост в кластер, то система сама отследит новую машину и запустит задачу на добавление этой машины в мониторинг.

      Пункт меню 9. Monitoring in pool > 3. Add new host(s) on monitoring позволяет вручную запустить добавление нового хоста в систему мониторинга, если по каким-либо причинам он не добавился в мониторинг:

      Примечание: При выборе 9. Monitoring in pool > 3. Add new host(s) on monitoring) задача на автоматическое добавление нового хоста в мониторинг запустится сразу, без каких-либо запросов.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      10. Настроить сервис Push/RTC (10. Configure Push/RTC service)

      Внимание! Данный пункт меню доступен в BitrixVM/BitrixEnv с версии 7.1.0.


      Push-сервер (pulling-сервер, сервер мгновенных сообщений) предназначен для быстрого обмена сообщениями между пользователями, которые заходят на портал через браузер или подключаются с помощью настольного или мобильного приложений.


      По умолчанию в BitrixVM/BitrixEnv для Push&Pull сервера используется модуль Nginx-PushStreamModule. Главный его недостаток - если сервис падает по какой-либо причине, то недоставленные сообщения теряются, что порождает высокую нагрузку на PHP-бэкенд из-за особенностей работы модуля nginx. Новый модуль на NodeJS лишен этих недостатков.



      1. Настроить NodeJS RTC сервис (1. Configure NodeJS RTC Service)

      Чтобы перейти на новый модуль NodeJS RTC вместо Nginx-PushStreamModule, нужно:

      1. В главном меню виртуальной машины выбрать пункт 10. Configure Push/RTC service > 1. Configure NodeJS RTC Service:

      2. Ввести имя хоста, где нужно запустить NodeJS RTC сервис (в примере мы выбрали server1 c запущенным сервисом Nginx-PushStreamModule), согласиться на смену модуля Nginx-PushStreamModule на NodeJS RTC:

      3. Подождать, пока задачи по запуску NodeJS RTC Push&Pull сервера будут закончены:

      Примечание В пуле может быть только один сервис Push&Pull. Если у вас запущен Push&Pull сервис на одном сервере, и вы выбираете в качестве сервера другую машину, то мастер остановит Push&Pull сервис на первой машине и запустит его на другой.


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      2. Удалить NodeJS RTC сервис (2. Remove NodeJS RTC Service)

      Чтобы перейти с NodeJS RTC обратно на модуль Nginx-PushStreamModule, нужно:

      1. В главном меню виртуальной машины выбрать пункт 10. Configure Push/RTC service > 2. Remove NodeJS RTC Service:

      2. Ввести имя хоста, где нужно перейти обратно на Nginx-PushStreamModule (в примере мы выбрали server1 c запущенным сервисом NodeJS RTC), согласиться на удаление NodeJS RTC:

      3. Подождать, пока задачи по запуску Nginx-PushStreamModule Push&Pull сервера будут закончены:


      Внимание! Задачи могут выполняться довольно длительное время (до 2-3 часов и более) в зависимости от сложности задачи, объема данных, используемых в этих задачах, мощности и загруженности сервера. Проверить текущие выполняемые задачи можно с помощью меню 5. Background tasks in the pool > 1. View running tasks. Если по каким-либо причинам нужно посмотреть лог-файлы выполнения задач, то они находятся в директории /opt/webdir/temp.



      Дополнительные настройки BitrixVM/BitrixEnv

      Внимание! Для операций, описанных в данной главе, необходимы начальные знания администрирования. Перед началом проведения данных операций рекомендуется сделать полный бэкап «Виртуальной машины». Также некоторые настройки могут быть недокументированными разработчиком BitrixVM/BitrixEnv «лайфхаками», вы должны понимать, что делаете.



      Изменение стандартных настроек BitrixVM без отключения автоподстройки

      При запуске виртуальной машины BitrixVM или физического сервера с установленным пакетом BitrixEnv сервисом bvat автоматически настраиваются основные параметры Apache, PHP, MySQL и nginx в зависимости от количества доступной памяти. Это позволяет обеспечивать оптимальные настройки сервера.

      Но в ряде случаев возникает необходимость изменения некоторых параметров без отключения сервиса bvat. Для внесения таких изменений в настройки сервера предусмотрены специальные конфигурационные файлы, позволяющие переопределять параметры, устанавливаемые сервисом bvat. Они хранятся в директориях:

      • MySQL - /etc/mysql/conf.d/z_bx_custom.cnf
      • Apache - /etc/httpd/bx/custom/z_bx_custom.conf
      • nginx - /etc/nginx/bx/settings/z_bx_custom.conf
      • PHP - /etc/php.d/z_bx_custom.ini

      В случае, если в этих директориях нет конфигурационных файлов, то их можно создать самостоятельно.

      Внимание! Все изменения стандартных конфигурационных файлов Apache, PHP, MySQL и nginx могут быть утрачены во время обновления виртуальной машины BitrixVM/BitrixEnv. Что бы этого не произошло, все переопределяемые параметры должны быть только в файлах z_bx_custom.*, указанных выше для каждого сервиса.



      Добавление ssl-сертификатов в BitrixVM/BitrixEnv

      Внимание!: Данное решение является временным, в новых версиях BitrixVM/BitrixEnv будет более удобная поддержка пользовательских SSL-сертификатов.


      Предположим у нас есть сайт http://site1.bx, и нам нужно переключить работу сайта на защищенный протокол https.

      Наши действия будут такими:

      1. Сначала вы должны получить SSL-сертификат от центра сертификации, который вы выбираете сами. У вас должны быть файлы:
        • site1.bx.key - приватный ключ домена (созданный вами на этапе отправки заявки на получение сертификата или присланный центром сертификации)
        • site1.bx.crt - публичный сертификат домена (присланный центром сертификации)
        Внимание! Если в BitrixVM/BitrixEnv меняется ssl-сертификат с установленного по умолчанию на свой, а сертификат запаролен, то это вызовет проблему в работе мастеров и при перезапуске сервисов. Будет постоянно запрашиваться ввод пароля. Чтобы избежать подобных проблем, нужно удалить пароль из сертификата:
        /path/to/openssl rsa -in /path/to/originalkeywithpass.key -out /path/to/newkeywithnopass.key
        
      2. Далее загружаем полученные сертификаты от центра сертификации, например, в директорию /etc/nginx/ssl/ с помощью любого менеджера файлов по протоколу sftp (например WinSCP).

      3. Дальнейшие команды выполняются в консоли виртуальной машины BitrixVM/BitrixEnv (0. Exit в главном меню) либо аналогичные действия в менеджере файлов, как удобнее.

      4. При обновлении виртуальной машины BitrixVM/BitrixEnv возможна автоматическая перезапись стандартных файлов nginx, поэтому скопируем файл конфигурации ssl.conf в новый файл site1.bx_ssl.conf (название файла может быть любым). Для удобства, это делается для каждого сайта, если их у вас несколько:
        cp /etc/nginx/bx/conf/ssl.conf /etc/nginx/bx/conf/site1.bx_ssl.conf
        
      5. Затем редактируем файл /etc/nginx/bx/conf/site1.bx_ssl.conf и указываем расположение site1.bx.key (приватный ключ домена) и site1.bx.crt (публичный сертификат домена) в директивах nginx ssl_certificate_key и ssl_certificate соответственно.
        ssl_certificate /etc/nginx/ssl/site1.bx.crt;		# публичный сертификат домена
        ssl_certificate_key /etc/nginx/ssl/site1.bx.key;	# приватный ключ домена
        
      6. Открываем файл /etc/nginx/bx/site_avaliable/bx_ext_ssl_site1.bx.conf и ищем в нем строку:
        include bx/conf/ssl.conf;
        
        и меняем на:
        include bx/conf/site1.bx_ssl.conf;
        

        Примечание: Для сайта по умолчанию s1 (который находится в директории /home/bitrix/www) файл будет называться /etc/nginx/bx/site_avaliable/s1.ssl.conf, а для дополнительных сайтов (которые создаются в директории /home/bitrix/ext_www/название_хоста) - /etc/nginx/bx/site_avaliable/bx_ext_ssl_название_хоста.conf.

      7. Проверяем, что конфигурационные файлы nginx без ошибок:
        nginx -t
        
      8. И если все в порядке, перезапускаем nginx:

        CentOS 6:

        service nginx restart
        

        CentOS 7:

        systemctl restart nginx.service
        
      9. Далее, по желанию, можно переключить работу сайта только по протоколу https в меню 6. Mange sites in the pool > 5. Change https settings on site. Как это сделать написано здесь.

      10. И в административном интерфейсе произвести необходимые настройки для контента сайта. Рекомендации прочитать можно здесь.

      Теперь даже после обновления виртуальной машины BitrixVM/BitrixEnv, если стандартные файлы конфигурации nginx будут изменены, то сайт продолжит работать по протоколу https.



      Увеличение дискового пространства BitrixVM

      Внимание! Для операций, описанных в данной главе, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

      При использование виртуальной машины BitrixVM или ami-образа BitrixVM, со временем может возникнуть проблема нехватки свободного места.

      Решить эту проблему можно двумя способами:

      1. добавить в виртуальную машину еще один жесткий диск, смонтировать его в системе и перенести на него часть контента (наиболее оптимальный способ);
      2. увеличить размер существующего виртуального жесткого диска.


      Добавление дополнительного жесткого диска BitrixVM

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

      Так как основной объем дискового пространства потребляется контентом сайтов и их резервными копиями, расположенными в /home/bitrix, а также БД, расположенной в /var/lib/mysql, то на отдельные диски следует выносить именно эти разделы.

      Рассмотрим данную задачу на примере переноса на отдельный диск папки /home с контентом сайтов и их резервными копиями.

      • Для этого в настройках виртуальной машины в список оборудования, добавляем новый диск необходимого размера. Все указанные ниже действия необходимо осуществлять под учетной записью администратора root:

      • После добавления диска, для его инициализации, возможно, потребуется перезагрузить сервер. Увидеть новый диск и присвоенное ему буквенное обозначение можно, выполнив команду:
        fdisk -l

      • Запускаем утилиту fdisk для работы с диском /dev/sdb:
        fdisk /dev/sdb

        И командой n создаем новый раздел:

        • основной (primary partition) - команда p и Partition number (1-4): 1;
        • первый и последний сектора при этом выбираем по умолчанию - таким образом, будет создан раздел, используя все свободное пространство на диске:

      • Для сохранения изменений на диск и выхода из fdisk введите команду w.

      • После сохранения таблицы разделов, форматируем новый раздел и переносим на него информацию из /home:

        CentOS 6
        mkfs.ext4 /dev/sdb1 
        mount /dev/sdb1 /mnt 
        service httpd stop 
        service nginx stop
        mv -f /home/* /mnt 
        umount /mnt
        
        CentOS 7
        mkfs.ext4 /dev/sdb1 
        mount /dev/sdb1 /mnt 
        systemctl stop httpd.service
        systemctl stop nginx.service
        mv -f /home/* /mnt 
        umount /mnt
        
      • Следующим шагом определяем UUID нового диска:
        blkid
        /dev/sda1: UUID="99066558-ba04-465c-9962-e827aa2928ec" TYPE="ext4" 
        /dev/sda2: UUID="8ea38ef9-1ee5-423b-a013-15fd603a678e" TYPE="swap" 
        /dev/sda3: UUID="08ec5c65-8fd8-47ac-a998-d81195c8f964" TYPE="ext4" 
        /dev/sdb1: UUID="b2e58731-b621-4bd5-909a-afe3bb5dd8a1" TYPE="ext4"
        

        и добавляем запись (в данном примере: UUID=b2e58731-b621-4bd5-909a-afe3bb5dd8a1) о нем в /etc/fstab (вместо UUID можно также использовать имя устройства /dev/sdb):

      • Остается только примонтировать новый диск и запустить остановленные ранее службы:

        CentOS 6
        mount /home 
        service httpd start 
        service nginx start 
        
        CentOS 7
        mount /home 
        systemctl start httpd.service
        systemctl start nginx.service
        

      Добавление дисков в других средах виртуализации или непосредственно на физическом сервере проходит аналогично.



      Увеличение размера существующего жесткого диска BitrixVM

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

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

      В данном примере воспользуемся виртуальной машиной BitrixVM для VMWare и покажем, как увеличить размер системного диска до 100Гб.

      1. Для этого необходимо запустить VMWare Player, в списке виртуальных машин выбрать виртуальную машину BitrixVM и нажать Edit virtual machine settings:

      2. В окне устройств выбрать Hard Disk, размер которого нужно увеличить, и активировать в меню Utilities пункт Expand:

      3. В открывшемся окне Expand Disk Capacity в поле Maximum disk size (GB) указать необходимый объем виртуального диска в гигабайтах (в данном примере - 100Гб):

      4. Далее необходимо запустить виртуальную машину BitrixVM, авторизоваться под root и перейти в режим командной строки (консоль), выбрав пункт меню 0. Exit в виртуальной машине.
      5. Смотрим диск и присвоенное ему буквенное обозначение консольной командой:
        fdisk -c -u -l

        где для диска /dev/sda:

        • sda1 - загрузочный сектор диска;
        • sda2 - файл подкачки (swap);
        • sda3 - раздел, в котором установлена операционная система и который как раз и нужно увеличить.


      6. Запускаем утилиту fdisk для работы с диском /dev/sda:
        fdisk -c -u /dev/sda
      7. Командой d удаляем раздел sda3, выбрав Partition number (1-4): 3:

        Внимание! Данные с диска при этом никуда не удаляются, в данном случае удаляется лишь запись о разделе из таблицы разделов диска.

      8. Далее командой n создаем новый раздел:
        • основной (primary partition) - команда p и Partition number (1-4): 3;
        • первый и последний сектора при этом выбираем по умолчанию - таким образом, будет создан раздел, используя все свободное пространство на диске.

      9. Для сохранения обновленной таблицы разделов и выхода из fdisk введите команду w:

      10. Чтобы система подгрузила новую таблицу разделов, необходима перезагрузка виртуальной машины:
        reboot
      11. После перезагрузки с помощью утилиты resize2fs увеличиваем размер файловой системы раздела /dev/sda3:
        resize2fs /dev/sda3

      Проверить, что раздел увеличен можно с помощью команды df:

      Изменение размера дисков в других средах виртуализации проходит аналогично.



      Увеличение размера LVM-раздела BitrixVM

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

      Внимание! По умолчанию в CentOS 7 устанавливается менеджер логических томов LVM2 при автоматической разбивке диска на этапе установки системы (в случае установки BitrixEnv c помощью скрипта bitrix_env.sh на готовый CentOS 7). В таком случае изменение размера LVM-раздела будет отличаться от предыдущих способов.


      Пусть размер системного диска был увеличен с 20 ГБ до 100Гб, как было сделано ранее в VMWare Player.

      Тогда действия по изменению размера LVM-раздела будут такими:

      1. Смотрим, что в системе на данный момент есть из устройств/разделов командой:
        fdisk -l

      2. Убеждаемся, что место в системе автоматически не увеличилось при помощи команды:
        df -h

        Здесь мы также видим и запоминаем имя группы томов и имя тома (у вас они будут другие):

        • cl - имя группы томов;
        • root - имя тома.

      3. Создаем новый раздел sda3 - тип раздела: Linux LVM (код типа 8e) на неразмеченной области. Для этого начинаем работу с устройством sda c помощью команды:
        fdisk /dev/sda
      4. Далее командой n создаем новый раздел:
        • основной (primary partition) - команда p и Partition number (1-3, default 3): 3 (так как у нас было 2 логических раздела sda1 и sda2 - п.1);
        • первый и последний сектора при этом выбираем по умолчанию - таким образом, будет создан раздел, используя все свободное пространство на диске;
        • укажем тип раздела - команда t и Partition number (1-3, default 3): 3;
        • вводим код типа раздела, соответствующий Linux LVM - 8e;
        • смотрим таблицу разделов - команда p и убеждаемся, что все верно;
        • Раздел sda3 создан. Для сохранения обновленной таблицы разделов и выхода из fdisk - команда w.

      5. Чтобы система подгрузила новую таблицу разделов, необходима перезагрузка виртуальной машины:
        reboot
      6. После перезагрузки необходимо создать физический том sda3:
        pvcreate /dev/sda3
      7. Далее расширяем группу томов на новое пространство, используя имя группы томов cl (которое мы запомнили ранее в п.2):
        vgextend /dev/cl /dev/sda3
      8. Теперь расширим логический том, используя имя тома root (которое мы запомнили ранее в п.2):
        lvextend -l+100%FREE /dev/cl/root
      9. Сканируем диски на предмет наличия групп томов и активируем все найденные группы томов:
        vgscan
        vgchange -ay
        

      10. Узнаем тип файловой системы:
        file -s /dev/sda1

        Видим, что файловая система XFS.

      11. И наконец, расширяем файловую систему XFS (может потребоваться время):
        xfs_growfs /dev/cl/root

        Внимание! Если файловая система не XFS, а, например, ext4 или reiserfs, то команды будут такие (с учетом cl - имя группы томов и root - имя тома из п.2):
        • resize2fs /dev/cl/root - для ext4;
        • resize_reiserfs /dev/cl/root - для reiserfs;

      12. Проверяем итоговый результат:
        df -h



      Подключение Swap-раздела

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

      Виртуальная машина BitrixVM поставляется с swap-разделом 256 МБ, а в образе ami он по умолчанию не подключен. Поэтому в процессе эксплуатации может возникнуть необходимость в расширении раздела подкачки.

      Как и в случае с увеличением свободного места, наиболее простой способ - добавить дополнительный диск и разместить раздел подкачки на нем, либо создать файл подкачки.

      Для этого:

      • подключаем к виртуальной машине диск или создаем файл подкачки:
        dd if=/dev/zero of=/swapfile bs=1M count=1024
        
      • создаем на диске:
        mkswap /dev/sdb1
        
        или в файле swap-раздел:
        mkswap /swapfile
        
      • подключаем раздел подкачки:
        swapon /dev/sdb1
        
        или файл подкачки:
        swapon /swapfile
        
      • и наконец, добавляем запись о новом разделе подкачки в /ets/fstab, чтобы не включать после каждой перезагрузки вручную:
        /dev/sdb1 none swap sw 0 0
        
        или о файле подкачки:
        /swapfile none swap sw 0 0
        


      Ручная настройка memcached

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».

      В случае, если в проекте планируется использовать memcached, необходимо произвести его настройку в соответствии с предполагаемой нагрузкой.

      Для этого необходимо:

      1. В файле /etc/sysconfig/memcached задать следующие параметры:
        • MAXCONN = "1024" - количество одновременных подключений (по умолчанию 1024);
        • CACHESIZE="1024" - объем выделяемой памяти для кеша (по умолчанию 64MB);
        • OPTIONS="t 8" - количество потоков memcached (по умолчанию 4).

        Примечание: Параметры MAXCONN, CACHESIZE и OPTIONS подбираются экспериментальным путем в зависимости от характера нагрузки и от имеющихся ресурсов.

        Оценить объем памяти, необходимой для кеширования (параметр CACHESIZE), можно по размеру вашего файлового кеша. Если у вас на проекте файловый кеш занимает 3 GB, то использование memcached c 256МБ памяти не будет эффективным за счет частого вытеснения.

      2. После настройки memcaсhed необходимо перезапустить командой:

        CentOS 6:

        service memcached restart
        

        CentOS 7:

        systemctl restart memcached.service
        
      3. Далее подключить его в /bitrix/php_interface/dbconn.php:

        define("BX_CACHE_TYPE", "memcache");
        define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
        define("BX_MEMCACHE_HOST", "127.0.0.1");
        define("BX_MEMCACHE_PORT", "11211");
        

        И в файле /bitrix/.settings_extra.php (если его нет, то создать):

        <?php
        return array(
          'cache' => array(
            'value' => array(
              'type' => 'memcache',
              'memcache' => array(
                'host' => '127.0.0.1',
                'port' => '11211',
              ),
              'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
            ),
          ),
        );
        ?>
        


      В случае, если используется один сервер, то для улучшения производительности можно настроить работу с memcached через сокет:

      1. В файле /etc/sysconfig/memcached задать параметры:

        • USER="bitrix" - пользователь, от которого будет запущен memcached;
        • OPTIONS="-t 8 -s /tmp/memcached.sock" - количество потоков и путь к сокету.

      2. Перезапустить memcached командой:

        CentOS 6:

        service memcached restart
        

        CentOS 7:

        systemctl restart memcached.service
        
      3. После этого необходимо изменить настройки в /bitrix/php_interface/dbconn.php:

        define("BX_CACHE_TYPE", "memcache");
        define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
        define("BX_MEMCACHE_HOST", "unix:///tmp/memcached.sock");
        define("BX_MEMCACHE_PORT", "0");
        

        И в файле /bitrix/.settings_extra.php (если его нет, то создать):

        <?php
        return array(
          'cache' => array(
            'value' => array(
              'type' => 'memcache',
              'memcache' => array(
                'host' => 'unix:///tmp/memcached.sock',
                'port' => '0',
              ),
              'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
            ),
          ),
        );
        ?>
        


      Корректное монтирование Windows-ресурсов

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».


      В случае необходимости подключения сетевого диска Windows в качестве хранилища для WebDAV можно воспользоваться следующей командой:

      mount -t cifs -o -fstype=cifs,iocharset=utf8,username=XXXX,password=XXXX,uid=500,gid=501,fmode=0777,noserverino //xxx.xxx.xxx.xxx/folder /home/bitrix/www/docs/folder/smb
      
      где:
      • uid - идентификатор пользователя bitrix;
      • gid - идентификатор группы bitrix;
      • //xxx.xxx.xxx.xxx/folder - путь к сетевому ресурсу;
      • /home/bitrix/www/docs/folder/smb - папка, куда будет смонтирован диск.

      Примечание: Использование опции noserverino является обязательным, так как в PHP есть уязвимость.


      Выполнение всех агентов на Cron

      На больших и не очень проектах часто возникает вопрос с переносом исполнения некоторых особо тяжелых агентов на Cron.

      • Для начала полностью отключим выполнение агентов на хите. Для этого необходимо выполнить команду в php-консоли административного меню продукта «1С-Битрикс» /bitrix/admin/php_command_line.php?lang=ru:
        COption::SetOptionString("main", "agents_use_crontab", "N"); 
        echo COption::GetOptionString("main", "agents_use_crontab", "N"); 
        
        COption::SetOptionString("main", "check_agents", "N"); 
        echo COption::GetOptionString("main", "check_agents", "Y");
        

        В результате выполнения должно быть NN.

      • Убираем из файла /bitrix/php_interface/dbconn.php определение следующих констант:
        define("BX_CRONTAB_SUPPORT", true);
        define("BX_CRONTAB", true);
        

        И добавляем:

        if(!(defined("CHK_EVENT") && CHK_EVENT===true))
           define("BX_CRONTAB_SUPPORT", true);
         
      • Далее создаем файл проверки агентов и рассылки системных сообщений /bitrix/php_interface/cron_events.php:
        <?
        $_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");
        $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
        
        define("NO_KEEP_STATISTIC", true);
        define("NOT_CHECK_PERMISSIONS",true); 
        define('CHK_EVENT', true);
        
        require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
        
        @set_time_limit(0);
        @ignore_user_abort(true);
        
        CAgent::CheckAgents();
        define("BX_CRONTAB_SUPPORT", true);
        define("BX_CRONTAB", true);
        CEvent::CheckEvents();
        ?>
        
      • И добавляем данный скрипт в Cron:
         */5 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php
        

      После этого все агенты и отправка системных событий будут обрабатывается из-под cron, раз в 5 минут.


      Чтобы не увеличивалась очередь отправки почтовых сообщений, нужно изменить параметр, отвечающий за количество почтовых обрабатываемых за раз событий. Для этого выполняем в php-консоли следующую команду:

      COption::SetOptionString("main", "mail_event_bulk", "20"); 
      echo COption::GetOptionString("main", "mail_event_bulk", "5");
      


      Опции монтирования

      Внимание! Для операций, описанных в данном уроке, необходимы знания администрирования *nix-систем. Перед началом проведения данных операций рекомендуется сделать полный бекап «Виртуальной машины».


      Для обеспечения более высокой производительности файловой системы рекомендуем отключать изменение метки времени при чтении файлов и директорий: noatime, nodiratime.

      Для этого в /etc/fstab нужно отредактировать (добавить в текущую строку) параметры в строке со своим UUID:

      UUID=abd9bdaa-e17d-40b3-aee5-37ef53a57b16 /    ext4    defaults,noatime,nodiratime    1 1
      
      где UUID=abd9bdaa-e17d-40b3-aee5-37ef53a57b16 - уникальный идентификатор диска, который можно узнать в консоли по команде blkid.

      Примечание: Вместо UUID можно также использовать имя устройства: /dev/sda1, /dev/sda2, /dev/sda3. Или метку тома если она задана, например: LABEL=root.

      После перезагрузки новые настройки начнут действовать.

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

      mount -o remount,noatime,nodiratime /
      

      Примечание: К решению проблемы производительности файловой системы нужно подходить творчески. Если, например, на диске есть еще кеш некоторых приложений, то от предложенных мер производительность может снизиться, так как многие приложения очищают кеш по метке доступа, которые в примере предлагается отключить. В некоторых случаях увеличение времени коммита может дать лучший результат, особенно если много оперативной памяти. Время коммита задается параметром commit. Для установки его в 120 секунд, например, необходимо добавить commit=120. То есть набор опций монтирования будет defaults,noatime,commit=120.

      По умолчанию сброс данных и метаданных на диск происходит каждые 5 сек. Откладывание времени сброса, так же может уменьшить фрагментацию файлов на диске, если есть файлы, в которые часто происходит дописывание данных. Например логи.


      Подключение IDE

      Для упрощения работы с Bitrix Framework в виртуальную машину включён Xdebug. Работает он по схеме:

      Перед изменением настроек надо переименовать файл xdebug.ini.disabled в xdebug.ini и перезапустить httpd.

      Для настройки машины воспользуйтесь следующим примером:

      $ cat /etc/php.d/xdebug.ini
      ; Enable xdebug extension module
      zend_extension=/usr/lib/php/modules/xdebug.so
      xdebug.remote_enable=on
      xdebug.remote_host=192.168.205.1
      xdebug.remote_port=9000

      Примечание: Xdebug требует использовать proxy при работе через Network Address Translation (NAT), необходимо открыть порт 9000.


      BitrixVM API для провайдеров

      В главе описывается API, помощью которого можно подключить процедуру заказа/создание машины в управлением пулом в продуктах «1С-Битрикс».



      Провайдеры

      Все работа с провайдерами осуществляется с помощью плагинов, расположенные в определенном каталоге (на текущий момент все управлением сделано на файлах): /opt/webdir/providers.

      Для каждого провайдера предусмотрены:

      • обязательные параметры командной строки для универсализации доступа к их возможностям;
      • стандартизированный вывод по завершению обработки результатов.

      Скрипт плагина, который будет использован в web-интерфейсе продуктов «1С-Битрикс», должен быть раcположен по адресу:

      /opt/webdir/providers/{provider_name}/bin/{provider_name}

      Для подключения в пул плагин провайдера должен поддерживать следующие аргументы командной строки:

      • help - отображает поддерживаемые аргументы командной строки:
        {
          "options": [
            "help",
            "configs",
            "order",
            "order_status"
          ],
          "status": "enabled"
        }
        

        Массив options должен содержать список поддерживаемых опций (например, в данном случае отсутствует опция init, которая позволяет подключиться на этапе создания мастер сервера).

        Опция status может содержать следующие значения: disabled или enabled, что позволяет определить включен или выключен провайдер на конкретном сервере.

      • configs - отображает список поддерживаемых конфигураций:
        {
          "configurations": [
            {
              "id": "1",
              "descr": "Bitrix-env, 1 month, Centos-6 x86_64, CPU 2x1.0 Ghz, Memory 1Gb, HDD 20Gb"
            }
          ],
          "status": "enabled"
        }
        

        configurations - содержит список сервисов/конфигураций, которые может заказать пользователь, используя web интерфейс «1С-Битрикс».

        На текущий момент поддерживается два параметра по каждой конфигурации:

        • id - идентификатор конфигурации, который будет использован в заказе,
        • descr - описание для пользователя.
      • order - позволяет заказать сервер/VPS выбранной конфигурации, вторым параметром в данном случае будет передан номер конфигурации:
        {"task_id":"24"}
        

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

      • order_status - позволяет получить информацию по заказу:
        {
          "server_password": "XXXXXXXXXXXXXX",
          "status": "finished",
          "server": "xxx.xxx.xxx.xxx",
          "task_id": "24"
        }
        
        где:
        • status - содержит информацию по заказу, может содержать следующие значения:
          • in_progress - находится на обработке со стороны провайдера/хостера;
          • finished - обработка завершена, можно добавлять машину в пул;
          • error - во время выполнения произошла ошибка.
        • server - содержит ip address или имя машины;
        • server_password - содержит пароль пользователя root для копирования ssh-ключей при подключение сервера в пул.

        Любое из действий может сообщить об ошибке с помощью значений в полях error и error_message. Например:

        {
          "error_message": "get_task error N102, No task found",
          "error": 1
        }
        

      Внимание! Информацию о работе скрипта, который использует возможности провайдеров и позволяет подключить их в web- интерфейс, см Скрипт работы с провайдерами.



      Скрипт работы с провайдерами

      Данный скрипт нужен для встраивания плагинов провайдеров в web- интерфейс продуктов «1C-Битрикс».

      На текущий момент реализованы следующие методы:

      • list - отображает список всех провайдеров, для которых существуют подкаталоги в директории /opt/webdir/providers на машине:
        {
          "params": {
            "providers": {
              "superprovider": {
                "status": "enabled"
              },
              "amazon": {
                "error": 1,
                "message": "bxProvider::optionsProvider: Provider amazon not exist on the host"
              }
            }
          }
        }
        

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

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

        {
          "params": {
            "providers": {
              
            }
          }
        }
        
      • status - покажет статус для провайдера:
        /opt/webdir/bin/bx-provider -a status --provider superprovider -o json
        {
          "params": {
            "provider_options": {
              "superprovider": {
                "options": {
                  "order_status": 1,
                  "order": 1,
                  "help": 1,
                  "configs": 1,
                  "init": 0
                },
                "status": "enabled",
                "files": {
                  "execute": "/opt/webdir/providers/superprovider/bin/superprovider",
                  "holder": "/opt/webdir/providers/superprovider",
                  "config": "/opt/webdir/providers/superprovider/etc/superprovider.conf"
                },
                "name": "superprovider",
                "config": "exists"
              }
            }
          }
        }
        

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

      • install и uninstall - создает/удаляет данные для провайдера (на текущий момент больше для отладки, возможно, в дальнейшем с помощью этих методов хостеры смогут установить свой плагин на сервер и удалить его):
        /opt/webdir/bin/bx-provider -a install --provider amazon --archive /tmp/amazon-v01.tar.gz
        
      • configs - отображает список всех конфигураций провайдера:
        /opt/webdir/bin/bx-provider -a configs --provider superprovider -o json
        {
          "params": {
            "provider_configs": {
              "superprovider": {
                "configurations": [
                  {
                    "id": "1",
                    "descr": "Bitrix-env, 1 month, Centos-6 x86_64, CPU 2x1.0 Ghz, Memory 1Gb, HDD 20Gb"
                  }
                ],
                "status": "enabled"
              }
            }
          }
        }
        
      • order - заказывает виртуальный сервер или VPS:
        /opt/webdir/bin/bx-provider -a order --provider superprovider --config_id 1 -o json
        {
          "params": {
            "provider_order": {
              "superprovider": {
                "task_id": "25"
              }
            }
          }
        }
        
      • order_status - отображает статус заказа:
        /opt/webdir/bin/bx-provider -a order_status --provider superprovider --task_id 25 -o json 
        {
          "params": {
            "provider_order": {
              "superprovider": {
                "server_password": "XXXXXXXXXXXXXXX",
                "status": "complete",
                "server": "xxx.xxx.xxx.xxx"
                "task_id": "25"
              }
            }
          }
        }
        
      • orders_list - список всех заказов, сделанных на хосте:
        /opt/webdir/bin/bx-provider -a orders_list --provider superprovider -o json
        {
          "params": {
            "provider_order_list": {
              "superprovider": {
                "25": {
                  "status": "finished",
                  "mtime": 1403445981,
                  "error": 0,
                  "message": ""
                },
                "22": {
                  "status": "error",
                  "mtime": 1403441000,
                  "error": 1,
                  "message": "cannot add ssh key to the server"
                },
                "21": {
                  "status": "complete",
                  "mtime": 1403440979,
                  "error": 0,
                  "message": ""
                },
                "23": {
                  "status": "finished",
                  "mtime": 1403441229,
                  "error": 0,
                  "message": ""
                }
              }
            }
          }
        }
        

        Тут добавлен еще один статус по задаче: complete - это значит, что сервер из данного задания был добавлен в пул.

      • order_to_host - запускает процедуру добавления сервера в пул с параметрами, переданными в статусе заказа:
        /opt/webdir/bin/bx-provider -a order_to_host --provider superprovider --task_id 25 -o json
        


      Установка продукта

      В разделе рассматриваются различные способы установки продукта.

      Карта установки

      Продукт «1C-Битрикс: Управление сайтом» имеет много способов и вариантов установки. Конкретный способ зависит от целей установки, имеющегося на компьютере ПО, выбранного решения. Карта установки позволит вам выбрать для себя оптимальный вариант установки из множества возможных.

      • Ознакомление с продуктом на локальном компьютере

        Для ознакомления с продуктом на локальном компьютере можно использовать Windows-инсталлятор продукта, либо установку на Виртуальную машину (крайне рекомендуется).

      • Установка на удаленный сервер

        Для установки на удаленный сервер мы рекомендуем использовать скрипт BitrixSetup. Также в этой ситуации можно воспользоваться установкой продукта с помощью архива .tar.gz или .zip.

        Для установки на выделенный сервер рекомендуется "1С-Битрикс: Веб-окружение" - Linux

      • Перенос сайта между разными площадками

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

      Установка продукта с помощью Windows-инсталлятора

      Используя Windows-инсталляторы продукта, можно установить как ознакомительную (***_encode_php5.exe), так и коммерческую версию (***_source.exe), где *** - название редакции продукта. Ознакомительная версия продукта доступна бесплатно и может быть использована в течение 30 дней.

      Для успешной установки и функционирования продукта система должна удовлетворять следующим минимальным требованиям:

      • Windows 98/ME/NT/2000/XP/Vista/Server 2003/2008/7;
      • В зависимости от редакции продукта необходимо не менее 80-500 Mб свободного места на диске.
      • Компьютер должен быть подключен к Интернету.

      Предварительные операции

      Для установки продукта «1С-Битрикс: Управление сайтом», необходимо предварительно выполнить следующие действия:

      • Cкачать требуемую вам версию инсталлятора.

        Пробные версии продукта доступны по адресу http://www.1c-bitrix.ru/download/cms.php, а коммерческие – по адресу http://www.1c-bitrix.ru/support/customers/sources.php.
      • Запустить загруженный файл. Откроется стартовое окно Мастера установки.

        Мы рекомендуем осуществлять запуск приложения от имени администратора. Это связано с возможными настройками учетных записей (UAC) в Windows Vista и Windows 7.

      Мастер установки обеспечивает пошаговую инсталляцию программного продукта, что делает этот процесс понятным и не требующим больших затрат времени. В ходе этого процесса выполняется:

      • загрузка при необходимости с сайта компании «1С-Битрикс» и установка пакета «Битрикс: Веб-окружение».
      • установка продукта «1С-Битрикс: Управление сайтом».

      Для навигации по шагам Мастера установки используются кнопки Далее и Назад. Кнопка Далее позволяет перейти к следующему шагу. Кнопка Назад позволяет вернуться к предыдущему шагу для изменения настроек и введенных данных. Кнопка Отменить прерывает процесс установки.



      Мастер установки

      Первый шаг установки (начало установки)

      Первое окно Мастера установки информирует о начале процесса установки и выводит общую информацию о продукте, а также рекомендации по установке.

      • Нажмите кнопку Далее. Откроется следующий шаг мастера с Лицензионным соглашением на использование «1С-Битрикс: Управление сайтом».

      Второй шаг установки (Лицензионное соглашение)

      Для продолжения установки необходимо ознакомиться с Лицензионным соглашением и принять его условия. В противном случае дальнейшая установка будет невозможна:

      • Поставьте переключатель в положение Я принимаю условия соглашения.
      • Нажмите кнопку Далее, откроется следующий шаг Мастера.

      Третий шаг установки (установка Веб-окружения и выбор кодировки UTF-8)

      Если пакет «Битрикс: Веб-окружение» не установлен, то:

      • Необходимо поставить флажок в поле Скачать и установить "Битрикс: Веб-окружение". В этом случае следующим шагом будет загрузка файла bitrix_env.exe и далее запустится мастер установки пакета «Битрикс: Веб-окружение» (см. главу Установка пакета "Битрикс: Веб-окружение"), который установит все необходимые приложения для работы с продуктом: MySQL 5.1.51, Apache 2.2.15, PHP 5.3.2, Catdoc, xpdf, msmtp.

        Примечание! При установке продукта с компакт-диска или же из папки, в которой уже имеется дистрибутив «Битрикс: Веб-окружение» (файл bitrix_env.exe), то этап загрузки дистрибутива bitrix_env.exe будет пропущен, так как сначала будет проверено его наличие в папке, откуда запускается мастер.

        Важно! Если в установке пакета «Битрикс: Веб-окружение» необходимости нет, то мастер предложит выбрать папку для распаковки продукта. В этом случае нужно будет дополнительно установить указанные выше приложения, необходимые для работы «1С-Битрикс: Управление сайтом».
      • Если на сайте планируется использовать несколько языков с различными кодировками, то необходимо включить поддержку кодировки UTF-8 (опция Установить продукт в кодировке UTF-8).
      • Нажмите кнопку Далее.

      Если у вас уже установлен пакет «Битрикс: Веб-окружение», то на данном шаге установки необходимо:

      • Снять флажок Скачать и установить "Битрикс Веб-окружение". Мастер запросит подтверждения на отказ от установки пакета «Битрикс: Веб-окружение».

      • Подтвердить отказ и перейти к следующему шагу.


      • На этом шаге нужно выбрать папку для установки «1С-Битрикс: Управление сайтом».
      • Перейдите к следующему шагу с помощью кнопки Далее.



        Проверьте настройки, при необходимости с помощью кнопки Назад вернитесь в предыдущий шаг и измените их.
      • Если все настройки верны, нажмите Установить. Будет осуществлен переход к пятому шагу работы данного Мастера.

      Четвертый шаг установки (подтверждение установки)

      Данный шаг Мастера выводит информацию о выбранных на предыдущих шагах параметрах. Для изменения настроек нажмите кнопку Назад.

      • Если вы согласны с выбранными параметрами, то нажмите кнопку Установить.

        Если была отмечена опция Скачать и установить "Битрикс: Веб-окружение", то будет запущен мастер установки веб-окружения (см. главу Установка пакета "Битрикс: Веб-окружение"). После окончания его работы будет осуществлен переход к пятому шагу работы данного Мастера.

      Пятый шаг установки (установка продукта)

      Начнется процесс установки «1С-Битрикс: Управление сайтом». Ход процесса можно контролировать по полоске прогресса.

      По завершению процесса откроется последнее окно с уведомлением об успешной установке.

      Шестой шаг установки (завершение установки)

      Данное окно информирует о завершении установки приложения «1С-Битрикс: Управление сайтом» на ваш компьютер.

      • Для запуска приложения непосредственно после окончания установки, поставьте флаг в поле Запустить "1С-Битрикс Управление сайтом".

        Примечание: Поле Запустить "1С-Битрикс Управление сайтом" будет доступно, если на третьем шаге установки была выбрана опция Скачать и установить "Битрикс: Веб-окружение".

      • Для выхода из программы установки нажмите кнопку Завершить.


      Запуск приложения

      Первый запуск

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

      • Если продукт устанавливается вместе с пакетом «Битрикс: Веб-окружение», то установка продукта начнется с третьего шага (Регистрация продукта) Мастера установки.
      • Если происходит установка продукта на отдельно установленное «Битрикс: Веб-окружение», то будет запущен первый шаг Мастера установки продукта. По окончании работы этого мастера будет запущен Мастер создания сайта выбранного решения.

      Последующие запуски

      Последующий запуск приложения осуществляется:

      • При помощи ярлыка на рабочем столе, если он был создан в процессе установки приложения;
      • Через меню Пуск (Например: Пуск > Программы > Битрикс Веб-окружение > Битрикс Веб-окружение 2.0);
      • Посредством запуска файла BitrixEnv.exe, расположенного в каталоге установки приложения (Например: C:\Program Files\Bitrix Environment\).

      Начало работы

      После запуска приложения внизу экрана в области уведомлений отобразится ярлык «Битрикс Веб-окружение 2.0»:

      Данный значок в области уведомлений оповещает о запуске всех процессов, необходимых для работы приложения. Теперь можно приступать к работе.

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

      Меню включает следующие пункты:

      • Открыть: позволяет осуществить запуск публичного (доступного посетителям) раздела сайта;
      • Настройка: осуществляет переход к настройкам запуска приложений «1С-Битрикс»;
      • Запуск: осуществляет переход к меню, которое позволяет запустить, остановить или перезапустить службу «Битрикс Веб-окружение»;
      • О продукте: осуществляет переход на сайт «1C-Битрикс» для получения дополнительной информации о продукте;
      • Выход: завершение работы приложения «Битрикс: Веб-окружение».


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

      Внимание! Пакет «Битрикс: Веб-окружение» рекомендуется использовать только для тестирования ознакомительных версий. Для работы реального проекта рекомендуется BitrixVM.

      Простой и понятный мастер установит все необходимые приложения для работы с продуктом:

      • MySQL 5.1.51
      • Apache 2.2.15
      • PHP 5.3.2
      • Catdoc
      • xpdf
      • msmtp

      Предварительные операции

      Для того чтобы установить пакет «Битрикс: Веб-окружение», выполните следующие предварительные действия:

      • Перейдите по ссылке http://www.1c-bitrix.ru/products/env/.
      • Нажмите ссылку Скачать.

      • В открывшемся диалоговом окне выберите вариант Сохранить.
      • Сохраните загружаемый файл с именем bitrix_env.exe.
      • Запустите приложение. Откроется окно Мастера установки веб-окружения.

        Мы рекомендуем осуществлять запуск приложения от имени администратора. Это связано c возможными настройками учетных записей (UAC) в Windows Vista и Windows 7.


      Мастер установки веб-окружения

      Мастер установки обеспечивает пошаговую установку «Битрикс: Веб-окружение», что делает процесс понятным и не требующим больших затрат времени. Вся установка занимает не более 5 минут.

      Для навигации по шагам мастера используются кнопки Далее и Назад. Кнопка Далее позволяет перейти к следующему шагу. Кнопка Назад позволяет вернуться к предыдущему шагу для изменения настроек и введенных данных. Кнопка Отменить прерывает процесс установки.

      Первый шаг установки (начало установки)

      Стартовое окно мастера информирует о начале процесса установки и выводит общую информацию о продукте, а также рекомендации по установке.

      • Нажмите кнопку Далее. Откроется следующий шаг Мастера.

      Второй шаг установки (лицензионное соглашение)

      В данном окне выводится текст Лицензионного соглашения. Вам необходимо внимательно ознакомиться с текстом соглашения и, если вы принимаете условия данного Лицензионного соглашения, то:

      • Поставьте флаг в поле Я принимаю условия соглашения.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Третий шаг установки (выбор папки для установки)

      • Выберите директорию, в которую будет установлен пакет программ. По умолчанию Мастер установки предлагает установить «Битрикс: Веб-окружение» в директорию C:/Program Files/Bitrix Environment/. Чтобы изменить директорию, нажмите кнопку Обзор и выберите папку, в которую должна быть выполнена установка.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Четвертый шаг установки (создание ярлыков)

      • На данном шаге выполняется создание директории в меню Пуск, в которой будут созданы ярлыки приложения. По умолчанию это директория Битрикс Веб-окружение. Чтобы изменить директорию, нажмите кнопку Обзор и выберите папку, в которой должны быть созданы ярлыки приложения.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Пятый шаг установки (дополнительные действия)

      • Если вы хотите создать на рабочем столе ярлык для запуска приложения, то установите флаг в поле Создать иконку на рабочем столе.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Шестой шаг установки (настройка параметров запуска веб-сервера)

      На этом шаге вы можете изменить порт, который будет использоваться веб-сервером Apache.

      По умолчанию предлагается использовать порт 6448. Виртуальный сервер может быть настроен на любой другой порт (например, 6447) при условии, что данный порт не используется другим приложением (например, IIS).

      Примечание: Подробнее о настройках входящих в состав «Битрикс: Веб-окружение» приложений можно прочитать в следующем уроке.
      • Для продолжения установки нажмите кнопку Далее.

      Седьмой шаг установки (установка приложения)

      • На этом шаге проверьте параметры установки «Битрикс: Веб-окружение». При необходимости вернитесь назад и измените параметры.
      • Нажмите кнопку Установить. Начнется процесс установки.

      Подождите, пока Мастер установки скопирует и установит файлы на ваш компьютер.

      Восьмой шаг установки (завершение установки)

      Данное окно информирует о завершении установки приложения «Битрикс: Веб-окружение» на ваш компьютер. Если вы хотите запустить приложение непосредственно после окончания установки, то поставьте флаг в поле Запустить Веб-окружение. Для выхода из программы установки нажмите кнопку Завершить.

      Примечание: При установке приложения «Битрикс: Веб-окружение» в составе Windows-инсталлятора продукта поля Запустить Веб-окружение на последнем шаге не будет. В этом случае нажатие кнопки Завершить начнет процесс установки «1С-Битрикс: Управление сайтом».

      При установке «Битрикс: Веб-окружения» как самостоятельного продукта откроется демонстрационная страница, предназначенная для проверки работоспособности пакета:


      Настройка пакета «Битрикс: Веб-окружение» - Windows

      Чтобы вызвать настройки пакета «Битрикс: Веб-окружение», необходимо:

      • Правой кнопкой мыши кликнуть по иконке в области уведомлений.
      • Далее в меню выбрать пункт Настройка...

      • Откроется окно настроек запуска приложений:

      В данном окне можно настроить параметры приложений:

      • Веб сервер Apache:
        - порт, на котором по умолчанию будет работать веб-сервер;
        - порт SSL, если указано работать веб-серверу в защищенном (SSL) режиме.
      • Запускать серверы:
        - MySQL - запуск сервера баз данных MySQL;
        - порт, на котором по умолчанию будет работать MySQL-сервер;
        - XMPP - запуск XMPP-сервера обмена сообщениями и информацией о присутствии, ранее известный как Jabber;
        - SMTP - запуск почтового SMTP-сервера.
      • Почта:
        - Отправлять почту через веб-окружение - если опция включена, то вся почта будет отправляться через встроенный SMTP-сервер, указанный ниже;
        - Сервер (SMTP) - указывается адрес сервера исходящей почты;
        - Отправитель - указывается почтовый адрес, от которого будет приходить почта;
        - Использовать авторизацию - указывается логин и пароль для доступа к серверу исходящей почты.

        В «Битрикс: Веб-окружение 2.0» для отправки писем используется встроенный SMTP-клиент (MSMTP). Если не указывать в качестве отправщика писем MSMTP (отключить опцию Отправлять почту через веб-окружение), то будет использоваться сервер исходящей почты из php.ini (C:/Program Files/Bitrix Environment/apache2/zendserver/etc/).

      • Отправка сообщений и запуск агентов отдельным процессом - опция в целях оптимизации работы позволяет отправлять сообщения с помощью XMPP-сервера и запускать агенты Apache в отдельных потоках.
      • Запускать Веб-окружение при старте Windows (как службу) - при включенной опции веб-окружение будет запускаться как системная служба при старте Windows, также можно указать свое Название службы.

      Также можно настроить все эти параметры, открыв текстовым редактором файл настроек bitrixenv.ini в директории, куда был установлен пакет «Битрикс: Веб-окружение» (например, C:/Program Files/Bitrix Environment/).
      [Parameters]
      ApachePortSSL=443 ; порт SSL
      StartApacheSSL=0 ; защищенный SSL-режим
      MySQLPort=31006 ; порт MySQL-сервера
      StartMySQL=1 ; запуск MySQL-сервера 
      StartXMPP=1 ; запуск XMPP-сервера
      StartSMTP=1 ; запуск SMTP-сервера
      StartAgents=1 ; запуск агентов Apache
      StartMSMTP=0 ; запуск встроенного почтового SMTP-клиента (MSMTP)
      ServiceName=BitrixEnv ; название службы Windows
      MSMTPAuth=0 ; использование авторизации при оправке почты через MSMTP
      MSMTPServer=localhost ; адрес встроенного почтового SMTP-клиента (MSMTP)
      MSMTPAuthPassword=123456 ; пароль встроенного почтового SMTP-клиента (MSMTP)
      MSMTPAuthLogin=admin ; логин встроенного почтового SMTP-клиента (MSMTP)
      ApachePort=6448 ; порт по умолчанию для веб-сервера Apache
      MSMTPFrom=support@server.local ; почтовый адрес для отправки почты 
      



      Установка нескольких продуктов с помощью пакета «Битрикс: Веб-окружение» - Windows

      При необходимости в рамках одного пакета «Битрикс: Веб-окружение» можно запустить на локальном компьютере несколько продуктов «1С-Битрикс: Управление сайтом» (например, несколько редакций) или другие сайты, сконфигурированные для работы с веб-сервером Apache.

      Для этого выполните следующее:

      • Создайте папку в имеющемся у вас веб-окружении, например, в C:\Program Files\Bitrix Environment\. Папка может быть под любым названием.
      • Создайте новый файл имя_файла.conf (C:\Program Files\Bitrix Environment\apache2\conf\sites\) со следующими строками:
        #Bitrix Env replace()
        Listen 6449
        <VirtualHost _default_:6449>
            DocumentRoot "C:/Program Files/Bitrix Environment/имя_папки"
            ErrorLog "logs/error.log"
            CustomLog "logs/access.log" common
        </VirtualHost>
        #/Bitrix Env replace()
        
        

      где 6449 - порт. Порт должен быть прописан дважды: в строке Listen и в строке VirtualHost. При создании виртуального хоста можно указать любой незанятый порт из диапазона 1 - 65535.

      • После этого необходимо перезапустить «Битрикс: Веб-окружение».
      Примечание: Копирование содержимого во вновь созданную папку возможно при запущенном «Битрикс: Веб-окружение».


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

      Запуск сайта производится по адресу http://сервер:порт, где сервер - адрес сервера (например localhost), порт должен соответствовать установленному вами (например 6449).

      Внимание! Установка нескольких продуктов должна быть выполнена в одной и той же кодировке. Недопустимо использование разных кодировок в рамках одного и того же пакета «Битрикс Веб-окружение».

      Установка продукта с помощью BitrixSetup

      Установка продукта «1С-Битрикс» на удаленный сервер возможна посредством загрузки дистрибутива по протоколу FTP или с помощью скрипта BitrixSetup.

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

      Во избежание возможных ошибок при загрузке, а так же частой проблемы с различием прав доступа пользователя FTP и пользователя сервера Apache настоятельно рекомендуется использовать специально созданный скрипт BitrixSetup.

      С помощью скрипта BitrixSetup вы сможете загрузить дистрибутив пробной или коммерческой версии продукта с сайта www.1c-bitrix.ru непосредственно на ваш сайт, минуя промежуточную загрузку дистрибутива на локальный компьютер. Кроме того, скрипт позволяет автоматически распаковать дистрибутив при отсутствии возможности доступа к сайту по SSH или с помощью внешних программ.

      • Перейдите по ссылке http://www.1c-bitrix.ru/download/cms.php#bitrixsetup на закладку Пробные версии страницы с дистрибутивами продукта:

      • Нажмите ссылку Скачать.
      • В открывшемся диалоговом окне выберите вариант Сохранить.
      • Сохраните загружаемый файл с именем bitrixsetup.php.
      • Установите FTP соединение с сервером, на котором планируется размещение сайта.
      • Загрузите сохраненный на локальном компьютере файл bitrixsetup.php в корневую директорию вашего сайта на сервере (корневую директорию можно узнать у хостера).

        Внимание! Установка и дальнейшая корректная работа продукта возможна только в корневой папке сайта на сервере.

      • Откройте страницу http://<ваш сайт>/bitrixsetup.php в браузере, заменив строку <ваш сайт> на реальный адрес вашего сайта. В браузере отобразится страница загрузки дистрибутива.

        Внимание! Убедитесь, что веб-сервер обладает достаточными правами для создания и записи файлов на хостинге.
      • В поле Выбор дистрибутива выберите нужный дистрибутив и с помощью выпадающего списка укажите редакцию продукта, которую вы хотите установить.
      • Укажите версию продукта, которая вам необходима: демонстрационная или коммерческая.

        Если вы выбрали коммерческую версию, то введите лицензионный ключ в поле Лицензионный ключ.

        Примечание: Установка коммерческой версии без лицензионного ключа невозможна. Установка демоверсии возможна как с демонстрационным ключом, полученным на сайте компании «1С-Битрикс», так и без ключа вообще.

      • Нажмите кнопку Загрузить. Начнется процесс загрузки и распаковки дистрибутива на сайт.

      С помощью скрипта BitrixSetup будет установлено соединение вашего сервера непосредственно с сервером компании «1C-Битрикс». Дистрибутив выбранной редакции продукта будет скопирован в корневую директорию сайта на сервере, автоматически распакован, а затем в браузере откроется окно Мастера установки продукта (например «1C-Битрикс: Управление сайтом» или «Битрикс24 в коробке»).

      С помощью кнопки Назад можно вернуться в раздел Выбор дистрибутива, чтобы изменить значения параметров загрузки (например, редакцию дистрибутива).

      Важно! В целях безопасности скрипт bitrixsetup.php из корневого каталога сайта автоматически удаляется после распаковки дистрибутива.


      Установка продукта «1С-Битрикс: Управление сайтом»

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

      Решения — это дистрибутивы, адаптированные под различные типовые потребности пользователей.

      Предварительные операции

      Продукт «1С-Битрикс» поставляется в виде архивов .zip и .tar.gz для версий PHP 5.x и 7.x.

      • Для начала установки загрузите архивные файлы продукта «1C-Битрикс» на сервер (или локальный компьютер).
      • Распакуйте архив в корневой каталог вашего сайта. Для распакованных файлов продукта вам потребуется примерно 100-600 Мб свободного дискового пространства в зависимости от редакции продукта. Для оценки полного размера необходимо дополнительно прибавить размер самого архива.

        Примечание: если вы устанавливаете продукт на Виртуальную машину BitrixVM (VMWare/VirtualBox), то архив распаковывать вручную не нужно. При этом в Мастере установки нажмите Восстановить проект.

      Внимание! Установка и дальнейшая корректная работа продукта возможна только в корневой папке вашего сайта на хостинге.

      Для успешной установки и функционирования продукта серверное программное обеспечение должно удовлетворять минимальным техническим требованиям продукта:

      1. Минимальным требованием продукта является наличие Apache версии 1.3 и выше, или MS IIS 5.0 и выше, PHP версии 5.3.0 и выше.
      2. Если необходимо, установите СУБД (MySQL версии 5.0 и выше).
      3. Если вы переустанавливаете систему, необходимо очистить базу данных от таблиц.
      4. Убедитесь, что на диске есть дополнительно 100 Мб свободного дискового пространства для работы системы обновлений.

      Примечание: В качестве серверного ПО можно воспользоваться эталонной средой Виртуальная машина BitrixVM.


      Для начала процесса установки продукта выполните следующее:

      • Откройте страницу http://<ваш_сайт>/index.php в браузере, заменив фразу <ваш_сайт> на реальный адрес вашего сайта.
      • Следуйте инструкциям Мастера установки.


      Мастер установки «1C-Битрикс: Управление сайтом»

      В главе подробно описывается по шагам процесс установки продукта «1С-Битрикс: Управление сайтом», а также показана установка любого решения на примере Интернет-магазина.

      Примечание: Количество шагов в Мастере установки продукта может отличаться в зависимости от вариантов установки.

      Примечание: Запустив Мастер установки c параметром clear_db=Y (например, http://localhost/?clear_db=Y), перед установкой продукта в базе данных будут удалены все таблицы и связанные с ними сущности.

      Внимание! Используйте эту опцию, только если вы полностью осознаете последствия ваших действий.

      Первый шаг

      Примечание: Если продукт устанавливается вместе с пакетом «Битрикс: Веб-окружение», то этот шаг будет пропущен.

      Первый шаг установки (начало установки)

      Первое окно Мастера установки информирует о начале процесса инсталляции и выводит основную информацию о продукте.

      • Для продолжения установки нажмите кнопку Далее.

      Второй шаг

      Примечание: Если продукт устанавливается вместе с пакетом «Битрикс: Веб-окружение», то этот шаг будет пропущен.

      Второй шаг установки (лицензионное соглашение)

      • Внимательно ознакомьтесь с текстом Лицензионного соглашения. Если вы согласны с его условиями, то установите флаг в поле Я принимаю лицензионное соглашение.
      • Для продолжения установки нажмите кнопку Далее.

      Третий шаг

      Третий шаг установки (ввод лицензионного ключа)

      На данном шаге выполняется ввод лицензионного ключа, выбирается тип установки - сайт или установка для разработки, кодировки сайта.


      Регистрация продукта

      • В поле Лицензионный ключ введите полученный при покупке лицензионный ключ продукта.

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

        В противном случае продукт будет установлен, но обновления будут недоступны. При необходимости, после установки демо-версии, всегда можно зарегистрировать демо-версию и получить демо-ключ для обновлений (подробнее см. в разделе Регистрация пробной (DEMO) версии продукта).

      • Установка для разработки

        Начиная с версии 16.5.7 и старше, в продукте «1С-Битрикс» появилась возможность пометить новую или существующую установку программного продукта специальным маркером, который не будет влиять на блокировку системы обновлений, и как следствие - на возникновение ошибки ERROR_WRONG_CODE.

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

        Примечание: Подробнее о данном режиме установки можно прочитать тут.


      Выбор Базы данных

      Для базы данных MySQL доступна кодировка UTF-8. Для ее подключения установите флажок в поле Установить в кодировке UTF-8. Для корректной поддержки кодировки UTF-8 необходимо проверить, установлен ли в PHP модуль mbstring. Для этого в настройках PHP, в файле php.ini, должно быть:

      mbstring.func_overload=2
      mbstring.internal_encoding=UTF-8
      

      Внимание! С 1 июня 2016 стартовала Программа «1С-Битрикс» по переходу на базу данных MySQL. С 1 января 2017 года поддержка продуктов «1С-Битрикс» на Oracle Database и MS SQL Server стала ограниченной: клиенты не могут скачивать обновления продукта платформы и воспользоваться возможностями новых версий продукта.


      Кодировка сайта

      Установкой соответствующего флажка можно установить продукт с использованием кодировки UTF-8.

      UTF-8 (от англ. Unicode Transformation Format — формат преобразования Юникода) — распространенная кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста.

      На данный момент выбор для кодировки HTML-документа стоит между WIN-1251 и UTF-8.

      Использование кодировки WIN-1251 целесообразно со старыми версиями MySQL (до версии 4.х), которые некорректно работали с UTF-8. Эти недостатки отсутствуют в современных версиях СУБД MySQL.

      Преимуществом UTF-8 является наличие в ней большого количества спецсимволов, типографских знаков и символов национальных алфавитов. UTF-8 поддерживается всеми современными браузерами, начиная с Internet Explorer 4.

      Для достижения наибольшей универсальности и полноты использования существующих символов рекомендуется использовать кодировку UTF-8.


      Для продолжения установки нажмите кнопку Далее.



      Четвертый шаг

      Примечание: Если продукт устанавливается вместе с пакетом «Битрикс: Веб-окружение» - Windows (exe-дитрибутив) или на Виртуальной машине BitrixVM (VMWare/VirtualBox), то этот шаг будет пропущен.

      Четвертый шаг установки (предварительная проверка)

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

      Если ваша система не соответствует минимальным техническим требованиям, то наверху экрана появится красная надпись, описывающая несоответствие. Более подробное описание несоответствия находится в теле страницы. Вы не сможете продолжить установку продукта до устранения несовместимости.

      Внимание! При установке продукта в кодировке UTF-8 значение параметра mbstring.func_overload должно быть равно 2. Другие значения для данной кодировки неприемлемы.

      Если при установке продукта в кодировке UTF-8 на этапе предварительной проверки красным отобразятся параметры mbstring.func_overload и mbstring.internal_encoding, то для исправления необходимо в файле php.ini указать строки:

      mbstring.func_overload = 2
      mbstring.internal_encoding = UTF-8
      
      Примечание. Возможна установка сайта в кодировке win-1251, если необходимо, чтобы значение overload оставалось равным 2. Для этого достаточно использовать значение cp1251 для параметра encoding:
      mbstring.func_overload = 2
      mbstring.internal_encoding = CP1251
      

      Если ваша система не соответствует рекомендованным настройкам системы, то дальнейшая инсталляция все-таки возможна. Список таких несоответствий отобразится в теле страницы. Однако после установки рекомендуется привести систему в соответствие с рекомендованными настройками (в дальнейшем, проверить настройки системы можно в форме Проверка системы административного раздела).

      • Для продолжения установки нажмите кнопку Далее.


      Пятый шаг

      Примечание: Если продукт устанавливается вместе с пакетом «Битрикс: Веб-окружение» - Windows (exe-диcтрибутив) или на Виртуальной машине BitrixVM (VMWare/VirtualBox), то этот шаг будет пропущен.

      Пятый шаг установки (создание базы данных)

      На данном этапе выполняется создание конфигурационного файла соединения с базой данных и загрузка данных в базу. В зависимости от выбранного типа базы данных поля в группе Параметры базы данных будут отличаться. Неизменными будут поля секции Дополнительные параметры.

      Параметры базы данных для MySQL:

      На данном шаге устанавливаются параметры связи с базой данных.

      Локальная установка

      Если вы устанавливаете продукт «1С-Битрикс: Управление сайтом» на локальный компьютер с уже установленными приложениями для его корректной работы (Apache, PHP, MySQL) либо на пакет «Битрикс: Веб-окружение», то заполняйте поля следующим образом:

      • Сервер: сервер, на котором работает система управления базами данных (СУБД), в данном случае MySQL. Для локального компьютера этот параметр обычно имеет значение localhost с портом, на котором работает MySQL, в формате localhost:[номер_порта]. Номер порта можно найти в конфигурационных файлах MySQL.

        Внимание! При установке продукта на пакет «Битрикс: Веб-окружение» - Windows в данном поле введите localhost:31006.

      • Пользователь базы данных: выберите создать нового пользователя;
      • Имя пользователя: введите произвольное имя (логин) пользователя СУБД для доступа к базе данных.
      • Пароль: пароль пользователя для доступа к базе данных.
      • База данных: создать новую базу.
      • Имя базы данных: имя создаваемой базы данных. Любое имя на латинице, возможно использование цифр и символа подчеркивания.
      • Тип таблиц базы данных: для большинства случаев подойдет тип стандартный. Возможен выбор из двух вариантов:
        • Стандартный. Стандартным типом таблиц в MySQL является тип MyISAM, который не является ориентированным на транзакции. Для таблиц типа MylSAM, все данные сохраняются в одном файле, следовательно, максимальный размер файла одновременно является максимальным размером таблицы.

          Операционные системы налагают свои ограничения на максимальный размер файла. Обычно он составляет от 2 до 4 Гбайт. Таблицы MylSAM являются платформо-независимыми. Табличные файлы можно перемещать между компьютерами разных архитектур и разными операционными системами без всякого преобразования.

        • Innodb. Таблицы InnoDB в MySQL снабжены обработчиком таблиц, обеспечивающим безопасные транзакции с возможностями фиксации транзакции, отката и восстановления после сбоя.

          Для таблиц InnoDB осуществляется блокировка на уровне строки, а также используется метод чтения без блокировок в команде SELECT. На случай отмены транзакций ведется журнал транзакций. Он подвержен внутренней ротации, т.е. когда заполняются все записи, самые старые из них начинают удаляться. Перечисленные функции позволяют улучшить взаимную совместимость и повысить производительность в многопользовательском режиме.

          InnoDB предназначается для получения максимальной производительности при обработке больших объемов данных. По эффективности использования процессора этот тип намного превосходит другие модели реляционных баз данных с памятью на дисках.

      • Далее выберите Создать новую базу данных. Появится дополнительная группа: Пароль и логин администратора базы данных.

      • В поле Логин введите root.
      • Поле Пароль оставьте пустым.

      Удалённый сервер

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

      • Сервер: укажите сервер, на котором работает система управления базами данных (СУБД).
      • Пользователь базы данных: переключатель определяет, создавать ли нового пользователя базы данных в процессе установки или использовать данные существующего пользователя.
      • Имя пользователя: имя (логин) пользователя СУБД для доступа к базе данных.
      • Пароль: пароль пользователя для доступа к базе данных.
      • База данных: переключатель определяет: создавать ли новую базу данных в процессе установки или использовать существующую.
      • Имя базы данных: имя базы данных, в которую будет установлен продукт.
      • Тип таблиц базы данных: выбор между различными типами таблиц для базы данных.

      Внимание! В большинстве случаев подойдет стандартный тип таблиц. Для сайтов с повышенными требованиями к нагрузке, например, интернет-магазинам, для базы данных MySQL предпочтительнее тип InnoDB.

      Внимание! Если в процессе установки необходимо создать нового пользователя или новую базу данных, то требуется ввести Логин и Пароль администратора базы данных. Если базы данных ранее не было создано, то обязательно необходимо выбрать новая в поле База Данных. Как правило, база данных создается на сервере самой службой хостинга. Вам нужно лишь только получить имя и параметры доступа к ней.


      Дополнительные параметры:

      Эти параметры определяют права доступа к файлам сайта (для всех типов баз данных).

      Заполните поля:

      • Права на доступ к файлам сайта: права, с которыми будут создаваться файлы. Права должны быть достаточными для доступа веб-сервера на запись. По умолчанию имеет значение 0644;
      • Права на доступ к папкам сайта: права, с которыми будут создаваться каталоги. Права должны быть достаточными для доступа веб-сервера на запись. По умолчанию имеет значение 0755.

      Примечание: Ручную установку параметров соединения с базой данных (в том числе и максимальный объем памяти для выполнения скрипта) вы можете выполнить в файлах /bitrix/php_interface/dbconn.php и /bitrix/.settings.php. Файлы будут созданы после завершения установки.

      Для продолжения установки нажмите кнопку Далее.



      Шестой шаг

      Шестой шаг установки (установка продукта)

      Автоматический шаг, когда выполняется создание таблиц в базе данных и установка файлов системы. Отслеживание процесса можно вести по графическому индикатору. После завершения процесса создания базы данных система автоматически перейдет к следующему шагу.



      Седьмой шаг

      Седьмой шаг установки (создание администратора)

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

      Поля, отмеченные *, обязательны для заполнения.

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

        Важно! Для администратора сайта настоятельно рекомендуется использовать сложный пароль длиной более 6 символов.

      • Подтверждение пароля: пароль вводится еще раз для проверки правильности набора.
      • E-Mail: адрес электронной почты администратора сайта (e-mail).
      • Имя: имя администратора сайта.
      • Фамилия: фамилия администратора сайта.

      Примечание: Введенные пароль и логин в дальнейшем будут использоваться администратором для авторизации при входе в систему.

      Для продолжения установки нажмите кнопку Далее. Откроется Мастер создания сайта.



      Восьмой шаг

      Восьмой шаг установки (выбор решения для установки)

      • Выберите подходящее вам решение.

      Будет запущен один из мастеров для создания сайта в зависимости от выбора решения:

      • Демо-сайт для разработчиков.
      • 1С-Битрикс: Сайт сообщества - это решение для тех, кто создает сайт социального сообщества: клуб любителей кофе, рыбалки, велотуризма и т.д.
      • Корпоративный сайт производственной компании на примере сайта мебельного производства - решение для производственных организаций и компаний для создания корпоративного проекта.
      • Корпоративный сайт услуг на примере сайта банка - решение для организаций и компаний в сфере услуг для создания корпоративного проекта.
      • Информационный портал – решение для тех, кто создает сайт СМИ со своей социальной сетью и сообществами.
      • 1С-Битрикс: Персональный сайт - сайт для пользователя, который хочет создать свое виртуальное представительство в сети.
      • Интернет-магазин - это решение для тех, кто создает свою торговую площадку в Интернете.
      • если выбрать Загрузить из Marketplace, то будет осуществлен переход к девятому шагу Выбор модуля Мастера установки.


      Девятый шаг

      Девятый шаг установки (выбор модуля)

      Примечание: Переход к странице выбора модулей осуществляется, если на восьмом шаге установки былo выбрано решение Загрузить из Marketplace.

      • Выберите необходимый сторонний модуль (мастер создания сайта) для загрузки из Marketplace.

      • Нажмите кнопку Далее.


      Десятый шаг

      Десятый шаг установки (загрузка модуля)

      Примечание: Переход на этот шаг осуществляется только если былo выбрано решение Загрузить из Marketplace на восьмом шаге установки.

      Автоматический шаг, на котором происходит загрузка выбранного вами решения (мастера). Отслеживание процесса можно вести по графическому индикатору

      • После завершения процесса система автоматически перейдет к Мастеру создания сайта выбранного решения.


      Установка демо-сайта для разработчиков

      Примечание: Переход к этому мастеру осуществляется только если былo выбрано решение Демо-сайт для разработчиков на восьмом шаге установки.

      • Выбор кнопки Далее запустит Мастер создания демо-сайта для разработчиков.
      Примечание: В случае выбора кнопки Отмена продукт будет установлен в "чистом" виде, без демо-данных. То есть, будет выведена страница с приветственным текстом. Эта функция предназначена для разработчиков проектов. Если цель – ознакомление с продуктом, то пользоваться этой кнопкой не рекомендуется.

      Первый шаг мастера создания сайта

      На первом шаге выбирается шаблон дизайна для сайта. Шаблоны отличаются внешним оформлением, представленной информацией на главной странице сайта, а также базовыми настройками.

      • Поставьте флажок у выбранного типа шаблона.
      • Нажмите кнопку Далее.

      Второй шаг мастера создания сайта

      На втором шаге работы мастера выбирается цветовая схема для выбранного на первом шаге шаблона дизайна сайта. Для разных типов шаблонов предлагаются разные цветовые схемы.

      • Выберите подходящую вам цветовую схему.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Третий шаг мастера создания сайта

      На данном этапе задаются название вашего сайта, слоган и логотип.

      • Заполните поля Название компании и Слоган компании.
      • Примечание: Если использование названия и слогана компании не предполагается, то эти поля можно оставить пустыми.

      • С помощью кнопки Обзор можно выбрать логотип компании для загрузки на сайт.

        Внимание! Размер загружаемого файла логотипа не должен превышать 1,5 Мб, формат файлов должен быть: GIF, JPG, PNG.

      • Для перехода к следующему шагу нажмите кнопку Далее.

      Четвертый шаг мастера создания сайта

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

      • Снимите флажки с сервисов, которые вы не хотите устанавливать.

        Примечание. Если снять флажки со всех сервисов, то будет установлена только Главная страница, страница авторизации и поиск. Впоследствии через Административную панель можно запустить Мастер повторно и установить нужные сервисы, а также сменить шаблон сайта.
      • Для изменения настроек предназначена кнопка Назад, для запуска процесса установки - кнопка Установить.

      Ход установки отображается с помощью графического индикатора.

      Окончание работы мастера

      После завершения установки выводится информация об успешном завершении работы Мастера создания сайта.

      • Для выхода из мастера нажмите кнопку Перейти на сайт. Откроется публичный раздел созданного демо-сайта.

      Установка продукта завершена.

      При необходимости проводится дополнительная настройка системы.
      • Для модуля веб-аналитики производится загрузка CSV файла с данными по привязке IP к странам. Это можно сделать на странице настроек модуля веб-аналитики в закладке Страна и город (Настройки > Настройки продукта > Настройки модулей > Веб-аналитика).
      • Чтобы отключить подстановку идентификатора сессии в ссылки на сайте, необходимо добавить в находящийся в корне сайта файл .htaccess директиву php_flag session.use_trans_sid off.
        Установка этой директивы может не поддерживаться установленной текущей версией Apache.
      • Чтобы включить кеширование изображений, необходимо добавить в находящийся в корне сайта файл .htaccess директивы:
        ExpiresActive on
        ExpiresByType image/jpeg "access plus 3 day" 
        ExpiresByType image/gif "access plus 3 day" 
        
        Установка этих директив может не поддерживаться установленной текущей версией Apache.

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



      Установка решения «1C-Битрикс: Управление сайтом» версии 16.5.х и выше

      Внимание! Количество шагов в Мастере создания сайта может быть разным и зависит от конкретного решения.


      В качестве примера установки любого из решений «1C-Битрикс: Управление сайтом» рассмотрим создание сайта онлайн-магазина (решение Интернет-магазин).

      Примечание: Переход к этому мастеру осуществляется, только если былo выбрано решение Интернет-магазин на восьмом шаге установки.

      Первый шаг мастера (выбор шаблона)

      Первое окно информирует о начале работы мастера. На данном шаге выбирается шаблон дизайна для вашего сайта. Шаблоны отличаются внешним оформлением, а также базовыми настройками.

      • Выберите подходящий шаблон сайта.
      • Нажмите кнопку Далее.

      Второй шаг мастера (выбор темы)

      На этом шаге работы мастера выбирается цветовая тема для выбранного на первом шаге шаблона дизайна сайта. Для разных шаблонов предлагаются разные цветовые схемы.

      • Выберите подходящую цветовую тему.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Третий шаг мастера (информация о сайте)

      На данном этапе задаются данные о компании.

      • Заполните необходимые данные.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Четвертый шаг мастера (настройка каталога)

      На данном этапе задаются настройки каталога.

      • Для перехода к следующему шагу нажмите кнопку Далее.

      Пятый шаг мастера (информация о магазине)

      На данном этапе задаются служебные данные о компании.

      • Выберите Локализацию магазина, заполните поля: Информация о магазине и Банковские реквизиты.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Шестой шаг мастера (типы плательщиков)

      На данном этапе задаются типы плательщиков магазина.

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

      Седьмой шаг мастера (оплата и доставка)

      На данном этапе задаются способы оплаты и доставки товара.

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

      Восьмой шаг мастера (установка решения)

      Автоматический шаг, на котором устанавливаются все настройки решения. Отслеживание процесса можно вести по графическому индикатору. После завершения процесса установки система автоматически перейдет к следующему шагу.


      Девятый шаг мастера (завершение настройки)

      Установка и настройка решения завершена

      Нажмите кнопку Перейти на сайт для перехода на главную страницу сайта.



      Установка стороннего решения из Marketplace

      Установка стороннего решения из MarketPlace может быть осуществлена как на этапе установки продукта «1C-Битрикс: Управление сайтом», так и после запуска проекта.

      Внимание! Компания «1С-Битрикс» не несет ответственности за разработки партнеров. По всем вопросам, связанным с работой сторонних решений, а также в случаях нарушения работы сайта, вызванного некорректной работой сторонних решений, обращайтесь к партнерам-разработчикам.

      В продукт включена защита от манипуляций с переустановкой стороннего решения с целью получить «бесконечный триал». Физическое удаление модуля (удаление папки модуля) независимо от срока действия триала приведёт к тому, что установить заново триальную версию станет невозможно. Установится только версия с купленной лицензией.

      Внимание! Установка решений из MarketPlace невозможна на сайты с неактивной лицензией. При использовании демо-версии продукта для установки решения необходимо получить пробный лицензионный ключ.

      В систему встроена защита от повторной установки демо-версии. То есть пользователь не имеет возможности удалить и поставить заново модуль и вновь пользоваться им в демо-режиме.

      До установки продукта

      Внимание! Количество шагов в Мастере создания сайта может быть разным и зависит от конкретного решения.


      В качестве примера установки любого стороннего решения из Marketplace рассмотрим создание типового сайта лечебных учреждений, клиник (решение Сайт медицинской клиники).

      Примечание: Переход на этот шаг осуществляется, только если былo выбрано Загрузить из Marketplace на восьмом шаге установки.

      Первый шаг мастера (выбор шаблона)

      Первое окно информирует о начале работы мастера. На данном шаге выбирается шаблон дизайна для вашего сайта. Шаблоны отличаются внешним оформлением, а также базовыми настройками.

      • Выберите подходящий шаблон сайта.
      • Нажмите кнопку Далее.

      Второй шаг мастера (выбор темы)

      На этом шаге работы мастера выбирается цветовая тема для выбранного на первом шаге шаблона дизайна сайта. Для разных шаблонов предлагаются разные цветовые схемы.

      • Выберите подходящую цветовую тему.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Третий шаг мастера (настройка решения)

      На данном этапе задаются данные о компании.

      • Заполните необходимые данные в соответствующих полях.
      • Для перехода к следующему шагу нажмите кнопку Далее.

      Четвертый шаг мастера (установка решения)

      Автоматический шаг, на котором устанавливаются все настройки решения. Отслеживание процесса можно вести по графическому индикатору. После завершения процесса установки система автоматически перейдет к следующему шагу.


      Пятый шаг мастера (завершение установки)

      Установка и настройка решения завершена

      • Нажмите кнопку Перейти на сайт для перехода на главную страницу сайта.


      После установки продукта

      Установка стороннего решения из Marketplace

      Установка стороннего решения из Marketplace после установки продукта «1C-Битрикс: Управление сайтом» возможна двумя способами:

      1. в публичной части нажатием кнопки Протестировать новое решение, расположенной на панели управления:
      2. Далее действия аналогичны описанным в уроке по установке стороннего решения до установки продукта.


      3. в административной части в Каталоге решений (Marketplace > Каталог решений):

        • Выбрав подходящее решение из списка в Marketplace, вы перейдете на страницу этого продукта:

          На странице решения нужно выбрать необходимые действия:
          • Купить - товар добавится в Корзину на сайте Marketplace, и вы перейдете к выбору оплаты и покупки данного решения;
          • Онлайн-Демо - вы перейдете в демо-раздел на сайте разработчика, чтобы в реальном времени попробовать в действии данное решение;
          • Тестировать - вы перейдете в раздел обновлений Marketplace для скачивания и установки демо-версии на ваш сайт.
          • Установить - вы перейдете в раздел обновлений Marketplace для скачивания и установки решения на ваш сайт (этот вариант доступен при бесплатном распространении решения).
        • После выбора вариантов Тестировать или Установить вы перейдете в раздел Обновление решений (Marketplace > Обновление решений). Нажав кнопку Загрузить, необходимо принять лицензионное соглашение, далее начнется загрузка.

        • После загрузки решения нажмите кнопку Установить для установки модуля решения.

        • Далее необходимо нажать на кнопку Установить либо перейти в раздел Доступные решения (Marketplace > Установленные решения), выбрать в меню действий пункт Установить нужного мастера установки решения.

        • Дальнейшие шаги работы мастера установки решения аналогичны описанным в уроке по установке стороннего решения до установки продукта.

      Обновление стороннего решения из Marketplace

      Для обновления стороннего решения необходимо перейти в Установка обновлений (Marketplace > Обновление решений):

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


      Активация купона стороннего решения из Marketplace

      Купон - это своего рода лицензионный ключ, позволяющий легально использовать стороннее коммерческое решение, но при этом не спрашивать у него код ключа самого продукта «1C-Битрикс».

      На закладке Активация купона (Marketplace > Обновление решений) осуществляется регистрация стороннего решения с помощью ввода кода купона:

      Обратите внимание, купон нельзя активировать на демо-версии продукта.


      Установка для разработки

      Начиная с версии 16.5.7 и старше, в продуктах «1С-Битрикс» появилась возможность пометить новую или существующую установку программного продукта специальным маркером, который не будет влиять на блокировку системы обновлений, и как следствие - на возникновение ошибки ERROR_WRONG_CODE.

      При установке продукта «1С-Битрикс», начиная с версии 16.5.7, на шаге ввода лицензионного ключа продукта появляется опция Установка для разработки:


      На Установке для разработки можно проводить тестирование, не закрывая публичный доступ к сайту или не устанавливая продукт локально. Этот функционал поможет решить проблему коллективного доступа к одной установке продукта. Также эта функция будет полезна, если разработчиков несколько, и всем им нужна своя публичная установка продукта для тестирования.


      Этот функционал доступен не только при установке продукта, но и в существующей установке можно включить данный режим в Административной части сайта на вкладке Cистема обновлений (Настройки > Настройки продукта > Настройки модулей > Главный модуль > Cистема обновлений):


      При включенной опции Установка для разработки в административной части продукта будут напоминания:

      • в разделе Обновление платформы (Маркетплейс > Обновление платформы):

      • на каждой странице административной части сайта:


      Внимание! Пытаться обмануть, постоянно включая и отключая этот режим, бессмысленно, т.к. количество переключений в режим разработчика отслеживается. Компания «1С-Битрикс», при необходимости, может отключить данную возможность, а при грубых нарушениях может быть применена бессрочная блокировка обновлений продукта по этому ключу.

      Наиболее оптимальный вариант - это на все время разработки и тестирования установить данный режим на нужную установку продукта и не отключать его. Если доработки по продукту закончены, то эту установку продукта можно удалить. Либо «законсервировать» до следующих доработок, а потом просто восстановить полный бекап с боевой версии сайта на эту тестовую установку.

      Используйте, пожалуйста, данный функционал для работы с тестовыми установками продукта, и система обновлений на них не будет реагировать и блокироваться.



      Регистрация продукта

      С самого начала все коммерческие версии продуктов «1C-Битрикс» поставлялись в исходных текстах. Таким образом, предоставляется клиентам контроль над продуктом. Лицензия также предусматривает право на изменение исходных текстов.

      Но все пробные версии продуктов «1C-Битрикс» поставлялись закодированные с помощью Zend Optimizer, и для работы пробной версии продукта требовалось установить Zend Optimizer на сервер. Это создавало проблемы при развертывании продукта и при установке пробных версий продукта на хостинге, пробные версии работали существенно медленнее, чем коммерческие версии в исходных текстах, закодированный код не компилировался оптимизаторами PHP кода.

      Внимание! Начиная с версии 9.1, в продуктах «1C-Битрикс» для обеспечения 30-тидневного периода демо-версий и защиты решений партнеров используется собственный обфускатор PHP кода, который защищает несколько важных системных файлов в пробных версиях продуктов «1C-Битрикс», а также автоматически защищает решения партнеров. В коммерческих версиях по-прежнему все файлы остались в свободном исходном коде.

      Перед началом использования коммерческой версии системы вам необходимо произвести активацию лицензионного ключа.

      Лицензионный ключ - специальный ключ (последовательность символов), который подтверждает право на использование копии продукта.

      Для демо-версии этот шаг не обязателен, но рекомендуется.

      Внимание! С использованием одного и того же лицензионного ключа продукт «1C-Битрикс» можно произвести не более двух установок. Количество установок засчитывается при активации системы. При получении ошибки о превышении допустимого количества установок продукта необходимо обратиться в Техподдержку «1C-Битрикс».

      Если установка не имеет доступа из сети и используется для разработки, то рекомендуется использовать опцию настройки главного модуля Установка для разработки (с версии 16.5.7). В этом случае установки для разработки при обновлении учитываются отдельно от публичных установок.

      Переоформление лицензии с одного владельца на другого выполняется через Техподдержку компании 1С-Битрикс. При этом не имеет значение имеется ли на момент переоформления у клиента активная ТП или нет.

      Регистрация коммерческого продукта

      Внимание! С использованием одного и того же лицензионного ключа продукт «1C-Битрикс» можно установить не более двух раз. Продукт «1C-Битрикс» может быть временно установлен на дополнительный компьютер (ЭВМ) с целью использования исключительно для работ по разработке, тестированию и/или наполнению сайта при условии отсутствия любого «внешнего» доступа к ней (в том числе из сети Интернет или извне локальной сети пользователя). Указанная копия продукта «1C-Битрикс» должна быть немедленно удалена после завершения вышеперечисленных работ. При получении ошибки о превышении допустимого количества установок продукта необходимо обратиться в Техподдержку «1C-Битрикс».

      Выполнив операцию регистрации продукта, вы получите доступ к бесплатным последним обновлениям системы, а также приоритетный доступ к службе Технической поддержки компании «1С-Битрикс» на период активности лицензии. Для неактивной лицензии техническая поддержка также осуществляется, но по менее строгому регламенту.

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

      Для регистрации продукта:

      • Перейдите в Панель управления.
      • Перейдите на страницу Marketplace > Обновление платформы. Откроется форма для получения обновлений.

      В этой форме вы увидите сообщение об ошибке:

      • Нажмите кнопку Активировать ключ.

      Откроется форма следующего вида:

      Поля, отмеченные *, обязательны для заполнения.

      • Заполните поля:
        • Полное юридическое название компании-владельца продукта или ФИО частного лица: укажите название организации, которая является владельцем ключа. В случае если владельцем ключа является частное лицо, в данном поле указывается его имя.
        • Список адресов, включая тестовые, по которым будет доступна данная копия продукта "1С-Битрикс: Управление сайтом": укажите адреса сайтов, управление которыми будет осуществляться с помощью системы с данным лицензионным ключом. Адреса вводятся через запятую.
        • Телефон владельца данной копии продукта: укажите номер контактного телефона вместе с кодом города владельца продукта.
        • E-mail владельца для связи по вопросам лицензирования и использования программного продукта: укажите адрес электронной почты, по которому, в случае необходимости, сотрудники компании «1С-Битрикс» смогут связаться с вами.
        • Контактное лицо, ответственное за использование данной копии программного продукта: укажите ФИО ответственного контактного лица.
        • E-mail контактного лица: укажите адрес электронной почты контактного лица клиента.
        • Телефон контактного лица: укажите телефон контактного лица.
        • Прочая контактная информация: в данном поле вы можете указать дополнительную контактную информацию: адреса электронной почты, почтовый адрес, номера контактных телефонов и т.д.
        • У меня нет аккаунта на сайте www.1с-bitrix.ru, я хочу создать новый: если вы не являетесь зарегистрированным пользователем на сайте компании «1С-Битрикс», то установите флаг в данное поле. После активации лицензионного ключа вы будете зарегистрированы на сайте компании с указанными в нижеследующих полях регистрационными данными. Используя указанные регистрационные данные, вы можете обратиться в службу Технической поддержки компании «1С-Битрикс», а также получить доступ к закрытому форуму на сайте компании.
        • Я зарегистрирован на сайте…: отметьте эту опцию, если вы зарегистрированы на сайте www.1с-bitrix.ru и укажите ваш логин.
      • Нажмите Активировать ключ. Лицензия активируется.
      • Далее необходимо получить полнофункциональную версию системы без ограничения по времени работы. Нажмите Зарегистрировать продукт. Продукт будет зарегистрирован на указанные при активации данные:

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

      После выполнения всех этих действий станет доступна информация о лицензии:


      Регистрация пробной (DEMO) версии продукта

      Если вы устанавливаете пробную версию продукта, при переходе в раздел Система обновлений (Marketplace > Обновление платформы) вы увидите сообщение о том, что необходимо принять лицензионное соглашение и лицензия не найдена.

      Примечание: Для работы локальной демо-версии нет необходимости в получении пробного ключа. Он снимает только одно ограничение демо-версии: позволяет выполнять обновления системы. Для получения ключа необходимо зарегистрироваться на сайте компании «1C-Битрикс».

      • После прочтения и принятия лицензионного соглашения нажмите на ссылку Получить пробный лицензионный ключ.

      Вы перейдете на сайт компании в раздел регистрации пробных версий продуктов.

      Поля, отмеченные *, обязательны для заполнения.

      • Заполните регистрационную форму:
        • Ваша фамилия: укажите вашу фамилию;
        • Ваше имя: укажите ваше имя;
        • E-mail: укажите адрес вашей электронной почты (e-mail). Адрес должен быть валидным, по нему будет выслан пробный лицензионный ключ;
        • Компания: название компании;
        • Телефон: номер контактного телефона;
        • Адрес сайта: укажите точный web-адрес, по которому размещена пробная версия продукта;
        • Тип лицензии: выберите из списка редакцию устанавливаемого продукта;
      • Нажмите кнопку Отправить. Система оповестит вас о получении запроса.

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

      • Перейдите в Панель управления.
      • Перейдите на страницу настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль).
      • Перейдите на закладку Система обновлений.
      • В поле Лицензионный ключ введите номер полученного ключа.

      Теперь демо-версия продукта может получать обновления в течение 30-дневного периода.

      Примечание: Если при установке пробной версии продукта на шаге Регистрация продукта отметить опцию Я хочу зарегистрировать свою копию продукта и получать обновления и ввести данные, на которые будет зарегистрирована пробная версия, то после установки продукта ссылки Получить пробный лицензионный ключ не будет. Таким образом, пробная версия будет уже активирована на 30 дней.



      Регистрация демо-версии коммерческим ключом

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

      Для этого необходимо:

      • Приобрести лицензию.
      • Ввести лицензионный ключ:
        1. на закладке Установка обновлений (Marketplace > Обновление платформы), нажав на кнопку Ввести лицензионный ключ


        2. либо

        3. на закладке Система обновлений страницы настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль) в поле Лицензионный ключ

      • После этого необходимо провести активацию ключа, как это было описано в уроке Регистрация коммерческого продукта. После коммерческой регистрации будут снято ограничение демо-версии на время её работы, таким образом вы получите полнофункциональный продукт.

      Система обновлений

      Система обновлений, как и техподдержка, осуществляется в течение года после регистрации приобретенной лицензии. Для получения в дальнейшем права на обновления необходимо оформить продление техподдержки и обновлений.

      Примечание: Для получения обновлений демо-версии продукта, установленной на локальный компьютер, необходимо иметь доступ в Интернет.

      Общие сведения

      Система обновлений служит для осуществления взаимодействия между копией продукта (клиент) и сервером обновлений. Основными видами взаимодействия являются:

      • обновление модулей продукта до последней версии (это позволяет расширить функциональные возможности модулей и исправить обнаруженные в них ошибки);
      • загрузка новых модулей, которые доступны в соответствии с лицензией;
      • загрузка языковых файлов (файлов языкозависимых сообщений продукта на разных языках);
      • загрузка системы помощи на разных языках;
      • регистрация копии продукта с помощью лицензионного ключа;
      • загрузка исходных текстов скриптов модулей продукта;
      • добавление купонов на дополнительные сайты.

      Установка обновлений выполняется со страницы Система обновлений (Marketplace > Обновление платформы).

      Некоторые термины системы обновлений:

      Ядро продукта - каталог /bitrix/modules/ (пути везде задаются относительно корневой папки, если явно не указано противное). Часто в понятие ядра продукта включается также структура базы данных продукта.

      Служебная область - все подкаталоги каталога /bitrix/, за исключением каталогов /bitrix/modules/ (т.е. ядра продукта) и /bitrix/updates/. Часто в понятие служебной области включаются так же данные служебных таблиц базы данных (например, записи таблицы b_event_type).

      Каталог системы обновлений - каталог /bitrix/updates/. Этот каталог предназначен исключительно для работы системы обновлений и не может использоваться в других целях.

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

      Регистрация копии продукта - снятие с данной копии продукта ограничений, которые имеет демонстрационная версия (например, ограничение по времени работы).

      Лицензионный ключ - специальный ключ (последовательность символов), который подтверждает право на использование копии продукта.

      Купон на дополнительный сайт - специальный ключ (последовательность символов), который подтверждает право на создание одного дополнительного сайта в рамках данной копии продукта.

      Сервер обновлений - сервер, который отдает обновления продукта системе обновлений. Адрес сервера обновлений задается на странице глобальных настроек главного модуля (должен иметь значение www.1c-bitrix.ru или www.bitrixsoft.com).

      Важные замечания по работе системы обновлений

      Система обновлений не изменяет публичную часть. Служебная область изменяется только в рамках необходимости, при этом существующие файлы и записи не изменяются (т.к. они уже могли быть изменены владельцем копии продукта под свои нужды). Ядро продукта может быть изменено системой обновлений сколь угодно сильно (при этом, конечно, обеспечивается обратная совместимость).

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

      Система обновлений не собирает и не передает никаких конфиденциальных данных копии продукта, на которой она работает. Система обновлений обменивается с сервером обновлений исключительно техническими данными, напрямую необходимыми для корректной работы системы обновлений (например, текущие версии модулей или дата последнего обновления системы помощи).

      Система обновлений производит технически сложную серьезную модификацию ядра продукта. Если эта модификация будет произведена с ошибками, то сайты, работающие на этом ядре, могут оказаться неработоспособными. Перед установкой обновлений рекомендуется убедиться в наличии резервной копии как базы данных, так и скриптов ядра продукта и служебной области. Рекомендуется для проведения процедуры обновления выбирать время, когда нагрузка на сервер минимальна. При возникновении проблем с установкой обновления вам необходимо незамедлительно обратиться в службу технической поддержки компании «1С-Битрикс».

      Страница системы обновлений

      После выбора в левом меню административной части сайта пункта Обновления вы попадаете на страницу системы обновлений.

      Если на странице системы обновлений выводится сообщение о том, что лицензионный ключ не верен (или лицензия не найдена), то возможны следующие ситуации:

      • если у вас уже есть лицензионный ключ, то этот ключ необходимо ввести в соответствующее поле на странице системы обновлений или в соответствующее поле на странице глобальных настроек главного модуля;
      • если у вас нет лицензионного ключа, то вы можете запросить пробный лицензионный ключ. Для этого воспользуйтесь соответствующей ссылкой на странице системы обновлений. Полученный лицензионный ключ нужно ввести в соответствующее поле на странице системы обновлений или в соответствующее поле на странице глобальных настроек главного модуля.

      Если на главной странице системы обновлений выводится сообщение о том, что лицензионный ключ не активирован, то вам необходимо нажать кнопку Активировать ключ и заполнить все поля открывшейся формы. После этого лицензионный ключ будет активирован.

      Если на странице системы обновлений выводится сообщение о том, что доступно обновление самой системы обновлений, то необходимо установить это обновление. До установки этого обновления остальной функционал системы будет недоступен.

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

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

      Дополнительная информация



      Настройки системы обновлений

      Настройки системы обновлений осуществляются на закладке Система обновлений страницы настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль)

      • Лицензионный ключ - указывается лицензионный ключ продукта. Если коммерческая версия была уже зарегистрирована, то в этом поле будет уже указан лицензионный ключ.
      • Установка для разработки - специальная опция для разработчиков, позволяющая устанавливать продукт без блокировки системы обновлений во время разработки.
      • Имя сервера, содержащего обновления - указывается адрес сервера обновлений. По умолчанию в этом поле уже указан сервер обновлений.
      • Для настройки обновления продукта через прокси-сервер необходимо заполнить соответствующие поля:
        • Адрес прокси для системы обновлений;
        • Порт прокси для системы обновлений;
        • Имя пользователя прокси;
        • Пароль прокси.
      • Усиленная проверка корректности установки обновлений - включение данной опции дает возможность контролировать корректность установки обновлений. Использование этой функции системы несколько замедляет процесс установки обновления, но позволяет получить информацию об успешности копирования тех или иных файлов. В случае некорректной установки будет выведено сообщение с описанием ошибки.
      • Загружать только стабильные обновления - некоторые обновления модулей системы доступны уже на стадии бета-тестирования. Эта опция соответствует пункту Включить установку только стабильных версий на закладке Дополнительно страницы Системы обновлений (Marketplace > Обновление платформы). Соответственно, если эта опция выключена, то будут загружаться бета-версии обновлений.

        Внимание! Не рекомендуется выключать эту опцию для работающих проектов. Бета-версии иногда содержат ошибки в коде, которые могут повлиять на работу вашего проекта негативным образом. Выключать ее можно для локальных установок с целью ознакомления с новым функционалом системы.

      • Автоматически проверять наличие обновлений - система может автоматически проверять выход новых обновлений. Периодичность проверки можно указать в выпадающем списке: Не проверять, Каждый день, Раз в неделю и Раз в месяц.
      • Остановить автоматическую проверку при возникновении ошибок - при отмеченной опции при возникновении ошибок автоматическая проверка обновлений будет остановлена.
      • Не использовать архиватор - при отмеченной опции файлы с обновлениями архивироваться не будут.
      • Продолжительность шага пошаговой загрузки обновления (сек) - указывается продолжительность шага загрузки в секундах для пошаговой загрузки файлов обновления.
      Примечание: Для получения обновлений демо-версии продукта, установленной на локальный компьютер, необходимо иметь доступ в Интернет.

      Дополнительная информация



      Обновление ядра продукта

      Система обновлений производит технически сложную серьезную модификацию ядра продукта. Если эта модификация будет произведена с ошибками, то сайты, работающие на этом ядре, могут оказаться неработоспособными. При возникновении проблем с установкой обновления вам необходимо незамедлительно обратиться в службу технической поддержки компании «1С-Битрикс».

      Важно! Перед установкой обновлений рекомендуется убедиться в наличии резервной копии как базы данных, так и скриптов ядра продукта и служебной области. Рекомендуется для проведения процедуры обновления выбирать время, когда нагрузка на сервер минимальна.

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

      • С помощью меню Центра уведомлений, расположенного на административной панели вверху, перейдите на страницу Система обновлений (Marketplace > Обновление платформы):

      • Для установки всех обновлений модулей системы нажмите кнопку Установить рекомендуемые обновления.

      Если вы не хотите устанавливать все обновления сразу, то на закладке Список обновлений отметьте только необходимые для установки обновления и нажмите кнопку Установить обновления.

      При необходимости процесс обновлений можно остановить, нажав кнопку Остановить установку. При этом система не прервет обновление сразу и полностью, а завершит загрузку модуля, который обновлялся в момент нажатия этой кнопки. Если в ходе установки произошел сбой, то система обновлений уведомит вас об этом и нужно будет просто повторить процесс. Если вы выполняете обновление модулей поочередно, а не всех сразу, то после установки каждой «порции» модулей вам необходимо воспользоваться кнопкой Проверить обновления и затем установить выбранные модули.

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

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



      Просмотр и загрузка языковых файлов

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

      • Перейдите на закладку Список обновлений.
      • В секции опциональных обновлений отметьте необходимые языковые файлы.
      • Нажмите кнопку Установить обновления.

      Контролировать процесс установки вы сможете по полосе прогресса. В результате будет выведено сообщение об успешной установке либо о возникших ошибках.


      Примечание: Подробнее про установку и загрузку языков в систему смотрите в уроке Управление языками курсов Администратор. Базовый или Администратор сервиса Битрикс24 (коробочная версия).


      Активация купона

      Система «1C-Битрикс: Управление сайтом» позволяет создавать несколько сайтов с применением одной копии (лицензии) продукта, размещая ядро и базу данных системы в единственном экземпляре на сервере. Максимальное количество сайтов на одной копии продукта ограничено лицензией. Если необходимо создать дополнительные сайты сверх текущего максимального количества, то следует приобрести лицензии на дополнительные сайты.

      При приобретении лицензий на дополнительные сайты вам выдаются купоны на дополнительные сайты (один купон - одна дополнительная лицензия). Дополнительные лицензии (и купоны соответственно) зависят от редакции продукта. Например, для создания дополнительного сайта в продукте редакции Эксперт необходимо приобрести лицензию (купон) на дополнительный сайт для редакции Эксперт.

      Если вы уже используете «Старт», «Стандарт» или другую редакцию продукта, то вы можете расширить возможности вашего сайта, осуществив переход на более высокую редакцию продукта. Для этого вам необходимо приобрести купон для перехода на нужную вам редакцию.


      Система «Битрикс24» в коробке (редакции «Корпоративный портал» и «Холдинг») включает в себя лицензию на 25 пользователей. Для увеличения количества пользователей портала необходимо приобрести лицензию на необходимое количество пользователей. Также можно приобрести лицензию на неограниченное количество пользователей.

      При приобретении лицензий на дополнительных пользователей вам выдается купон на требуемое количество пользователей портала. Дополнительные лицензии (и купоны соответственно) не зависят от редакции портала.

      Если вы уже используете редакцию «Корпоративный портал», то вы можете расширить возможности вашего портала, осуществив переход на более высокую редакцию продукта - «Холдинг». Для этого вам необходимо приобрести купон для перехода на нужную вам редакцию.


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

      После получения купона вам необходимо его активировать, для этого:

      • Откройте страницу Система обновлений (Marketplace > Обновление платформы).
      • Перейдите на закладку Активация купона.

      • Введите купон в соответствующее поле и нажмите кнопку Активировать купон.


      Типичные ошибки

      При попытке обновления выдаётся ошибка "Ошибка соединения с сервером обновлений: [110] Connection timed out."

      Ошибка свидетельствует о том, что скрипт обновления не может подключиться к серверу обновлений www.bitrixsoft.com на порт 80. Причины могут быть следующие:

      • не доступны функции работы с сокетами, в частности, fsockopen();
      • на сервере запрещены исходящие соединения к 80 порту;
      • недостаточный объем памяти на сервере (Часто проявляется на VPS с виртуализацией OpenVZ и 256 Мб RAM.);
      • проблема в работе сети.

      Вам необходимо обратиться к администратору сервера, предоставив описание ошибки.


      Ошибка при обновлении: [SITE_LICENSE_VIOLATION] Превышено количество лицензированых сайтов

      Эта ошибка свидетельствует о том, что в системе либо не зарегистрировано ни одного сайта, либо все сайты деактивированы, либо превышено количество активных сайтов, разрешенных текущей лицензией.

      Для решения проблемы и получения возможности загрузки и установки обновлений, необходимо или зарегистрировать в системе хотя бы один сайт, или активировать существующий из раздела, или деактивировать сайты до количества, разрешенных текущей лицензией: Рабочий стол > Настройки > Настройки продукта > Сайты > Список сайтов.


      Ошибка при обновлении [ERROR_WRONG_CODE]

      Система обновлений продукта привязывается к конкретной установке и "запоминает" состояние системы после очередного обновления. Ошибка возникает в том случае, если текущее состояние не соответствует тому, которое было на момент последнего обновления. Этот механизм призван пресечь попытки обновления на одном лицензионном ключе неограниченное количество установок продукта.

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

      Аналогичным образом следует поступать при переносе сайта на новый сервер: скопировать структуру файлов и БД на новый сервер, после этого, не обновляя продукт на старом, удалить его сразу после обновления DNS.

      Особенности установки продукта для IIS

      В состав Microsoft Windows Server 2008 включена новая Служба веб-публикаций IIS в версии 7.0. Основное отличие этой версии, с точки зрения работы с Bitrix Framework, - использование FastCGI, очереди запросов, а также отказ от использования Nginx. Установка и настройка продуктов компании «1С-Битрикс» на серверах с ОС Windows теперь существенно упрощена.

      Принципиально установка Bitrix Framework на IIS не отличается от установки на Apache. Меняется только общий порядок действий:

      • Установите IIS.
      • Установите и настройте PHP.
      • Установите и настройте FastCGI
      • Установите и настройте MySQL или MSSQL
      • Выполните подготовительные действия перед установкой
      • Установите продукт
      • Настройте 404 ошибку.
      Примечание Описание процедуры установки продукта на устаревший сервер IIS 6 дано в главе Установка продукта на IIS 6 раздела Примеры типовых операций.


      Установка и настройка PHP

      Чтобы выполнить установку PHP, необходимо предварительно загрузить дистрибутив PHP 5 с сайта http://windows.php.net/download/ (Microsoft рекомендует дистрибутив Non-thread-safe (NTS)).

      Запустите установку дистрибутива и следуйте указаниям Мастера установки.

      Первый шаг (начало установки)

      Первое окно Мастера информирует о начале процесса установки и выводит информацию о продукте.

      Нажмите кнопку Next.

      Второй шаг мастера (лицензионное соглашение)

      Внимательно ознакомьтесь с лицензионным соглашением. Если вы согласны с его условиями, то установите флаг в поле I accept the terms in the License Agreement.

      Для продолжения установки нажмите кнопку Next.

      Третий шаг мастера (выбор директории)

      Выберите директорию, в которую будет установлен программный продукт, и нажмите кнопку Next.

      Четвертый шаг установки (выбор веб-сервера)

      В качестве веб-сервера установки выберите IIS FastCGI и нажмите кнопку Next для продолжения установки.

      Пятый шаг мастера (выбор компонентов)

      Включите необходимые Extensions (надстройки на PHP), которые должны быть установлены:

      • GD2;
      • LDAP (если будете использовать LDAP-авторизацию);
      • Multi-Byte String (данное расширение необходимо в том случае, если продукт «1С-Битрикс: Управление сайтом» будет устанавливаться в кодировке UTF-8);
      • MySQL;
      • OpenSSL;
      • zip.

      Примечание: указанные расширения можно прописать позже вручную в виде extension=имя_файла_расширения.dll в файле php.ini в папке, куда был установлен PHP. Например: extension=php_win32scheduler.dll.

      Для продолжения установки нажмите кнопку Next.

      Шестой шаг мастера (установка)

      Нажмите кнопку Install, начнется процесс установки:

      Подождите, пока Мастер установки скопирует и установит файлы.

      Седьмой шаг мастера (завершение установки)

      Установка PHP успешно завершена. Нажмите кнопку Finish для выхода из Мастера.

      Настройка PHP

      Сразу после установки PHP необходимо выполнить его настройку:

      • В любом менеджере файлов перейдите в папку, в которую был установлен PHP.
      • Откройте файл php.ini для редактирования.
      • Установите следующие параметры:
        fastcgi.impersonate = 1
        cgi.fix_pathinfo = 1
        cgi.force_redirect = 0
        short_open_tag = On
        extension_dir = "C:\<путь_до_папки>\PHP\ext"
        upload_tmp_dir="C:\inetpub\temp"
        session.save_path="C:\inetpub\temp"
        allow_call_time_pass_reference = On
        display_errors = On
        date.timezone = Europe/Moscow
        

        Примечание: В «1С-Битрикс: Управление сайтом» используется <? вместо <?php.

        Примечание: под inetpub понимается место, где будут размещены сайты. Эта папка присутствует по умолчанию.

      Для проверки настройки PHP выполните следующее:

      • перейдите Пуск > Выполнить;
      • откройте окно командной сроки командой: cmd;
      • в окне командной строки перейдите в папку с установленным PHP с помощью команды: cd C:\<путь_до_папки>\PHP\;
      • задайте команду php –info.

      Если все сделано правильно, то будет выдан этот же файл конфигурации (php.ini).



      Установка модуля FastCGI

      Для увеличения производительности необходимо, чтобы php-файлы обрабатывались модулем FastCGI. Для этого выполните следующее:

      • Загрузите Administration Pack for IIS 7.0 для нужного типа сервера (http://www.iis.net/downloads/microsoft/administration-pack).

        Примечание: Administration Pack for IIS встроен в Windows Server 2008 R2/Windows 7.

      • Установите его, следуя указаниям мастера.
      • Перезагрузите веб-сервер и перезапустите IIS Manager. После этого станет доступна иконка FastCGI Settings:

      Примечание: если в файле php.ini у параметра fastcgi.logging выставить значение равное 1, то вывод ошибок будет производиться в лог, а не на экран. Это повышает безопасность PHP.

      Проверка PHP

      Проверить корректность параметров PHP можно следующим образом:

      • В папке C:/inetpub/wwwroot создайте файл phpinfo.php, содержащий строку:

        <? phpinfo(); ?>
      • Введите в адресной строке браузера http://ваш_сайт/phpinfo.php.
      • Если все настроено правильно, то откроется стандартная страница, содержащая информацию о PHP:



      Подготовительные операции по установке продукта

      Подготовка дистрибутива

      Загрузите дистрибутив продукта в виде zip-архива.

      Создайте папку для распаковки дистрибутива в папке C:\Inetpub\wwwroot\ (либо в другой, определенной вами как корневая папка веб-сервера). Например: C:\Inetpub\wwwroot\bitrixtest и распакуйте в эту папку содержимое архива.

      Откройте форму Properties папки C:\Inetpub\wwwroot\bitrixtest и на закладке Security добавьте для группы, от имени которой запускаются процесс PHP (в нашем случае это IUSRS) права Modify.

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

      С помощью менеджера IIS в панели Connections перейдите на Sites и удалите веб-сайт по умолчанию (Default Web Site).

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

      Правой кнопкой мыши вызовите контекстное меню и нажмите Add Web Site

      Откроется окно добавления нового сайта:

      В поле Site name укажите имя хоста (в нашем примере: bitrixtest), а в поле Physical path введите путь до папки с дистрибутивом.

      Нажмите на кнопку Test Setting…. Система проверит параметры подключения и выдаст сообщение, в котором будут указаны, в случае наличия, обнаруженные ошибки:

      Как правило, ошибки авторизации возникают из-за отсутствия у пользователя необходимых прав доступа для выполнения им операции проверки прав доступа к папке. Для исправления этой ошибки выполните следующее:

      Закройте окно Test Connection. Нажмите кнопку Connect as…, откроется окно следующего вида:

      Установите флаг в поле Specific User и нажмите кнопку Set…. В открывшемся окне введите логин и пароль. Нажмите кнопку ОК.

      Еще раз проверьте параметры соединения с помощью кнопки Test Setting…. При успешной проверке система выдаст следующее сообщение:

      Настройка ограничений

      Теперь необходимо настроить time-out. Для этого выполните следующее:

      В IIS Manager в панели Connection активируйте bitrixtest. Обновится панель Action в которой в группе Configure выберите Limits.

      Откроется форма настройки ограничений.

      В поле Connection time-out (in seconds) установите 600. Этой командой установлено заведомо большое время ожидания веб-сервером окончания работы скрипта - 600 секунд.

      Откройте для редактирования файл php.ini и укажите в нем следующие значения: max_execution_time = 240 и max_input_time = 240.

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

      Настройка mimetype для файлов без расширения


      Настройка 404 ошибки

      Примечание: Работа с ЧПУ реализуется через обработку 404-й ошибки.

      Для настройки собственной 404-й ошибки необходимо:

      • В панели Подключения оболочки Диспетчер служб IIS перейдите на необходимый сайт, например bitrixtest.
      • В группе IIS выберите Страницы ошибок:

        Откроется список документов.
      • Кликом правой кнопки мыши на строке с 404 ошибкой вызовите диалог настройки свойств ошибки:

      • Включите опцию Выполнить URL-адрес на этом сайте и в поле URL-адрес (относительного корневого каталога сайта) введите путь до файла с 404 ошибкой (файл будет создан при установке продукта «1С-Битрикс: Управление сайтом»):

      • Нажмите кнопку ОК.
      • На той же странице в панели Действия нажмите Изменить параметры...:

      • В открывшемся окне включите опцию Страницы настраиваемых ошибок:

      • Нажмите кнопку ОК.

      Теперь 404 ошибка будет выводится из файла 404.php, находящегося в корневой директории продукта «1C-Битрикс».

      Аналогичным образом можно настроить вывод других ошибок.



      Перенос продукта

      Особенности платформы Bitrix Framework в плане хостинга

      • Наличие достаточного места на диске для создания большого количества файлов. Сегодня минимальное требование для проекта с большим числом картинок — от 300 Мбайт. (Важно помнить, что каждая картинка также занимает место на диске, а в большом проекте таких картинок может быть очень много.)
      • Наличие необходимых ресурсов на сервере — памяти, выделяемой скрипту, наличие акселератора PHP и некоторых других настроек. Необходимо как минимум 128 Мбайт памяти, выделяемой для PHP, чтобы могли работать серьезные проекты (например, интернет-магазины). Она расходуется на построение структуры данных и выполнение кода при вызове каждой страницы сайта.
      • Желательность двухуровневой архитектуры для работы сайтов с высокой посещаемостью или серверов с высокой загрузкой. Для этого устанавливается дополнительный веб-сервер (обычно NGINX), который принимает все запросы. Это позволяет стабилизировать использование памяти за счет ограничения числа процессов Apache и получить отказоустойчивую систему.
      • Достаточно быстрый сервер баз данных. Для работы сайтов необходимо, чтобы сервер баз данных успевал обрабатывать запросы за короткое время.
      • Желательность работы PHP и FTP/SSH от одного и того же пользователя. При разработке сайта обычно работают с файлами по FTP/SFTP-протоколу. Вместе с тем при работе в самой системе она создает файлы от имени того пользователя, под которым работает PHP. При несовпадении этих пользователей могут возникнуть серьезные проблемы в работе сайта или в возможностях его модификации.
      • Рекомендуемый необходимый размер свободного места для восстановления копии - в 3 раза больше, чем размер копии.

      Во многом соответствие сервера требованиям системы можно протестировать модулем Монитор производительности.

      Как выбрать хостера

      Большей части проблем по выбору хостинга можно избежать, если ознакомиться со списком сертифицированных хостингов, которые проверены компанией «1С-Битрикс». Список этих хостингов можно найти на сайте компании.

      Для успешной установки и полноценной работы продукта необходимы следующее:

      • Установка может быть сделана только в корневую папку веб сервера.
      • Необходимо использовать веб сервер Apache 1.3.0 и выше.
      • Хостер должен разрешать использование .htaccess.
      • Необходимо использовать PHP 5.3+.
      • safe_mode должен быть отключен (инсталлятор блокирует установку продукта в этом режиме).
      • short_open_tag включён.
      • memory_limit не ниже 32 Мб для редакции Старт, не менее 64 Мб для редакции Бизнес.
      • Наличие функций работы с сокетами для обновления продукта.
      • Наличие библиотек: Zlib (компрессия - для модуля компрессии и ускорения загрузки обновлений), GD lib (отображение графиков), Free Type (работа CAPTCHA).
      • Версия MySQL 5.0 и выше, Oracle 10g и выше или MSSQL 10.0 (2008) и выше.
      • Для установки Oracle-версии продукта удостоверьтесь в наличии клиентской части Oracle 10g (или выше) и создайте нового пользователя.
      • Крайне рекомендуется наличие акселератора PHP (OPcache, XCache, APC или другого). Рекомендуется OPcache, входит в состав PHP v5.5+.

        Внимание:
        1. Есть особенность использования прекомпилятора XCache, его параметр xcache.cacher для корректной работы продукта должен быть Off.
        2. eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.

      • режим работы PHP как модуля Apache предпочтительнее (CGI настоятельно не рекомендуется, так как он не поддерживает работу акселератора. Лучше использовать FastCGI.)
      Примечание: не рекомендуется использовать модуль suhosin или mod_security т.к. в ряде случаев эти модули препятствуют нормальной работе продуктов.

      Протестировать конфигурацию сервера можно специальным скриптом bitrix_server_test.php, который необходимо запустить на своём сервере.

      Примечание: Можно ознакомится с примером анализа производительности PHP.

      Рекомендуется ознакомиться с опытом настройки и тестирования серверов в блогах Александра Демидова и Дениса Шаромова, а так же с отзывами клиентов о хостингах в группе Черный и белый список хостингов социальной сети компании «1С-Битрикс».


      Перенос продукта «1C-Битрикс» v.12 и выше

      Для переноса сайта на удаленный сервер (равно как и с удаленного сервера на локальную машину) можно воспользоваться специальным механизмом резервного копирования, который предоставляет следующие возможности:

      • выбор подходящего сценария для архивации в зависимости от технических возможностей сервера (локальный бекап, бекап в облако);
      • создание архивной версии файлов сайта (формат .tar.gz, зашифрованный архив .enc);
      • включение или исключение из архива папки, содержащей ядро продукта;
      • включение или исключение из архива публичной части;
      • исключение из архива файлов, размер которых превышает некоторое заданное значение;
      • создание дампа базы данных (формат .tar.gz, зашифрованный архив .enc);
      • исключение из дампа базы данных таблиц статистики и поискового индекса;
      • задание длительности шага архивации и интервала между ними;
      • отключение компрессии архива для снижения нагрузки на сервер;
      • проведение проверки целостности архива после завершения.

      Обратите внимание! Механизм резервного копирования может быть использован только для базы данных MySQL.

      Для переноса сайта с локальной машины на удаленный хостинг или с одного удаленного хостинга на другой при помощи встроенной функции резервного копирования и специального скрипта restore.php, необходимо предварительно:

      • Проверить:
        • соответствие удаленного хостинга минимальным техническим требованиям продукта;
        • наличие прав не ниже (0644 – для файлов и 0755 для папок) на все файлы в корне сайта у пользователя, под которым работает Apache (PHP).
      • При наличии активной лицензии настоятельно рекомендуется обновить исходную копию продукта до последней версии.

      Следующий шаг - создание архива сайта. Выполнить действия по созданию архива можно на странице Резервное копирование (Настройки > Инструменты > Резервное копирование). Подробнее о создании архива сайта см. в уроках Резервное копирование курсов Администратор. Базовый и Администратор «Битрикс24 в коробке».

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

      1. Загрузите файл с архивом в корневую директорию сайта на удаленном сервере или на локальной машине в зависимости оттого, откуда и куда вы переносите сайт. Если исходный сайт доступен из интернета, то лучше скачивать архив с дальнего сервера. При этом скачиваются все части архива автоматически. При переносе с локального на хостинг надо будет вручную положить все части рядом с restore.php.

        Важно! Если файл архива содержит в себе полную копию сайта (и ядро, и публичную часть), то на сервере систему «1C-Битрикс» устанавливать не нужно.

      2. Скачайте скрипт restore.php, который доступен по ссылке в справке внизу страницы Список резервных копий (Настройки > Инструменты > Резервное копирование > Список резервных копий). Загрузите скрипт на сервер в корень сайта.

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

      4. В адресной строке браузера наберите http://ваш_сайт/restore.php. Нажмите кнопку Далее.

      5. В открывшемся диалоговом окне выберите нужный вариант расположения файла с архивом и нажмите кнопку Далее.

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

        При размещении архива в облаке

      6. После скачивания архива будет предложено указать пароль (если архив был зашифрован на этапе резервного копирования) для распаковки файлов:

      7. После завершения распаковки файлов необходимо будет указать настройки соединения с базой данных, если при создании резервной копии был создан дамп базы данных.

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

        Во избежание повреждения сайта или утечки информации будут удалены файлы:
        • /restore.php
        • /файл резервной копии (файл с расширением .tar.gz или .enc)
        • /bitrix/backup/дамп базы (файл с расширением .sql)
      9. Восстановление завершено.

      Некоторые особенности:
      • Если в качестве WEB-сервера используетя IIS, то учтите, что файл web.config так же архивируется. Необходимо удалить извлеченный из архива файл web.config. Ваш сервер создаст новый под себя.
      • После переноса может не работать ЧПУ. В этом случае надо переименовать .htaccess.restore в .htaccess.


      Примечание: О восстановление сайта в административном интерфейсе можно прочитать в одноименном уроке здесь.



      Перенос сайтов в многосайтовой конфигурации

      Лицензия допускает создание двух сайтов на одном экземпляре системы. Перенос системы на другой хостинг в двухсайтовой конфигурации имеет свои особенности.

      Прежде всего, многосайтовость должна быть настроена на разных доменах.

      Во-вторых, несколько меняется общий порядок действий:

      • Создайте резервную копию главного сайта с ядром, файлами и базой:

      • Перенесите главный сайт через restore.php.
      • Создайте резервную копию второго сайта без ядра и базы, только файлы. При создании копии исключите из архива папки /bitrix и /upload:

      • Перенесите второй сайт через restore.php.
      • С помощью файла symlink.php сделайте связку с первым сайтом.
      • Настройте пути и доменные имена для каждого сайта:

      Перенос продукта «1C-Битрикс» до v.12

      Для переноса сайта на удаленный сервер (равно как и с удаленного сервера на локальную машину) можно воспользоваться специальным механизмом резервного копирования, который предоставляет следующие возможности:

      • выбор подходящего сценария для архивации в зависимости от технических возможностей сервера;
      • создание архивной версии файлов сайта (формат .tar.gz);
      • включение или исключение из архива папки, содержащей ядро продукта;
      • включение или исключение из архива публичной части;
      • исключение из архива файлов, размер которых превышает некоторое заданное значение;
      • создание дампа базы данных (формат .tar.gz);
      • исключение из дампа базы данных таблиц статистики и поискового индекса;
      • задание длительности шага архивации и интервала между ними;
      • отключение компрессии архива для снижения нагрузки на сервер;
      • проведение проверки целостности архива после завершения.

      Обратите внимание! Механизм резервного копирования может быть использован только для базы данных MySQL.

      Для переноса сайта с локальной машины на удаленный хостинг или с одного удаленного хостинга на другой при помощи встроенной функции резервного копирования и специального скрипта restore.php, необходимо предварительно:

      • Проверить:
      • При наличии активной лицензии настоятельно рекомендуется обновить исходную копию продукта до последней версии.

      Следующий шаг - создание архива сайта. Выполнить действия по созданию архива можно на странице Резервное копирование (Настройки > Инструменты > Резервное копирование). Подробнее о создании архива сайта см. в уроке Резервное копирование.

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

      • Загрузите файл с архивом в корневую директорию сайта на удаленном сервере или на локальной машине в зависимости оттого, откуда и куда вы переносите сайт.Если исходный сайт доступен из интернета, то лучше скачивать архив с дальнего сервера. При этом скачиваются все части архива автоматически. При переносе с локального на хостинг надо будет вручную положить все части рядом с restore.php.

        Важно! Если файл архива содержит в себе полную копию сайта (и ядро, и публичную часть), то на сервере систему «1С-Битрикс» устанавливать не нужно.

      • Скачайте скрипт restore.php, который доступен по ссылке вверху страницы резервного копирования (Настройки > Инструменты > Резервное копирование > Список резервных копий). Загрузите скрипт на сервер в корень сайта.
      • В адресной строке браузера наберите http://ваш_сайт/restore.php. Нажмите кнопку Далее.

      • В открывшемся диалоговом окне выберите нужный вариант расположения файла с архивом и нажмите кнопку Далее.

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

      • После завершения распаковки файлов будет предложено указать настройки соединения с базой данных, если при создании резервной копии был создан дамп базы данных.

        Примечание: Если архив содержит резервные копии данных из облака, можно их сохранить локально в папку /upload/, при этом они будут отвязаны от облака. Или оставить как есть.

        Укажите необходимые параметры, нажмите кнопку Далее и ждите завершения работы сценария.
      • После успешной распаковки в открывшемся диалоговом окне нажмите кнопку Удалить архив и служебные скрипты:

        Во избежание повреждения сайта или утечки информации будут автоматически удалены файлы:
        • /restore.php
        • /файл резервной копии (файл с расширением .tar.gz)
        • /bitrix/backup/дамп базы (файл с расширением .sql)
        После этого вы автоматически попадете в публичный раздел восстановленного сайта.

      Некоторые особенности:
      • Если в качестве WEB-сервера используетя IIS, то учтите, что файл web.config так же архивируется. Необходимо удалить извлеченный из архива файл web.config. Ваш сервер создаст новый под себя.
      • После переноса может не работать ЧПУ. В этом случае надо переименовать .htaccess.restore в .htaccess.

      Возможные ошибки при переносе сайта

    • Перенос сайта нештатными средствами
    • Настройки PHP
    • Возможные проблемы при работе с многосайтовостью
    • Распакованный сайт недоступен
    • Не полный архив
    • Ошибка ERROR 1062 (23000)
    • Ошибки в .htaссess
    • Если в качестве WEB-сервера используется IIS
    • Перенос сайта нештатными средствами

      Перенос сайта на хостинг лучше всего выполнять встроенными в Bitrix Framework средствами резервного копирования/восстановления.

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

      Среди часто возникающих проблем:

      1. Веб-сервер не может записать в нужную ему папку или удалить временные файлы. Возможные последствия:

        • невозможность обновления продукта;
        • невозможность редактировать сайт через веб-интерфейс;
        • некорректная работа компонента кэширования;
        • и другие проблемы.

          Примечание: Например, встречается даже такая ситуация, когда система создавала временные файлы, но права хостинга не позволяли удалить их. В результате через день работы аккаунт был заблокирован за превышение дисковой квоты.

          Самым простым решением в этом случае будет установка прав на все файлы и папки 777 (для Unix платформы) либо любой другой способ дать PHP запись на эти файлы.

      2. Нет возможности отредактировать через ftp/ssh файлы, созданные через веб-интерфейс. В этом случае многим веб-разработчикам будет сложно дорабатывать сайт.

        Одним из простых, но не всегда работающих решений, является установка параметров в файле dbconn.php, позволяющих всем редактировать создаваемые через Bitrix Framework файлы.

        define("BX_FILE_PERMISSIONS", 0666);
        define("BX_DIR_PERMISSIONS", 0777);

        Однако для файлов, созданных через ftp/ssh, вам придется периодически изменять права вручную. Либо, если хостинг это поддерживает, устанавливать параметр umask.



      Настройки PHP

      При переносе сайта на хостинг могут возникнуть различные нюансы из-за настроек PHP:

      • Проблемы с несоответствием владельца файлов: на ряде хостингов PHP работает от имени одного пользователя, а доступ по ftp/ssh предоставлен другому. В этом случае файлы, созданные одним методом, могут быть недоступны для модификации, или вообще вызывать ошибку выполнения из-за нарушения параметров безопасности.
      • Проблемы с настройками безопасности: возможны различные варианты подключения PHP к веб-серверу, и в некоторых из этих вариантов устанавливаются жесткие ограничения на владельца файла и права на файл. В этом случае возможны ошибки с кодом 500, и разобраться в проблеме вам поможет только журнал ошибок веб-сервера.

        Пример: На многих хостингах, если PHP подключен как CGI, требуется соответствие владельца файла и прав на файл. Если владелец файла – не ваш аккаунт или права на файл допускают запись всем пользователям, PHP будет вызывать ошибку. В этом случае необходимо установить корректные права на файлы и папки, а также правильные параметры в dbconn.php.

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

        Пример: особо чувствительны к размеру памяти и времени выполнения различные скрипты импорта-экспорта данных. Если у вас возникают ошибки – проверяйте доступность ресурсов на хостинге, в случае их нехватки смените хостера.

      • Проблемы с использованием кодировки utf-8 на хостинге. Выясните, поддерживается ли она (необходимо наличие библиотеки mbstring и возможность установки параметра PHP: mbstring.func_overload=2).
      • Другие проблемы, специфичные для вашего хостера. Для их устранения рекомендуем заранее протестировать работу сайта на выбранном вами хостинге и заручиться контактами специалистов службы поддержки провайдера.


      Возможные проблемы при работе с многосайтовостью в Bitrix Framework

      Проверьте, что ваш хостинг позволит огранизовать многосайтовость выбранным вами методом. Не все провайдеры позволяют корректно (для Bitrix Framework) создавать дополнительные сайты. Информацию об способах организации многосайтовости можно получить в главе Многосайтовость курса «Разработчик Bitrix Framework».



      Проблемы с почтой

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



      Распакованный сайт недоступен

      После распаковки резервной копии на всём сайте отображается только форма авторизации. Возможные причины и решения:

      • Некорректное значение поля Путь к корневой папке веб-сервера для этого сайта в настройках сайтов (Настройки > Настройки продукта > Сайты > Список сайтов).

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

      • Если перенос осуществлялся простым копированием файлов (FTP/SSH), мог не скопироваться файл .access.php. В данном файле хранятся права доступа групп пользователей к сайту, если данного файла нет, то для всех пользователей устанавливается право Запрещено.

        Решение 1: в корень сайта положить файл .access.php с содержимым:

        <?  $PERM["/"]["*"]="R"; ?>

        либо

        Решение 2: через файловый менеджер продукта в свойствах корневой папки сайта на вкладке Доступ установить для группы Все пользователи (в том числе неавторизованные) право Чтение.



      Не полный архив

      При просмотре архива, созданного штатной системой резервного копирования, через WinRar видно, что файлов в архиве гораздо меньше, чем на сайте.

      Причина: дело в том, что у формата tar есть несколько диалектов. Система пакует архив в формате GNU tar, как это делает по умолчанию tar в Linux. WinRar понимает tar, но конкретно этот диалект поддерживает не полностью.

      Резервный архив должен распаковываться системным restore.php, скачанным со страницы резервного копирования. Если и в этом случае часть файлов утеряна, проблему следует решать через техподдержку.



      Ошибка ERROR 1062 (23000)

      При распаковке резервной копии происходит ошибка: ERROR 1062 (23000) at line 1247: Duplicate entry '2-?' for key 2.

      Причина: Ошибка происходит, если кодировка, в которой сделан архив, отличается от используемой на новом сервере баз данных.

      • Кодировка архива устанавливается в зависимости от содержимого файла /bitrix/php_interface/after_connect.php, например:
        <?
        $DB->Query("SET NAMES 'utf8'");
        ?>
        т.е архив будет создаваться в кодировке utf8.
      • Кодировку сервера баз данных можно увидеть в параметре character_set_server после выполнения SQL-запроса:
        show variables where Variable_name = 'character_set_server';

      Обойти или устранить эту ошибку можно двумя способами:

      • В настройках нового сервера баз данных изменить кодировку в параметре character_set_server на ту, в которой сделан архив.

        Внимание! За выполнением этой операции возможно придется обратиться к администратору сервера.

      • Можно открыть архив в текстовом редакторе и в самое начало вставить строку:
        SET NAMES `utf8`;
        Кодировка выбирается в зависимости от кодировки архива.

        Внимание! Этот способ работает только в случае небольших дампов (которые успевают импортировать за один шаг).



      Ошибки в .htaссess

      Часть ошибок (например: ошибка 404 при переходе на страницу с подробной информацией новости), возникающих при переносе сайтов связана с тем, что при переносе файл .htaссess переименовывается с добавлением "_". Для решения проблемы достаточно проверить имя файла и, при обнаружении ошибки, восстановить его.



      Если в качестве WEB-сервера используется IIS

      В этом случае файл web.config так же архивируется. В результате возникает проблема с распаковкой. После распаковки restore.php не работает.

      Решение: Удалите извлеченный файл web.config. Сервер создаст новый под себя.


      Дополнительные моменты

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

      Удаление приложения

      Удаление приложения на локальном компьютере осуществляется следующими способами:

      • Меню Пуск > Панель управления > Установка и удаление программ > Битрикс Веб-окружение > Удалить
      или
      • Меню Пуск > Программы > Битрикс Веб-окружение > Uninstall

      Удаление приложения на удаленном компьютере состоит в удалении базы данных и всех файлов и папок из корневой папки вашего веб-сервера.

      Ручная настройка поиска Sphinx

      Внешний полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

      Если по каким-либо причинам не используется эталонная среда Виртуальная машина BitrixVM версии 7.0 и выше, в которую уже включен Sphinx, то можно настроить его самим, следуя данным рекомендациям.

      Внимание! Ограничение на версию Sphinx - не ниже 2.1.1.

      1. Сначала необходимо установить сам пакет Sphinx в свою среду. Как это сделать описано в документации раздела Installation на официальном сайте.

        Например, пусть директория файлов настроек Sphinx по умолчанию будет /etc/sphinxsearch/.

      2. Далее необходимо настроить сам Sphinx, делается это с помощью конфигурационного файла /etc/sphinxsearch/sphinx.conf.

        Код минимальной конфигурации
      3. Основные директивы, которые могут измениться в зависимости от настройки сервера и на которые следует обратить внимание:

        Секция searchd:
        • listen - указывается ip-адрес, порт, путь Unix-domain socket или протокол, которые прослушивает поисковый демон (в данном случае порты: 9312, 9306 с протоколом MySQL);
        • log - имя log-файла работы Sphinx-a и его расположение;
        • query_log - имя log-файла поисковых запросов Sphinx-a и его расположение;
        • binlog_path - путь, где хранятся бинарные логи (важный параметр, если указать директорию, на запись в которую нет прав, то поисковый демон не запустится);
        • binlog_max_log_size - максимальный объем файла бинарного лога, после которого будет создан новый файл.

        Секция indexer:
        • lemmatizer_cache - максимальный объем кэша словарей морфологического поиска;
        • lemmatizer_base - директория хранения языковых словарей (ru.pak, en.pak, de.pak) для морфологического поиска, которые нужно предварительно скачать и поместить в данную директорию.

          Внимание! Директива lemmatizer_base c версии Sphinx 2.2.1+ располагается в секции common:
          common
              {
                    lemmatizer_base = /etc/sphinxsearch/dicts/
              }
          


        Секция index bitrix:
        • path - путь и название файлов индекса;
        • charset_type - указывается кодировка сайта:
          • для кодировки UTF - utf-8;
          • для остальных - sbcs.
      4. Далее необходимо сделать рестарт Sphinx-a.
      5. Затем перейти на страницу продукта «1С-Битрикс» Настройки модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и сделать настройки для подключения Sphinx-а в качестве поискового механизма:

        • Полнотекстовый поиск с помощью - выбрать Sphinx;
        • Строка подключения для управления индексом (протокол MySql) - указывается ip-адрес и порт подключения для индексации через протокол MySQL;
        • Идентификатор индекса - указать имя индекса (например, bitrix);
        • Также на этой странице для справки указан пример конфигурационного файла для индекса Sphinx-a в продуктах «1С-Битрикс».
      6. После применения настроек в модуле Поиск, необходимо сделать Переиндексацию сайта в административной части с помощью одноименной кнопки - о чем сообщит мастер настройки:

        Важно! Если в продукте «1С-Битрикс» установлен модуль Cоциальной сети, то после индексации модулем поиска, требуется переиндексация социальной сети из компонента, размещенного в публичном разделе. Для этого нужно перейти в режим разработки в любой раздел социальной сети (где установлены компоненты socialnetwork, socialnetwork_group, socialnetwork_user) и нажать на кнопку Индексация в панели инструментов:

      На этом минимальная настройка Sphinx в качестве поискового механизма для продуктов «1C-Битрикс» завершена.

      Примечание: Информацию для более тонкой настройки поискового механизма Sphinx можно найти в официальной документации этого продукта.



      Настройки сервера

      В главе рассказывается о настройке сервера: о правах доступа, об использовании .htaccess файлов.

      Необходимый уровень прав на сервере

      Настройка прав на сервере хостинг-провайдера может быть индивидуальна, но прежде всего должны быть установлены права на чтение/запись из скрипта для пользователя, под которым запущен веб-сервер Apache.

      При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права на чтение/запись в ваши файлы через свои скрипты. Также желательно, чтобы пользователь по FTP мог перезаписывать эти файлы, и в то же время файлы, закаченные по FTP, могли быть перезаписаны из скрипта.

      Проблема в том, что у каждого хостинг-провайдера своя политика безопасности и свои настройки.

      На некоторых хостингах процесс сервера запускается по умолчанию под пользователем nobody:группа. Файлы, которые пользователь хостинга хранит на своей машине, должны быть доступны Apache. Это означает, что они либо имеют атрибут чтение для всех, либо же пользователь-владелец файлов обязан принадлежать к той же самой группе, что и сервер. В последнем случае файлы должны быть доступны для чтения членами группы (именно такие права для них устанавливают по умолчанию FTP-серверы). При таком подходе страдает безопасность: раз все пользователи принадлежат к одной и той же группе, то они могут читать файлы друг друга.

      Представим, что пользователь открыл в браузере страницу, запустившую CGI-скрипт. Так как скрипт в действительности запустил сервер Apache, запущенный под nobody, то он будет выполняться с правами этого пользователя. Следовательно, для того чтобы скрипт смог записать какой-нибудь файл в директорию хостинг-клиента, для нее должен стоять атрибут записи для членов группы. Мы видим, что при таком подходе хостинг-пользователи также могут и изменять файлы друг друга.

      «1С-Битрикс» работает с любым уровнем прав, который вы указали ему при настройке (установке).

      Для того чтобы продукт корректно работал с папками и файлами с заданным CHMOD (писал и создавал), вам нужно установить в /bitrix/php_interface/dbconn.php следующие константы:

      define("BX_FILE_PERMISSIONS", 0644); 
      define("BX_DIR_PERMISSIONS", 0755);

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

      Самостоятельно установить нужный уровень прав можно, используя команду CHMOD в консольном режиме.

      Следующий вызов устанавливает уровень прав доступа и для файлов, и для папок:

      chmod -R 644 *

      Для установки прав только на папки можно использовать следующий код:

      find . -type d -exec chmod 0755 {} ';'

      Если надо установить разные права на папки и файлы, то выполните следующий скрипт:

      <?php 
      define("BX_FILE_PERMISSIONS", 0644); 
      define("BX_DIR_PERMISSIONS", 0755); 
      
      function chmod_R($path) { 
      
         $handle = opendir($path); 
         while ( false !== ($file = readdir($handle)) ) { 
           if ( ($file !== ".") && ($file !== "..") ) { 
             if ( is_file($path."/".$file) ) { 
               chmod($path . "/" . $file, BX_FILE_PERMISSIONS); 
             } 
             else { 
               chmod($path . "/" . $file, BX_DIR_PERMISSIONS); 
               chmod_R($path . "/" . $file); 
             } 
           } 
         } 
         closedir($handle); 
      } 
      
      $path=dirname(__FILE__); 
      umask(0); 
      chmod_R($path); 
      echo $path; 
      ?>
      

      Для установки рекурсивно прав раздельно на файлы и папки можно использовать некоторые программы FTP клиентов. Например, FlashFXP версии 3.хх.

      FlashFXP позволяет также разделять права для файлов и папок, но выполняет смену прав медленнее.

      Обратите внимание на установки соответствующих флагов:

      Separately set File and Folder attributes (Раздельно устанавливать права на файлы и папки); 
      Apply changes to all subfolders and files (Рекурсивная установка прав на подпапки и файлы) 

      Для каждой из установок настраивается свой уровень:

       
      Установка прав на папки   Установка прав на файлы

      Обратите внимание! Модуль Управление структурой позволяет просмотреть права на доступ к файлам и папкам, установленные на уровне системы.

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


      Просмотр прав в продукте до 12 версии


      Использование файлов .htaccess

      .htaccess (от англ. hypertext access) - файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельном каталоге без изменения главного конфигурационного файла httpd.conf.

      Файл .htaccess является подобием httpd.conf с той разницей, что действует только на каталог, в котором располагается, и на его дочерние каталоги. Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах, если только эти директивы не переопределены директивами нижележащих файлов .htaccess. Для того, чтобы файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла httpd.conf (значение директивы AllowOverride должно быть установлено как All). Пути к файлам и каталогам должны указываться от корня сервера.

      При внесении изменений в файл .htaccess нет необходимости перезапускать сервер. Файл .htaccess проверяется при каждом обращении к серверу, так что изменения вступают в силу сразу после их внесения. Так как файл является служебным, он не доступен пользователям из веб-браузера.

      Обратите внимание! При установке на шаге предварительной проверки производится проверка обработки файлов .htaccess.

      В демонстрационном сайте файл .htaccess по умолчанию содержит следующие директивы:

      Options -Indexes 
      ErrorDocument 404 /404.php
      
      <IfModule mod_php5.c>
        php_flag allow_call_time_pass_reference 1
        php_flag session.use_trans_sid off
      
        #php_value display_errors 1
      
        #php_value mbstring.func_overload 2
        #php_value mbstring.internal_encoding UTF-8
      </IfModule>
      
      <IfModule mod_rewrite.c>
        Options +FollowSymLinks
        RewriteEngine On
      
      RewriteCond %{REQUEST_FILENAME} -f [OR]
      RewriteCond %{REQUEST_FILENAME} -l [OR]
      RewriteCond %{REQUEST_FILENAME} -d
      RewriteCond %{REQUEST_FILENAME} [\xC2-\xDF][\x80-\xBF] [OR]
      RewriteCond %{REQUEST_FILENAME} \xE0[\xA0-\xBF][\x80-\xBF] [OR]
      RewriteCond %{REQUEST_FILENAME} [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} [OR]
      RewriteCond %{REQUEST_FILENAME} \xED[\x80-\x9F][\x80-\xBF] [OR]
      RewriteCond %{REQUEST_FILENAME} \xF0[\x90-\xBF][\x80-\xBF]{2} [OR]
      RewriteCond %{REQUEST_FILENAME} [\xF1-\xF3][\x80-\xBF]{3} [OR]
      RewriteCond %{REQUEST_FILENAME} \xF4[\x80-\x8F][\x80-\xBF]{2}
      RewriteCond %{REQUEST_FILENAME} !/bitrix/virtual_file_system.php$
      RewriteRule ^(.*)$ /bitrix/virtual_file_system.php [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
        RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
        RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
      </IfModule>
      
      <IfModule mod_dir.c>
        DirectoryIndex index.php index.html
      </IfModule>
      
      <IfModule mod_expires.c>
        ExpiresActive on
        ExpiresByType image/jpeg "access plus 3 day"
        ExpiresByType image/gif "access plus 3 day"
        ExpiresByType image/png "access plus 3 day"
        ExpiresByType text/css "access plus 3 day"
        ExpiresByType application/javascript "access plus 3 day"  
      </IfModule> 
      
      
      Внимание! Для активизации закомментированных PHP директив необходимо снять знак комментария (#) в начале строки. Если на вашем сервере Apache не установлено разрешение на использование PHP-флагов, выполнение данных директив приведет к возникновению внутренней ошибки (500). В случае возникновения ошибки необходимо снова закомментировать директивы, поместив в начало каждой знак #.

      Для остальных PHP директив, не обозначенных знаком комментария (#), добавлена проверка на наличие необходимых модулей Apache в системе. Выполнение данных директив не приведет к возникновению ошибки в системе.

      1. PHP директива php_flag session.use_trans_sid off производит отключение подстановки идентификатора сессии в ссылке на сайте.
      2. Значение PHP флага php_value display_errors 1, указывает на то, что включено разрешение на вывод сообщений о возникновении ошибок. Директива php_value error_reporting определяет уровень ошибок, при возникновении которых будет выводиться сообщение. С помощью указанных директив можно настроить режим вывода интерпретатором PHP сообщений об ошибках.
      3. Директивы php_value mbstring.func_overload 2 и php_value mbstring.internal_encoding UTF-8 управляют настройкой библиотеки mbstring.
      4. Блок директив IfModule mod_rewrite.c - это настройка правил для mod_rewrite.
      5. Директива AddType application/x-httpd-php .ico определяет обработку расширения ico как php-файлов.
      6. Директива ExpiresActive on включает кеширование изображений, позволяющее ускорить их загрузку при повторном обращении к страницам сайта.
        Директивы ExpiresByType image/jpeg "access plus 3 day", ExpiresByType image/gif "access plus 3 day", ExpiresByType image/png "access plus 3 day", ExpiresByType text/css "access plus 3 day", ExpiresByType application/javascript "access plus 3 day" в свою очередь, определяют формат изображений, стилей, скриптов и срок, на который будет произведено кеширование. По умолчанию, выполняется кеширование файлов формата .jpeg, .gif, .png, css и .js сроком на 3 дня.
      Внимание! После внесения изменений, файл .htaccess должен быть сохранен в UNIX-формате (для оболочки FAR опция Сохранить как UNIX-текст).

      Авторизация в режиме CGI

      В некоторых случаях может не работать авторизация при обмене данными с 1С. Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php. Можно это проверить, посмотрев phpinfo() в разделе Server API: CGI.

      Можно обойти проблему, но необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite. Для этого выполните следующие действия:

      • В корне сайта в файл .htaccess добавьте строки:
            RewriteEngine on
            RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
      • Закоментируйте следующие строки в файле bitrix/admin/.htaccess, которые отключают mod_rewrite:
            #<ifmodule mod_rewrite.c="">
            # RewriteEngine Off
            #</ifmodule>
      • В файл bitrix/php_interface/dbconn.php добавьте строки:
            $remote_user = $_SERVER["REMOTE_USER"] 
            ? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"];
            $strTmp = base64_decode(substr($remote_user,6));
            if ($strTmp)
                list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);

      Для проверки работоспособности HTTP-авторизации воспользуйтесь скриптом.

      Внимание! Данный вариант обхода не всегда может решить проблему. Если при выполнении всех рекомендаций HTTP-авторизация не заработала, то следует обратиться к хостинг-провайдеру с этой проблемой.



      Ошибки, возникающие при работе с базой данных

      В главе рассмотрены наиболее часто встречающиеся ошибки при работе с базой данных и способы их устранения.

      Ошибки запросов к БД

      При возникновении ошибок запросов к базе данных на экран выдается сообщение вида:

      Примечание: Стандартный вид данного сообщения определяется в файле /bitrix/php_interface/dbquery_error.php.

      Иногда возникает ситуация, когда сайт перестает отвечать, и посетителям отображается пустая страница. В этом случае рекомендуется открыть файл bitrix/php_interface/dbconn.php, содержащий параметры соединения с базой данных, и установить значение параметра $DBDebug = true;

      <?
      define("DBPersistent", true);
      $DBType = "mysql";
      $DBHost = "localhost:31006";
      $DBLogin = "root";
      $DBPassword = "";
      $DBName = "bsm_demo";
      $DBDebug = true;
      $DBDebugToFile = false;
      
      set_time_limit(60);
      
      define("BX_FILE_PERMISSIONS", 0644);
      define("BX_DIR_PERMISSIONS", 0755);
      @ini_set("memory_limit", "64M");
      ?>

      В результате будет получен код ошибки, содержащий, как правило, названия поврежденных таблиц базы данных.

      Запуск утилиты perror.exe с кодом ошибки (файл perror.exe хранится в каталоге mysql/bin) позволяет получить описание ошибки по ее коду:

      Примечание: Для ошибки с кодом 28 выводится следующее описание:

      Данное сообщение означает, что на диске, где установлена база данных, недостаточно места для ее работы.

      Если речь идет о повреждении базы данных, то рекомендуется воспользоваться встроенным инструментом системы для проверки и восстановления базы данных. Использование скрипта проверки и восстановления базы данных позволит оперативно восстановить работу сайта.

      Обратите внимание на следующее:
      • Скрипт проверки и восстановления базы данных может быть использован только для MySQL с типом таблиц MyISAM.
      • Скрипт проверки запускается из административного раздела сайта Настройки -> Инструменты -> Диагностика -> Проверка БД:

        В случае, если повреждены таблицы статистики и нет возможности перейти в административный раздел, сбор статистики может быть временно отключен с помощью параметра ?no_keep_statistic_LICENSE-KEY=Y. В параметре указывается лицензионный ключ сайта.

      Проблема:

      На экран выводится ошибка:

      MySQL Query Error: ….. [Out of memory restart server and try again (needed 65528 bytes)]

      Решение:

      Необходимо увеличить объем памяти в настройках MySQL.

      Рекомендуется использовать следующие параметры MySQL, задавая их в конфигурационном файле MySQL my.cnf:

      key_buffer = 128K
      max_allowed_packet = 16M
      table_cache = 4
      sort_buffer_size = 128K
      read_buffer_size = 128K
      read_rnd_buffer_size = 128K
      net_buffer_length = 128K
      thread_stack = 128K
      

      После изменения параметров необходимо будет перезагрузить MySQL.


      Проблема:

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

      MySQL Query Error: SET LOCAL time_zone='Europe/Moscow'[Unknown or incorrect time zone: 'Europe/Moscow']

      Решение:

      Необходимо загрузить информацию по временным зонам в MySQL:

      mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

      После изменения параметров необходимо будет перезагрузить MySQL.


      Ошибки подключения к БД

      При возникновении ошибки подключения к базе данных на экран выдается сообщение вида:

      Для решения проблемы следует:

      • проверить параметры подключения к базе данных (файл /bitrix/php_interface/dbconn.php);
      • проверить доступность базы данных.

      Внешний вид сообщения об ошибке определяется в файле /bitrix/modules/main/include/dbconn_error.php:

      <br>
      <table cellpadding="1" cellspacing="0" width="35%" bgcolor="#9C9A9C">
      	<tr>
      		<td><table cellpadding="5" cellspacing="0" width="100%">
      			<tr>
      				<td bgcolor="#FFFFFF" align="center"><FONT face="Verdana, Arial, Helvetica, sans-serif" size="-1">
      				<font color="#FF0000"><b><?echo "Error connecting to database."?></b></font><br>Please try again.</font></td>
      			</tr>
      		</table></td>
      	</tr>
      </table>	
      <br><br><br>

      Для проверки доступности базы данных можно использовать, в частности, MySQL GUI - интерфейс управления для Windows, доступный для скачивания на странице http://www.mysql.ru/download/.



      Ошибки сервера

      Ошибка сервера может быть вызвана различными причинами, поэтому ее диагностика достаточно сложна и трудоемка.

      500 - Internal Server Error

      Ошибка сервера (500 - Internal Server Error) не является ошибкой «1С-Битрикс», она часто возникает на разделяемом хостинге из-за ограничения ресурсов системы.

      При возникновении ошибки сервера в первую очередь необходимо просмотреть файл сервера error.log. В этом файле может содержаться строка с кодом ошибки.

      • Типичным примером причины возникновения ошибки сервера может быть превышение разрешенных прав на хостинге.

        Например, происходит попытка выполнить файл с атрибутами, не разрешёнными для запуска на сервере (например, файл имеет атрибуты 0755, а допускается 0711).
      • Также возможной причиной может быть наличие лимита по времени на исполнение php-скриптов;
      • Или у системы нет прав на запись или чтение файла и др.
      • Другой распространенной причиной возникновения внутренней ошибки сервера является нарушение конфигурации сервера или попытка использования неразрешенных инструкций, например, в файле .htaccess. В этом случае необходимо закомментировать либо удалить строку, содержащую неразрешенную директиву, в соответствующем файле (например, .htaccess).
      • Обратите внимание, если PHP работает как CGI, то 500 ошибка на сервере может быть вызвана фатальной ошибкой PHP. В этом случае рекомендуется выполнить проверку программного кода и диагностировать ошибку.
      • Внутренняя ошибка сервера может возникнуть при запуске из-под Apache CGI-скрипта, время исполнения которого превышает время, отведенное на выполнение скрипта в настройках сервера.

      Таким образом, всё зависит от конфигурации сервера.

      Важно понимать, указанные ограничения не настраиваются через настройки PHP в php.ini.

      В нормальной ситуации такая ошибка и её причина фиксируется в логах сервера. Вам необходимо обратиться к хостеру с просьбой указать, что является причиной возникновения ошибки и попросить её устранить (например, увеличить ресурсы). Если хостер не смог найти решение - обратитесь в техподдержку компании «1С-Битрикс» с точным указанием того, как ошибка происходит и какие причины указал хостер. Без указания причины ошибки техподдержка помочь вам не сможет.



      Основы администрирования

      В этой главе мы рассмотрим основные принципы администрирования проекта, созданного на базе «1С-Битрикс: Управление сайтом». А также познакомимся с использованием основных возможностей базовых модулей системы: Главного и Управление структурой.

      Первые три главы - продолжение тем курса Контент-менеджер. В них рассказываются моменты работы с системой для администратора сайта по вопросам, в целом, относящихся к ведению контент-менеджера.

      Дополнительно администратору рекомендуется ознакомиться с информацией о Мониторе производительности и о способах конфигурирования веб-систем для оптимальной работы.

      Настройка главного модуля

      Главный модуль задаёт параметры работы системы в целом. Форма настройки находится на странице Настройки > Настройки продукта > Настройки модулей > Главный модуль

      Нажмите на рисунок, чтобы увеличить

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

      • собственно модуля,
      • параметров авторизации,
      • журнала событий,
      • системы обновлений,
      • доступа

      Значение каждого поля прописано в документации. Здесь поясним несколько моментов, которые забываются администраторами.


      На закладке Настройки рекомендуется:

      • установить ограничения на размер отправляемых по почте файлов,
      • установить ограничения общего дискового пространства,
      • установить ограничения на профайл пользователя, чтобы пользователь не испортил дизайн какой-то большой аватаркой,
      • настроить каким группам пользователей показывать панель управления.

      Закладка Авторизация определяет условия и безопасность авторизации пользователей в системе.


      С закладкой Журнал событий всё просто: выбираете сколько дней хранить события и какие именно события хранить в логе (Настройки > Инструменты > Журнал событий).


      На закладке Система обновлений обратите внимание на поле Установка для разработки. При её включении на сайте проводится тестирование без закрытия публичного доступа к сайту или без установки продукта локально. Этот функционал также поможет решить проблему коллективного доступа к одной установке продукта.

      Рекомендуется к использованию опция Усиленная проверка корректности установки обновлений. При копировании файлов из промежуточной папки /updates/ в папки модулей будет выполняться проверка контрольной суммы. Если полученная контрольная сумма не соответствует исходной, то выводится сообщение о некорректной установке обновлений.

      Загружать только стабильные обновления - эта опция для тех, кто любит рисковать. При её выключении на сайт будут устанавливаться обновления в статусе beta. Вы будете получать новый функционал до перевода в стабильный статус, но рискуете получить нерабочую систему, если тестировщики "1С-Битрикс" пропустили какой-то баг.


      Настройка доступа к модулю производится обычным способом: выбор группы пользователей и указание уровня прав для неё.


      Элементы управления

      В главе освещаются моменты работы с интерфейсом программы, не затронутые в курсе Контент-менеджер. Часть функций системы на данный момент ее развития нельзя выполнить через Публичный раздел. В этом случае приходится обращаться к Административному разделу и функциям, которые должен выполнять администратор сайта.

      Многоязычность

      В процессе развития проекта достаточно часто встает задача создания иноязычной копии сайта. Система 1С-Битрикс: Управление сайтом позволяет представлять информационное наполнение сайтов на различных языках:

      • создавать неограниченное число сайтов на разных языках. Например, на русском, английском или немецком языке.

        Нажмите на рисунок, чтобы увеличить   Нажмите на рисунок, чтобы увеличить  

        Выбор и настройка параметров языка публичного раздела выполняется отдельно для каждого сайта в форме создания и редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов):

        Параметры

        Настройка параметров языка в Эрмитаже v.9.5

        Примечание: Дополнительно в Региональных настройках можно определить формат показа даты и времени для используемого на сайте языка.

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

        Примечание: Использование различных сайтов для представления информации на разных языках позволяет осуществлять более гибкое управление контентом сайта. Например, настраивать формат показа даты, валют и т.д. Для отдельных сайтов можно эффективно анализировать статистику, управлять валютами, разграничивать доступ к заказам Интернет-магазина. 

        Однако прежде чем создавать несколько сайтов для каждого из языков, следует предварительно проанализировать, какая именно информация должна быть представлена на различных языках и какие действия с объектами сайта предполагается производить. Например, будет ли необходимо анализировать статистику посещений раздельно по языковым разделам, потребуется ли разделять валюты для различных языков, права на заказы, созданные в различных языковых разделах, есть ли необходимость гибко позиционировать рекламу или веб-формы на сайте.

        Если информационное наполнение будет представлено в основном статическими страницами и новостными блоками или каталогом, то для реализации такой модели можно просто разделить контент по соответствующим разделам на сервере, например для каждого языка выделить свою директорию. Аналогичным образом могут быть созданы отдельные информационные блоки для различных языков или заведены веб-формы.

        Соответственно в различных языковых разделах сайта могут быть представлены свои новостные блоки и каталоги. Для этого достаточно выбрать информационный блок в настройках компонентов.

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

      Примечание: Необходимо различать языковые настройки для публичной и административной части сайта. Подробнее про настройки языка интерфейса административной части сайта будет рассказано в главе Управление интерфейсом.


      Шаблоны дизайна

      Отображение страниц в публичном разделе сайта выполняется на основе шаблонов дизайна сайта.

      Шаблон дизайна - это внешний вид сайта, в котором определяется расположение различных элементов на сайте, художественный стиль и способ отображения страниц. Включает в себя программный html-код, графические элементы, таблицы стилей, дополнительные файлы для отображения контента. Может так же включать в себя шаблоны компонентов, шаблоны готовых страниц и сниппеты.

      Количество используемых на сайте шаблонов дизайна не ограничено. Для каждого шаблона определяется условие, при котором данный шаблон будет применяться к страницам сайта. Например, шаблон может быть применен:

      • ко всем страницам сайта в качестве шаблона по умолчанию;
      • к страницам отдельного раздела сайта;
      • к определенной странице сайта;
      • при отображении страниц для определенной группы пользователей;
      • при отображении версии страницы для печати;
      • и т.п.

      Настройка условий применения того или иного шаблона определяется отдельно для каждого сайта (в форме создания и редактирования сайта: Настройки > Настройки продукта > Сайты > Список сайтов).

      Нажмите на рисунок, чтобы увеличить

      Примечание: Детальное описание полей формы подробно рассмотрено на странице пользовательской документации Создание и редактирование сайта.

      В области Шаблон сайта по умолчанию есть только несколько строк для назначения шаблонов. Дополнительные строки для шаблонов появятся после заполнения этих первоначальных строк.

      Внимание! При настройке условий применения шаблонов обязательно указывайте индекс сортировки. Порядок применения шаблонов к сайту определяется в соответствии с указанной сортировкой. Если для страницы (раздела) может быть применено несколько шаблонов, то в итоге будет применен шаблон с меньшей сортировкой. Если индекс сортировки задан не будет, то может быть применен неверный шаблон.

      Общее правило сортировки при назначении шаблонов подобно перевернутой воронке:

      • первыми должны идти условия частного характера;
      • потом условия выборки;
      • потом все остальное.

      Примечание: Условие может содержать любой программный код на языке PHP, в том числе вызовы API-функций продукта.


      Ссылки по теме:

      Горячие клавиши

      Пользователям проектов на Bitrix Framework доступен инструмент Горячие клавиши. Система допускает не только использование, но и задание новых клавиш.

      Управление горячими клавишами производится на странице Настройки > Настройки продукта > Интерфейс > Горячие клавиши:

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

      Для создания горячей клавиши необходимо заполнить как минимум два поля:

      • Наименование - выводится у пользователей в окне настроек горячих клавиш;
      • Выполняемый JavaScript код - код, вызывающий нужное действие.

      Примечание: Описание других полей смотрите в документации.

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

      http://127.0.0.1:84/bitrix/admin/hot_keys_list.php

      или

      /bitrix/admin/

      По умолчанию горячие клавиши можно назначать на действия, выполняемые через основные кнопки публичной части Эрмитажа и Административной панели.

      Примечание: Допускается назначение одинакового комплекта горячих клавиш на действия на разных страницах.

      Пример

      Можно назначить по горячей клавише переход в наиболее часто используемый раздел. Код JavaScript для открытия страницы Настройки > Настройки продукта > Интерфейс > Горячие клавиши Административного раздела будет выглядеть так:

      location.href='/bitrix/admin/hot_keys_list.php';


      Установка решения с помощью мастера

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

      Список всех мастеров представлен на странице Список мастеров (Настройки > Настройки продукта > Список мастеров).

      Список мастеров

      Большая часть из этих мастеров предназначена как раз для смены решения.


      Для того чтобы сменить решение:

      в публичной части сайта
      • Нажмите кнопку Протестировать новое решение

        Кнопка "Протестировать новое решение"

        после чего откроется страница выбора решения для установки.

      • Выберите подходящее решение и пройдите все шаги мастера.
      в административной части сайта
      • Перейдите на страницу Список мастеров (Настройки > Настройки продукта > Список мастеров).
      • Для запуска необходимого мастера выберите пункт Установить в меню действий, после чего откроется страница мастера настройки решения.

      Примечание: Внешний вид и количество шагов может различаться, в зависимости от предназначения мастера.

      Мастера установки решений подробно рассмотрены в курсе Установка и настройка начиная с главы Мастер создания сайта для разработчиков.

      Внимание! Система допускает тестирование нескольких решений. При этом для каждого решения создаются новые сайты. Данные старых решений не удаляются, но если число сайтов превышает число сайтов, разрешенных по умолчанию (2 сайта), то данные более ранних решений становятся неактивными.

      Дополнительная информация


      Информация на сайте и работа с ней

      Все действия по работе с информацией на сайте, которые делаются из Публичной части можно выполнять и в Административной части. Непосредственные действия по созданию, редактированию контента - типовые в обоих случаях. В этой главе рассказывается о различиях в выполнении работ по управлению содержимым сайта.

      Замечание по Коротким ссылкам

      Функционал Коротких ссылок имеет ограничение в использовании. Короткие ссылки могут не работать, если на главной странице сайта используется какой-либо комплексный компонент.

      Создание и редактирование новых страниц и разделов

      Создание страниц и разделов

      Создание страниц или разделов доступно как с Публичной, так и с Административной части.

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

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

      Создание страниц и разделов в Эрмитаже v.9.5

      Откроются формы для создания новой папки или файла. При создании файла откроется тот вид редактора, который задан в настройках модуля Управление структурой. Создание страниц всегда открывается в визуальном редакторе.

      Эти формы не отличаются от форм Публичного раздела по составу полей, но отличаются по порядку следования. В Административном разделе форма разбита на закладки:

      • Закладка Редактирование - собственно редактор;

        1 - панель инструментов визуального редактора.

        2 - панель переключения режимов редактирования.

        3 - рабочая область.

        4 - панели задач.

        5 - панель отображения свойств объектов.

        Здесь же вы должны выбрать шаблон страницы, указать ее заголовок и выбрать название для файла, в котором данная страница будет сохранена.

      • Закладка Свойства предназначена для ввода и редактирования значений свойств страницы, например, для управления значениями тегов META: ключевыми словами (keywords) и описанием (description) страницы. Свойства, заданные в полях этой формы, будут использованы только для редактируемой страницы.
      • Закладка Меню содержит форму, которая позволяет в меню текущего раздела сайта (т.е. раздела, в котором создается страница) добавить пункт, ссылающийся на созданную страницу.

      Редактирование страниц и разделов

      Для того, чтобы перейти из Публичного раздела к редактированию текущей страницы (раздела) в Административном разделе, выберите в меню Изменить страницу пункт В панели управления.

      В самом Административном разделе переход к редактированию страницы осуществляется из Менеджера файлов:


      Для режимов правки файлов Редактировать как текст и Редактировать как PHP доступен режим редактирования кода с нумерацией строк и подсветкой синтаксиса.

      Для его включения необходимо в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой) отметить опцию Использовать редактор кода с подсветкой синтаксиса.

      Дополнительная информация

      Управление свойствами страниц и разделов

      Управление свойствами страницы

      Управление свойствами в Административном разделе осуществляется в форме:

      Эта форма находится:
      • при создании либо редактировании страницы в текстовом режиме в Свойствах страницы:
      • при создании либо редактировании страницы в режиме HTML-редактора на закладке Свойства страницы:

      Управление свойствами раздела в Административном разделе

      Управление производится с помощью пункта Свойства папки в контекстном меню папки, либо из контекстной панели, меню Дополнительно:

      Откроется окно настроек свойств каталога

      Создание типов свойств

      Перед тем, как приступать к управлению значениями свойств страниц, нужно создать необходимые типы свойств. Создание типов свойств выполняется на странице настроек модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой):

      Типы для каждого сайта

      • в поле Тип указывается тип (символьный идентификатор) создаваемого свойства. Тип свойства указывается латинскими символами и служит для проверки или использования значения свойства в коде продукта;
      • в поле Название указывается произвольное название свойства. Отображается пользователям в форме настройки свойств страниц или разделов сайта.
      Примечание: Типы свойств могут быть заданы отдельно для каждого сайта.

      Для этого:

      • Отметьте опцию Использовать индивидуальные настройки для каждого сайта;
      • В списке Настройки для сайта выберите желаемый сайт;
      • Заполните поля Типы свойств.
      • Типы для каждого сайта


      Дополнительная информация

      Управление правами доступа

      Управление правами доступа возможно как с публичной, так и с административной части. Управление с публичной части имеет больше возможностей, так как позволяет задать права доступа не только для групп пользователей, но и для групп соцсети, конкретных пользователей, по структуре компании.

      Задание прав доступа с Публичной части

      Задание прав с публичной части описано в курсе Контент-менеджер.

      Задание прав доступа с Административной части

      Управление доступом к разделу

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

      И в открывшейся форме на закладке Доступ указать доступ для групп пользователей.

      В рамках физической структуры можно воспользоваться еще и контекстным меню папки:

      Управление доступом к странице

      Управление доступом к странице возможно только в рамках физической структуры сайта через контекстное меню, команда Права на доступ продукта (см. иллюстрацию выше).

      В рамках физической структуры можно изменять права в групповом режиме:

      Подробнее про управление правами доступа к файлам смотрите в главе Управление доступом, урок Управление доступом к папкам и файлам.

      Дополнительная информация

      Загрузка и поиск файлов

      Для загрузки файлов перейдите с помощью Менеджера файлов в папку, в которую нужно загрузить файл

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

      После чего откроется сама форма загрузки файлов:

      Форма "Загрузка файлов"

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

      Примечание: По умолчанию в настройках системы установлено ограничение на размер загружаемого файла в 2 мегабайта. Если есть необходимость изменить это ограничение, то это можно сделать в файле php.ini в параметре upload_max_filesize.

      Примечание! Система поддерживает использование файлов с именами как на латинице, так и на кириллице, без ограничений по регистру. Недопустимо только использование спецсимволов: \ / ? * < > " '.

      Поиск файлов

      В рамках файловой структуры есть механизм поиска файлов, размещающийся на контекстной панели в виде кнопки Поиск. Нажатие на эту кнопку открывает окно поиска:

      Поиск ищет как по имени, так и по содержимому. Ограничения можно наложить следующие:

      • По папке или сайту
      • Дате изменения;
      • Размеру файла;
      • Регистру.

      Кнопка Подсчёт покажет общее число файлов, удовлетворяющих указанным условиям поиска.

      С помощью поиска можно произвести замену слова или фразу в файле. Для этого воспользуйтесь закладкой Замена.

      Расширенный режим настройки меню

      При ограничении доступа к разделу пользователь не видит содержания раздела (страницы). Но сам пункт меню все же будет виден, и это не всегда хорошо. Система позволяет скрывать пункт меню в зависимости от различных условий. Установку таких условий можно производить только в Административном разделе хоть в рамках логической, хоть в рамках физической структуры. Ниже будет описан пример для логической структуры с ограничением доступа по пользователям (как самый частый вариант). Для такого ограничения доступа:

      • Перейдите в Административной части в раздел, в котором нам нужно скрыть нужный пункт меню.
      • Найдите в списке файлов файл нужного меню: Меню типа ****. В колонке действий выберите Редактировать меню. Откроется форма редактирования меню в упрощенном режиме.

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

      • Щелкните кнопкой мыши на пункте Расширенный режим на контекстной панели формы редактирования меню.

        Форма перейдет в расширенный режим:

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

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

      • В поле Тип условия выберите Для групп пользователей. Форма перезагрузится, и откроются поля ограничения доступа по пользовательским группам.
      • Выберите группу пользователей. Ограничение доступа работает по разрешительному принципу. Иными словами, пункт меню будет виден для тех групп, которые выбраны в этом поле.
      • Сохраните внесенные изменения.

      По аналогичному принципу можно ограничить доступ к пунктам меню по другим типам условий.

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


      Шаблонизация контента статических страниц

      На проектах с большим содержанием статических страниц возникает задача оптимизации труда контент-менеджеров. Решить эту задачу можно с помощью создания шаблонов страниц.

      Есть несколько вариантов шаблонизации контента статики:

    • Использование сниппетов
    • Пассивный шаблон
    • Активный шаблон

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

      Самый простой способ шаблонизации, доступный и самим контент-менеджерам. Работа со сниппетами описана в курсе Контент-менеджер.

      Сниппеты рекомендуется хранить в папке \bitrix\templates\_ваш шаблон_\snippets\, хотя они могут располагаться и в шаблоне по умолчанию.


      Пассивный шаблон

      Пассивный шаблон - это простой файл, который хранит контент, вставляемый на вновь создаваемую страницу. Они хранятся в шаблоне сайта: \bitrix\templates\_ваш_шаблон_\page_templates\_имя_шаблона_.php

      Для создания шаблона:

      • Создайте в папке \bitrix\templates\_ваш_шаблон_\page_templates\ файл, например, new.php. Пример содержимого файла (Вызов файлов header.php и footer.php - обязательны!):
        <?
        require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
        $APPLICATION->SetTitle("Title");
        ?>
        
        

        Контент-менеджер! Наполни страницу содержанием!

        <p><img src="/132.png" /></p> <table cellspacing=0 cellpadding=0> <tbody> <tr bgcolor="white"> <td bgcolor="#8C8C8C"> <table cellspacing="1" cellpadding="5"> <tbody> <tr bgcolor="silver"><td colspan="2"><b></b> </td></tr> <tr bgcolor="white"> <td><b></b></td> <td></td> </tr> <tr bgcolor="#EEEEEE"> <td><b></b></td> <td></td> </tr> </tbody> </table> </td></tr> </tbody> </table> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
      • В файле \bitrix\templates\_ваш_шаблон_\page_templates\.content.php пропишите ваш новый файл шаблона:
        use Bitrix\Main\Localization\Loc;
        Loc::loadMessages(__FILE__);
        $TEMPLATE["new.php"] = Array("name"=>Loc::getMessage("new"), "sort"=>4);
        Код на старом АПИ:
      • В файле \bitrix\templates\_ваш_шаблон_\lang\ru\page_templates\.content.php пропишите название вашего шаблона:
        $MESS['new'] = "Новый шаблон";

      После этих действий контент менеджер получит возможность использовать новый шаблон при создании страниц:

      Примечание: Создание нового шаблона требуется достаточно редко. В большинстве случаев можно просто отредактировать штатный шаблон standard.


      Активный шаблон

      В системе возможно использование активных шаблонов. Активный шаблон - это шаблон, который при создании страницы (раздела) запрашивает дополнительные данные:

      Пример активного шаблона размещён в виде папки \bitrix\templates\.default\page_templates\forum в дефолтном шаблоне дистрибутива "1С-Битрикс: Управление сайтом".

      В файле \bitrix\templates\.default\page_templates\forum\template.php можно посмотреть пример оформления шаблона и создать по его образцу собственный.


      Настройки модуля Управление структурой

      Модуль Управление структурой настраивается в Административной части на странице Настройки > Настройки продукта > Настройки модулей > Управление структурой

      Нажмите на рисунок, чтобы увеличить

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

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

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

      Группа параметров Настройки для сайта определяет использование индивидуальных настроек для каждого из сайтов. Чуть ниже расположены параметры поиска и архивации. Задайте размер файлов для поиска, количество файлов в результатах поиска, а так же маску поиска по умолчанию. В соответствующих полях задается время одного шага для поиска и архивации.

      Вкладка Визуальный редактор определяет поведение и внешний вид визуального редактора. Подробнее о настройке визуального редактора читайте в уроке.

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

      На вкладке Доступ распределяются права доступа к модулю для групп пользователей.

      Подробнее о настройке модуля читайте в пользовательской документации.


      Визуальный редактор

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

      Подключение редактора

      Для того чтобы редактором страниц по умолчанию был визуальный HTML-редактор, необходимо его выбрать в настройках модуля Управление структурой.

      Внимание! Все пользователи, которые хоть что-то должны изменять в Публичной части сайта, должны иметь доступ на чтение к папке Контент/Структура сайта/bitrix/admin. Это папка, в которой расположен визуальный HTML-редактор. Без этого редактирование будет возможно только в текстовом режиме.

      Визуальный редактор в модулях системы

      Подключение визуального редактора в модуле Управление структурой дает общее разрешение на его использование. Но для разных модулей использование визуального редактора можно настроить по отдельности в настройках модулей. Это можно сделать в настройках модулей:

      • Информационные блоки;
      • Веб-формы;
      • Обучение;
      • Опросы, голосования;
      • Подписка, рассылки
      • и другие.

      Например, так подключается визуальный редактор в настройках модуля Информационные блоки:


      Настройка визуального редактора

      Системные настройки визуального редактора производятся в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой) на закладке Визуальный редактор.

      Настройка элемента BODY и выбора редактора

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

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

      Настройки стилей и полноэкранного режима в старом редакторе (для ознакомления)

      Настройки преобразования содержимого

      При отмеченной опции система автоматически будет заменять переводы строки при работе в режимах "Текст" и "Визуальный редактор" на тег <br>, используемый в режиме "HTML".

      Настройки преобразования содержимого в старых версиях

      Настройки системы проверки орфографии

      Визуальный редактор предоставляет возможность проверки орфографии введенного текста только с помощью pSpell (проверка производится в браузере, при условии если pSpell установлен на сервере).

      Для того, чтобы визуальный редактор мог использовать это расширение , его надо подключить. Для этого нужно зайти в Настройки > Настройки модулей > Управление структурой > Визуальный редактор.

      Настройка проверки орфографии в старых версиях редактора (для ознакомления)

      Дополнительная информация


      Настройки отображения компонентов

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

      Эту возможность администратор сайта может ограничить. Для этого:

      • Перейдите на страницу настроек модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой).
      • Заполните поле Разрешенные компоненты.

      Ограничение работает так: если в поле нет ни одного компонента, то разрешено все. Если в него добавлен хотя бы один компонент, то будет разрешен только он, все остальные запрещены. Иными словами, если необходимо запретить доступ к единственному компоненту, в это поле нужно вносить все которые нужно разрешить. При добавлении компонентов можно использовать маски вида: news.*. Все компоненты, попадающие под эту маску, будут разрешены к использованию. Каждое название компонента или регулярное выражение вводится с новой строки.

      Для пользователей этот запрет внешне отобразится в том, что в визуальном редакторе при вызове панели Компоненты будут видны только разрешенные компоненты.

      Поле работает только с системными компонентами, то есть компонентами из пространства имен bitrix. Если ваш компонент размещен не в папке www\bitrix\components\... (в структуре папок на веб-сервере), то они будут проигнорированы.

      После ввода разрешенных компонентов для всех пользователей, в том числе и для администратора сайта, при редактировании страниц и сохранении изменений все неразрешенные компоненты будут удалены со страницы.

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

      Краткая информация по компоненту


      Сниппеты в визуальном редакторе

      Работа со сниппетами подробно рассмотрена в уроке Внешний вид редактора курса Контент-менеджер.

      Физически сниппеты хранятся в папке /snippets/ соответствующего шаблона либо в шаблоне по умолчанию (.default), которая обычно содержит:

      • Файл .content.php - перечисление всех созданных сниппетов в данном шаблоне. И для каждого из сниппетов хранится заголовок (title) и описание (description).
        <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
        <?
        $SNIPPETS = Array();
        $SNIPPETS["snippet0001.snp"] = Array("title"=>"Таблица", "description"=>"");
        ?>
      • Файл .htaccess - настройки прав доступа к сниппетам;
      • Коды самих сниппетов (файлы *.snp). Они могут храниться в подгруппах.
      • Изображение для сниппета, хранится в подкаталоге /snippets/images/ и далее директория, дублирующая расположение самого сниппета. Имя изображения совпадает с именем сниппета. Например, сниппет расположен в папке /test1/table.snp. Тогда изображение к нему будет располагаться в папке /images/test1/table.png (или другое расширение изображения).

      Работа с визуальным редактором

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

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

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

      • Просмотр файла - просмотр свойств страницы и содержимого в виде PHP-кода
      • Редактирование кода - можно отредактировать страницу как текст, PHP-код или HTML-код
      • Переименовать - переименовать страницу
      • Скачать файл - скачать страницы в виде PHP-файла
      • Удалить файл - удалить страницу

      • Обратите внимание, что данная панель отображается именно при редактировании страниц. При создании страницы присутствует только кнопка Редактировать.

        Создание новой страницы

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

        При создании страницы первым делом нужно выбрать шаблон страницы, указать ее заголовок и выбрать название для файла, в котором данная страница будет сохранена.

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

        Подключать шаблон дизайна ко вновь создаваемой странице не нужно. Это уже сделано в системе. Вы редактируете только внутреннюю ее часть.

        Шаблоны для создания Включаемой области для страницы или Включаемой области для раздела выглядят одинаково, т.е. внешний вид редактора при создании включаемых областей будет иметь вид:

        Примечание: В продукте включаемая область для раздела имеет название sect_inc.php

        Включаемая область для страницы имеет имя [название_страницы]_inc.php. Например, для страницы index.php включаемая область имеет название index_inc.php

        Свойства страницы

        Форма позволяет изменить значения имеющихся свойств и добавить новые. Заданные здесь свойства будут применяться только к текущей странице.

        Меню

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

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

        Работа с панелью "Управление и настройка" (для ознакомления)

        Внимание! Использование визуального редактора для редактирования шаблона сайта недоступно, начиная с версии 14.0.


      Работа с php-скриптом

      Примечание: Правом на работу с произвольным php-скриптом обладает только администратор сайта.

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

      Внимание! Есть некоторые тонкости при прерывании html-кода php-скриптом.

      Например, можно писать так:
       <a href="<? echo 'www.oursite.ru';?>" title="Посетите сайт">OurSite</a>
      Аналогично, и с рисунками (тег img).

      Перечислим атрибуты, которые обрабатываются для ссылок, рисунков и аудио:
      для тега <a> атрибуты: href, title, class, style
      для тега <img> атрибуты: src, alt, class, style
      для тега <audio> атрибуты: src, autoplay, control, loop, preload
      Т.е. вместо этих атрибутов можно вставлять <? ...... ?>

      Код таблицы тоже можно прерывать php-скриптом:
       <table >
      <? ........ ?>
      <tr>
      <? ........ ?>
      <td>
      </td>
      <? ........ ?>
      </tr>
      <? ........ ?>
      </table>

      Важно то, что визуальный редактор не показывает php-код в начале и в конце страницы. Например, строки в начале кода главной страницы не будут показаны при редактировании этой страницы с помощью визуального редактора:

      <?
      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
      $APPLICATION->SetPageProperty("title", "Демонстрационная версия продукта «1С-Битрикс: Управление сайтом 6.0»");
      $APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
      $APPLICATION->SetTitle("Новости интернет-магазина");
      ?>

      Код, вызывающий файл footer.php, тоже не будет показан в HTML-редакторе:

      <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


      Управление сайтами

      Сайт в рамках "1С-Битрикс: Управление сайтом" - это совокупность таких понятий как:
      • учетная запись в базе данных - создаётся в административном меню "Сайты", включает в себя следующие основные параметры:
        • идентификатор - набор символов идентифицирующий сайт
        • доменное имя - одно или более доменное имя сайта
        • папка сайта - путь к каталогу в котором будет храниться публичная часть сайта
        • язык сайта
        • формат даты
        • формат времени
        • URL - протокол и доменное имя по умолчанию (например, http://www.site.ru)
        • DocumentRoot - если многосайтовость организована по способу 2 (см. ниже), то в данном параметре должен храниться путь в файловой системе сервера к корню сайта
        • условия подключения шаблонов - каждый сайт может иметь один или более шаблонов для отображения скриптов своей публичной части, каждый такой шаблон может быть подключен по тому или иному условию
      • публичная часть - совокупность скриптов (страниц) лежащих в "папке сайта" и принадлежащих этому сайту
      • настройки - каждый модуль может иметь ряд настроек связанных с сайтом, например, у модуля "Информационные блоки" эти настройки представляют из себя привязку информационного блока к тому или иному сайту, у модуля "Техподдержка" - привязку статуса, категории и т.п. к сайту.

      Важной особенностью системы «1C-Битрикс: Управление сайтом» является поддержка многосайтовости, что позволяет создать несколько сайтов на одной копии продукта (при этом, в соответствии с условиями лицензионного соглашения, все сайты должны работать с использованием одной базы данных и единого ядра продукта). Каждый сайт может характеризоваться собственным доменным именем, внешним видом, языком интерфейса и информационным наполнением.

      Технически существуют два способа настройки многосайтовости системы:

      1. Многосайтовость на одном домене. Продукт и все сайты работают под управлением одной копии веб-сервера Apache. В данном способе конфигурации каждый сайт должен быть размещен в отдельном подкаталоге внутри единого каталога, например:
        • /home/www/allsites/s1/
        • /home/www/allsites/s2/
      2. Многосайтовость на разных доменах. Каждый сайт работает под управлением отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера. Данный способ требует дополнительной настройки сервера.

      Примечание: Подробное описание предложенных способов настройки приводится в главе Конфигурирование многосайтовости учебного курса Многосайтовость.

      Примечание: Если возникла необходимость удалить сайт, то помните, что это действие не происходит автоматически. Чтобы это сделать, вы должны удалить все инфоблоки и другие объекты системы, связанные с вашим сайтом.

      Дополнительная информация

      Управление сайтами в административном разделе

      Управление сайтами осуществляется из административного раздела системы на странице Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов):

      Список сайтов

      Каждый сайт, работающий под управлением системы, представляется в виде отдельной записи.

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

      Примечание: Описание значений полей формы смотрите в пользовательской документации.

      Перейти к редактированию параметров сайта можно с помощью пункта Изменить в контекстном меню записи.

      Внимание! Если возникла необходимость удалить сайт, то надо помнить, что это действие не происходит автоматически. Чтобы это сделать вам нужно удалить все инфоблоки и другие объекты системы, связанные с этим сайтом.

      Пример создания сайта

      • Перейдите в Административный раздел на страницу Настройки > Настройки продукта > Сайты. В Рабочей области откроется Список сайтов.
      • Выполните команду Добавить сайт на Контекстной панели. В Рабочей области откроется форма Добавление сайта.
      • Заполните поля:
        • ID – поставьте произвольный двузначный код (только латинскими буквами и цифрами);
        • Поставьте флажок Активен;
        • Введите название сайта, каким оно будет отображаться в Административной части. Название сайта не обязательно должно быть на латинице, вы можете дать название и на русском языке.
        • Установите флажок По умолчанию.
        • Доменное имя - введите доменное имя (имена), которое будет у вашего сайта. (Если его еще нет, то поле можно оставить пустым.)
        • Папка сайта - поставьте просто /.
        • Сортировка - можно ввести любое численное значение.
        • В поле Язык определяется то, на каком языке будут выводиться системные сообщения в Административной части.
        • Региональные настройки - указание системе как отображать параметры времени, даты и другие в соответствии с культурными особенностями региона, на который рассчитан сайт.
        • Выбирать кодировку сайта нужно внимательно, после анализа многих факторов.

          Примечание: Иногда для указания кодировки используют упрощенное название win-1251. В нашем случае это не допустимо, так как может вызвать ошибку, связанную с некорректным названием кодировки.

        • Название веб-сайта - каким оно будет отображаться для пользователей.
        • URL сервера введите адрес сайта (localhost - для локальной установки).
        • E-Mail адрес по умолчанию введите адрес, который будет использоваться в системных сообщениях, например, во всех почтовых шаблонах в качестве адреса отправителя.
      • Шаблон - любой из имеющихся. Это поле обязательно для заполнения, если шаблона нет, его нужно создать.
      • Сохраните вновь созданный сайт. Форма создания сайта закроется, откроется список имеющихся сайтов, в котором отобразится созданный сайт.

      Представление сайта в публичном разделе

      Представление сайта в публичном разделе определяется следующими параметрами:

      • доменным именем;
      • языком интерфейса;
      • региональными настройками - форматом представления национальных символов (даты, времени, валют и т.д.);
      • внешним видом;
      • информационным наполнением (контентом).

      Все перечисленные параметры (за исключением контента и валюты), определяются в форме создания/редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов).

      Форма создания/редактирования сайта

      Доменное имя

      Доменное имя сайта задается в поле Доменное имя секции Параметры для определения сайта в публичном разделе. Для каждого сайта может быть указано одно или несколько доменных имен. Начиная с 11-ой версии возможно использование кириллических доменных имен.

      Региональные настройки и язык публичной части

      Настройка параметров языка для публичного раздела выполняется отдельно для каждого сайта. В секции Региональные настройки формы редактирования сайта выбирается язык представления информации в публичном разделе (сообщения программных компонентов, сообщения об ошибках и т.п.), а также Региональные настройки:

      Параметры

      Параметры сайта

      Дополнительные параметры:

      • название веб-сайта;
      • адрес (URL) сервера - используется в почтовых сообщениях;
      • E-Mail адрес по умолчанию - этот адрес будет проставляться по умолчанию во всех сообщениях, отправляемых с сайта. Если иной адрес не был указан в настройках модулей или шаблонов, производящих такие отправления. Если вы не заполните это поле и не заполните аналогичные поля в других настройках, сообщения уходить не будут.

      Формат валюты

      Система «1C-Битрикс: Управление сайтом» позволяет настроить формат валюты отдельно для каждого языка, используемого в системе. Таким образом, формат представления валюты в публичном разделе сайта зависит от языка, выбранного для этого сайта.

      Управление валютами, используемыми в системе, осуществляется на странице Валюты (Настройки > Валюты > Список валют):

      Внешнее представление сайта

      Внешний вид страниц сайта формируется на основе шаблона дизайна.

      В шаблоне сайта определяется:

      • дизайн страниц;
      • типы используемых меню и место их подключения;
      • место вывода навигационной цепочки;
      • расположение рекламных областей на страницах сайта;
      • размещение редактируемых и включаемых областей.

      Использование шаблонов открывает широкие возможности для настройки внешнего вида сайта и изменения его дизайна в зависимости от различных условий. Продукт позволяет:

      • гибко настроить дизайн для различных разделов сайта;
      • использовать специальный праздничный дизайн в течение определенного времени;
      • применять отдельные шаблоны дизайна для различных групп посетителей сайта;
      • применять отдельные шаблоны дизайна в зависимости от определенного параметра в адресной строке;
      • и т.п.

      Для каждого сайта может быть назначено неограниченное количество шаблонов.

      Примечание: Более подробная информация об управлении шаблонами сайта представлена в главе Интеграция учебного курса Разработчик Bitrix Framework и в пользовательской документации продукта.

      Выбор шаблонов дизайна сайта и настройка условий их применения к страницам выполняется в секции Шаблон формы редактирования сайта:

      Примечание: Чтобы шаблон применялся к страницам сайта по умолчанию, поле Условие нужно оставить незаполненным.

      Контент сайта

      Для управления разделами и страницами сайта, а также файлами, используемыми на сайте, служит модуль Управление структурой. Интерфейс модуля Управление структурой разработан в виде Менеджера файлов.

      Менеджер файлов позволяет управлять файловой структурой на логическом и физическом уровнях:

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

        Логическая структура в Эрмитаже v.9.5

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

      • Пункт Файлы и папки позволяет отобразить всю файловую структуру системы (включая системные файлы и папки) и перейти к ее управлению.

        Файловая структура в Эрмитаже v.9.5

        Примечание: Более подробная информация по управлению структурой сайта представлена в разделе Управление структурой курса Контент-менеджер.

      Переключение между сайтами

      При наличии в системе нескольких сайтов переключение между сайтами в публичном разделе выполняется с использованием специальных ссылок.

      Переключение между сайтами

      Генерация подобных ссылок осуществляется с помощью специального компонента, включенного в шаблон дизайна сайта - Выбор сайта (bitrix:main.site.selector). Данный компонент перечисляет все сайты, созданные на базе данной копии продукта, определяет путь к корневым директориям данных сайтов и выводит ссылки с названиями сайтов в месте, определенном шаблоном дизайна сайта. При этом ссылка с названием текущего (просматриваемого в данный момент) сайта не подсвечивается, т.е. является неактивной.


      Удаление сайтов

      Удаление сайта возможно только из Административного раздела со страницы Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов). Перед удалением сайта необходимо удалить сущности которые имеют отношение к удаляемому сайту. (Или снять привязку с них.)

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

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

      Ошибка при удалении сайта

      Примеры ошибок, возникающих при удалении сайтов
      Ошибка при удалении в CForumNew::OnBeforeLangDelete (forum) Не удалён форум
      Ошибка при удалении в CIBlock::OnBeforeLangDelete (iblock) Не удалены инфоблоки. Привязанные инфоблоки могут находиться в разных типах инфоблоков.
      Ошибка удаления. Возможно есть ссылающиеся объекты. Не удалены сущности, ссылающиеся на удаляемые объекты. Например, при удалении инфоблока, являющегося торговым каталогом не отвязаны инфоблоки, являющиеся торговыми предложениями для удаляемого инфоблока.
      Ошибка при удалении в CSalePersonType::OnBeforeLangDelete (sale) Ошибка связана с наличием типов плательщиков привязанных к сайту.
      В заказах используется тип плательщика с ID=* Не удалены заказы, относящиеся к удаляемым типам плательщиков
      Ошибка при удалении в CRubric::OnBeforeLangDelete (subscribe) Не удалены привязанные к сайту рассылки.

      Список сущностей

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

      • Инфоблоки (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока)
      • Привязку одного инфоблока к другому в качестве торгового предложения. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Торговый каталог)
      • Привязку одного инфоблока к другому в качестве источника для полей Привязка к разделам и Привязка к элементам и других. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Свойства)
      • Карта сайта (Сервисы > Поисковая оптимизация > Настройка sitemap.xml)
      • Группы опросов (Сервисы > Опросы > Группы опросов)
      • Веб-формы (Сервисы > Веб-формы > Настройка форм > Название веб-формы)
      • Выпуски рассылки (Сервисы > Рассылки > Выпуски)
      • Подписчики (Сервисы > Рассылки > Подписчики)
      • Список рассылок (Сервисы > Рассылки > Список рассылок)
      • Баннеры (Сервисы > Реклама > Баннеры)
      • Контракты (Сервисы > Реклама > Контракты)
      • Справочники техподдержки (Сервисы > Техподдержка > Справочники название)
      • Уровни техподдержки (Сервисы > Техподдержка > Уровни поддержки)
      • Темы Социальной сети (Сервисы > Социальная сеть > Темы)
      • Форумы (Сервисы > Форумы > Список форумов)
      • Группы блогов(Сервисы > Блоги > Группы блогов)
      • Учебные курсы (Сервисы > Обучение > Курсы)
      • Привязка Учебной группы к курсу (Сервисы > Обучение > Учебные группы)
      • Почтовые ящики (Сервисы > Почта > Почтовые ящики)
      • Почтовые сервисы (Сервисы > Почта > Почтовые сервисы)
      • Заказы (Магазин > Заказы)
      • Скидки (Магазин > Скидки > Скидки на товар)
      • Правила работы с корзиной (Магазин > Скидки > Правила работы с корзиной)
      • Накопительные скидки (Магазин > Скидки > Накопительные скидки)
      • Склады (Магазин > Складской учет > Склады)
      • Службы доставки (Магазин > Настройки > Службы доставки)
      • Налоги (Магазин > Настройки > Налоги > Список налогов)
      • Типы плательщиков (Магазин > Настройки > Типы плательщиков)
      • Аффилиаты (Магазин > Аффилиаты > Аффилиаты)
      • Планы комиссий (Магазин > Аффилиаты > Планы)
      • Пирамиды (Магазин > Аффилиаты > Пирамида)
      • Правила сортировки (Настройки > Поиск > Правила сортировки)
      • Почтовые шаблоны (Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны)

      Управление пользователями

      В основе управления пользователями в рамках проектов на базе Bitrix Framework лежит принцип разделения уровней прав доступа к ресурсам сайта.

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

      Распределение прав доступа групп пользователей позволяет:

      • управлять доступом к контенту сайта (страницам, каталогам, форумам и т.д.);
      • организовать совместную работу по администрированию сайта;
      • предоставлять сторонним пользователям право самостоятельно выполнять определенные действия на сайте (например, самостоятельно размещать рекламу);
      • организовывать адресную рассылку (рассылку по группам пользователей).

      В программном продукте реализована двухуровневая система разграничения прав доступа:

      • уровень 1: доступ к каталогам и файлам;
      • уровень 2: доступ к модулям системы и логическим операциям в модулях.

      Управление данными уровнями прав выполняется отдельно для соответствующих элементов системы.

      При регистрации в системе пользователь получает личные регистрационные данные (логин и пароль) и приписывается к одной или нескольким группам.

      Если в системе разрешена самостоятельная регистрация, то при регистрации по умолчанию пользователи будут добавляться в группу, указанную в настройках Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль). В дальнейшем администратор может изменить приписку пользователя к группе.

      Примечание: Самостоятельную регистрацию пользователей можно включить при установке портала с помощью соответствующей опции или же после установки в настройках Главного модуля.

      Страница настроек "Главного модуля"

      Самостоятельная регистрация пользователей выполняется с помощью регистрационной формы, размещенной на сайте:

      Форма самостоятельной регистрации пользователей

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

      Предположим, что в системе зарегистрирован пользователь, приписанный к двум группам, например:
      • Редакторы сайта;
      • Партнеры.

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

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

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

      • правом на редактирование всех страниц сайта, кроме страниц партнерского раздела;
      • правом на просмотр страниц партнерского раздела.
      Либо: в системе зарегистрирован пользователь, приписанный к двум группам, например:
      • Сотрудники;
      • Маркетинг и продажи.

      Пользователи группы Сотрудники обладают правом на просмотр страниц сайта, однако, им запрещен доступ к некоторым страницам сайта (например, к разделу Документы - Маркетинг и продажи). По умолчанию, пользователи, не состоящие в этой группе, не будут иметь доступа к порталу.

      Пользователи группы Маркетинг и продажи обладают правом на доступ к соответствующему разделу на странице Документы.

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

      • правом на доступ к порталу;
      • правом на доступ к документам Маркетинг и продажи.

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

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


      Список ссылок по теме:

      Пользователи

      Управление учетными записями пользователей в системе выполняется на странице Список пользователей (Настройки > Пользователи > Список пользователей):

      Нажмите на рисунок, чтобы увеличить

      Для добавления нового пользователя служит кнопка Добавить пользователя, расположенная на контекстной панели.

      Примечание: Если на сайте разрешена самостоятельная регистрация пользователей (настройки Главного модуля), то учетная запись создается автоматически после регистрации пользователя в системе.

      Перейти к редактированию параметров пользователя можно с помощью двойного клика левой кнопкой мыши по записи пользователя либо с помощью пункта Изменить в контекстном меню. С помощью команды Авторизоваться администратор может в один клик выйти из своего аккаунта и открыть форму авторизации под выбранным аккаунтом.

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

      Если по каким-то причинам пароль к администраторскому аккаунту утерян, то его можно восстановить.

      Форма управления учетной записью пользователя имеет следующий вид:

      Примечание: Подробное описание полей формы приводится в пользовательской документации продукта.

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

      Ошибка при удалении пользователя, участвующего в шаблоне задач


      Пропадает авторизация пользователя

      Возможные причины проблемы:

      • Лишние переносы строк (или иные символы) в скриптах конфигурации. Необходимо убедиться, что в коде файлов dbconn.php, init.php и after_connect.php, расположенных в папке bitrix/php_interface, не содержится переносов строк перед "<?" и после "?>".
      • Файлы с сессиями продукта создаются, но PHP не хватает прав, чтобы к ним обратиться. Попробуйте в файле /bitrix/php_interface/dbconn.php закомментировать строку:
        //@umask(~BX_DIR_PERMISSIONS);
      • Установлен лимит времени на бездействие пользователя, при превышении которого сессия удаляется. Вам необходимо в настройках группы пользователя на вкладке Безопасность увеличить значение Время жизни сессии (минут).

        Значение по умолчанию можно изменить в файле php.ini (Bitrix Environment\Apache2\zendserver\etc): параметр session.gc_maxlifetime.

      • Значение параметра Маска сети для привязки сессии в настройках безопасности группы пользователей. Если оно равно, например, 255.255.255.255, то это означает, что при изменении IP пользователя, авторизация будет сброшена.
      • Значение параметра session.cookie_domain в файле php.ini на сервере. Если оно задано - убедитесь, что оно соответствует URL вашего сайта. Если значение параметра session.cookie_domain равно www.site.ru, а Вы обращаетесь к системе по URL site.ru, то в этом случае сессия не будет сохранена, и, соответственно, авторизация не сохранится.

        Для решения проблемы необходимо установить в настройках PHP корректное значение параметра session.cookie_domain.

      • Неверно прописан домен в настройках главного модуля и для сайта отдельно.

        Проверьте значение поля URL сайта на странице административного режима Настройки > Настройки продукта > Настройки модулей > Главный модуль.

        Проверить значение поля URL сервера можно, открыв настройки нужного сайта на странице административного раздела Настройки > Настройки продукта > Сайты > Список сайтов.

        Примечание: также одной из причин может быть некорректное значение в параметрах сайта поля Путь к корневой папке веб-сервера для этого сайта, либо Доменное имя. Доменное имя можно сменить или удалить путем внесения изменений в файл /hosts.

      • При переносе сайта не скопировался файл /.access.php. В данном файле хранятся права групп пользователей к сайту, и если данного файла нет, то для всех пользователей право доступа устанавливается как Запрещен.

        Проблема решается одним из способов:

        • вам надо на странице административного раздела Контент > Структура сайта > Файлы и папки в меню действий корневой папки сайта выбрать пункт Свойства папки и на вкладке Доступ установить для группы Все пользователи (в том числе неавторизованные) право Чтение;
        • в корневую папку сайта загрузить файл .access.php со следующим содержанием:
          <? $PERM["/"]["*"]="R"; ?>
          
      • Если при многосайтовости вас выкидывает на форму авторизации при переходе по публичным страницам сайта, проверьте содержимое файла .access.php на идентичность следующему коду:
        <?
        $PERM["/"]["*"]="R";
        ?>
        
      • Авторизация не учитывается на вашем домене.

        На закладке Авторизация страницы настроек главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль) поставьте галочку в поле Распространять авторизацию на все домены.

      • Проблема может быть в работе сервера (нужна поддержка сессий в php, должна быть указана папка сохранения сессий и права на запись в эту папку).

        Проверьте исправность работы сервера с сессиями с помощью данного скрипта и в случае наличия неполадок обратитесь к администратору сервера.

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



      Группы пользователей

      Управление группами пользователей в системе выполняется на странице Группы пользователей (Настройки > Пользователи > Группы пользователей):

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

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

      Примечание: Подробное описание формы создания и редактирования группы приведено в пользовательской документации продукта.

      В системе существует две обязательные группы пользователей: Все пользователи и Администраторы:

      • по умолчанию к группе Все пользователи относятся все незарегистрированные посетители сайта, обладающие правом только на просмотр публичных страниц сайта (кроме страниц закрытых разделов);
      • к группе Администраторы относятся администраторы сайта, обладающие полным набором прав на доступ к управлению системой (в том числе, доступом к управлению правами других пользователей).
      Параметры данных групп пользователей могут быть изменены (название, описание, уровень прав для группы Все пользователи), но сами группы не могут быть удалены из системы.

      Приписка пользователей к той или иной группе выполняется в форме создания/редактирования группы на закладке Параметры:

      Примечание: Быстрая приписка пользователей к той или иной группе возможна, только если на сервере зарегистрировано не более 50 пользователей. Если число пользователей в группе планируется очень большим, то добавление пользователей удобнее будет делать через страницу списка пользователей (Настройки > Пользователи > Список пользователей), так как на ней есть форма поиска.

      Либо в форме настройки параметров учетной записи пользователя на закладке Группы (Настройки > Пользователи > Список пользователей):

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

      На вкладке Безопасность не рекомендуется изменять настройки без четкого уяснения того что вы делаете. Особенно на действующем сайте, так как она определяет политику безопасности для текущей группы. Чаще всего подвергаются перенастройке поля Время жизни сессии и Максимальное количество компьютеров, на которых может быть одновременно запомнена авторизация.

      При изменении параметра Время жизни сессии нужно искать оптимум между потребностью в постоянном доступе авторизованных пользователей на сайте и производительностью. Не нужно устанавливать большое время сессии. Папка сессий (определяется настройками PHP) будет очень большая, следовательно будет медленный старт сессии. Рекомендуется ставить значение в диапазоне 20-30 минут.

      Поле Максимальное количество компьютеров, на которых может быть одновременно запомнена авторизация имеет смысл менять в том случае, если ваш контент-менеджер может работать одновременно на нескольких компьютерах. Скажем, по роду своей деятельности в организации ему приходится ходить по помещениям и работать с разных компьютеров. В этом случае можно либо уменьшить время жизни сессии, либо добавить число компьютеров в указанном поле. Первое предпочтительнее с точки зрения безопасности.

      На вкладке Доступ можно задать права доступа к модулям системы. Допустим, вам необходимо, чтобы контент-менеджер не имел возможности управлять блогами и форумами, так как для этого предусматривается создание отдельных администраторов. Запретим доступ созданной группе на управление, оставив за ними право на чтение, создание блогов (как обычным пользователям) и просмотр административной части (вдруг из редактора вырастет администратор).

      Пример настройки вкладки Безопасность группы пользователей.


      Пример создания группы Контент-менеджер

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

      • Создать группу пользователей.
        • В настройках доступа модуля Управление структурой установить уровень доступа Редактирование файлов и папок;
        • Для этой группы пользователей установить право Чтение на папку /bitrix/admin/ (чтобы отображались административные страницы);
        • В настройках доступа инфоблока надо ему дать право Изменение, при доступе Чтение инфоблок просто не будет отображаться.
      • Добавить во вновь созданную группу пользователя или пользователей.

      Уровни доступа для стандартных групп пользователей

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

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

      Существуют также две стандартные группы пользователей, не включенные в таблицу. Их права на доступ к модулям совпадают с группой "Все пользователи (в том числе неавторизованные)", за исключением права голосовать за рейтинг и права голосовать за авторитет.

      Модуль, права доступа

      Стандартные группы пользователей

      Администраторы

      Все пользователи (в том числе неавторизованные)

      Зарегистрированные пользователи

      Администраторы интернет-магазина

      Контент-редакторы

      Главный модуль
      Описание прав доступа
      Полный доступДоступ закрытИзменение своего профиляПолный доступ к управлению интернет-магазином и параметрами торгового каталогаИзменение своего профиля
      AD/LDAP (ldap)
      Описание прав доступа
      Полный доступЗакрыт
      Wiki (wiki)
      Описание прав доступа
      Полный доступЧтение страниц
      XMPP сервер (xmpp)
      Описание прав доступа
      Полный доступЗакрыт
      Блоги (blog)
      Описание прав доступа
      Полный доступЧтение блогов
      Валюты (currency)
      Описание прав доступа
      Полный доступЗакрыт
      Веб-аналитика (statistic)
      Описание прав доступа
      Полный доступДоступ закрыт
      Веб-формы (form)
      Описание прав доступа
      Полный доступДоступ закрыт
      Документооборот (workflow)
      Описание прав доступа
      Полный доступДоступ закрыт
      Интернет-магазин (sale)
      Описание прав доступа
      Полный доступДоступ закрытОбработка заказовДоступ закрыт
      Торговый каталог (catalog)
      Описание прав доступа
      Полный доступДоступ закрытРедактирование ценДоступ закрыт
      Контроллер (controller)
      Описание прав доступа
      Полный доступДоступ запрещен
      Монитор производительности (perfmon)
      Описание прав доступа
      Полный доступДоступ закрыт
      Облачные хранилища (clouds)
      Описание прав доступа
      Полный доступДоступ закрыт
      Обучение (learning)
      Описание прав доступа
      Управление правами; редактирование / удаление / создание / привязывание / отвязывание уроков и курсов как в качестве родителя, так и в качестве потомкаПросмотр
      Опросы, голосования (vote)
      Описание прав доступа
      Полный доступЗакрыт
      Перевод (translate)
      Описание прав доступа
      Полный доступЗакрыт
      Подписка, рассылки (subscribe)
      Описание прав доступа
      Полный доступЗакрыт
      Поисковая оптимизация (seo)
      Описание прав доступа
      Полный доступДоступ закрыт
      Почта (mail)
      Описание прав доступа
      Полный доступЗакрыт
      Проактивная защита (security)
      Описание прав доступа
      Полный доступДоступ закрыт
      Реклама, баннеры (advertising)
      Описание прав доступа
      Полный доступ Доступ закрыт
      Социальная сеть (socialnetwork)
      Описание прав доступа
      Полный доступРабота в публичной части
      Техподдержка (support)
      Описание прав доступа
      Полный доступДоступ закрыт
      Управление структурой (fileman)
      Описание прав доступа
      Полный доступДоступ закрыт
      Учет рабочего времени (timeman)
      Описание прав доступа
      Полный доступ
      В соответствии с субординацией:

      сотрудники могут редактировать свой рабочий день;

      руководители могут управлять рабочими днями и отчетами

      Форум (forum)
      Описание прав доступа
      Полный доступ
      Закрыт

      Восстановление пароля администратора

      Для восстановления пароля администратора сохраните следующий скрипт в php-файл c любым именем:

      <?
      require($_SERVER['DOCUMENT_ROOT']."/bitrix/header.php");
      echo $USER->Update(1,array("PASSWORD"=>'Bitrix*123456'));
      echo $USER->LAST_ERROR;
      require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php");
      ?>

      Закачайте через FTP на сайт и откройте его в браузере. После этого у пользователя с ID=1 (по умолчанию - администратор) установится пароль: Bitrix*123456

      После этого авторизуйтесь и в панели управления установите свой пароль.

      Внимание! Обязательно удалите этот файл после восстановления пароля!

      Если доступ для неавторизованных пользователей закрыт, то перед процедурой восстановления пароля надо поправить файл .access.php в корне сайта, заменив:

      $PERM["/"]["*"]="D";
      
      на:
      $PERM["/"]["*"]="R";
      
      А после сброса вернуть изменения назад.

      Импорт пользователей

      Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей.

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

      Перейдите на страницу Импорт пользователей (Настройки > Пользователи > Импорт пользователей). Откроется форма импорта:

      Выберите нужный источник данных и нажмите кнопку Далее.

      Импорт пользователей из CSV-файла

      Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей (Настройки > Пользователи > Импорт пользователей).

      Важно! CSV-файл должен быть создан в кодировке сайта. Кодировку можно посмотреть в форме создания/редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов).

      Подготовка файла CSV

      CSV-файл должен быть подготовлен заранее. Он должен иметь следующий формат:

      заголовок
      данные
      данные
      данные
      

      Каждая строка файла — это одна строка таблицы. Заголовок может состоять из любого количества записей, расположенных в одной строке. Он указывает тип данных, содержащихся в разделе, который следует после заголовка. Значения в строках файлов (как заголовка, так и данных) разделяются разделительным символом (delimiter).

      Пример заголовка данных пользователей:

      LAST_NAME;PERSONAL_PHOTO;NAME;SECOND_NAME;WORK_POSITION;EMAIL;PERSONAL_BIRTHDAY;PERSONAL_GENDER;WORK_PHONE;UF_1C_PHONE_INNER;PERSONAL_MOBILE;PERSONAL_ICQ;LOGIN;IBLOCK_SECTION_NAME_1;IBLOCK_SECTION_NAME_2;IBLOCK_SECTION_NAME_3;IBLOCK_SECTION_NAME_4

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

      Например, если заголовок файла имеет следующий вид:

      LAST_NAME;PERSONAL_PHOTO;NAME;SECOND_NAME;WORK_POSITION;

      а в какой-либо из строк нет данных для части полей, скажем, 2, 4 и 5, то строка с данными должна иметь вид:

      Иванов;;Андрей;;

      Поля, в которых нет данных, просто отмечены разделителем.

      Перед форматированием CSV-файла учтите следующие аспекты:

      • Разделитель (delimiter) может быть любым: запятая (,), точка с запятой (;), пробел или табуляция. Нельзя вводить пробелы между значениями. Если в качестве разделителя выбран пробел, то необходимо следить за тем, чтобы не было двойных пробелов между значениями.
      • Если запятая является частью значения (например: свойства объекта перечислением через запятую), заключите значение в двойные кавычки "рыжий,красный,зеленый".
      • Если двойные кавычки являются частью значения, заключите значение в пару двойных кавычек. Например, "Иван" в CSV-файле должно выглядеть следующим образом: ""Иван"".
      • Пустые строки в CSV-файле не допускаются.
      • Регистр не учитывается в заголовках, строковых значениях, логине.
      • Пароли вводятся с учетом регистра.
      • Логические значения могут быть представлены следующим образом: Y — истина; N — ложь.
      • Данные, расположенные в строке данных после последнего распознанного значения в строке заголовка, игнорируются. Например, если в строке заголовка файла указано 10 значений, а в строке данных упоминается 12 значений, последние 2 будут отброшены.
      • Элементы данных, значения которых не указаны, обрабатываются как пустые строки.
      • Формат времени должен быть установлен в формате языка сайта. Например: MM/DD/YYYY HH:MI:SS (для английского языка), либо DD.MM.YYYY HH:MI:SS (для русского языка).

      Выгрузка пользователей из системы

      Если вы хотите выгрузить пользователей, то выполните следующее:

      • Перейдите на страницу Список пользователей (Настройки > Пользователи > Список пользователей).
      • Нажмите на кнопку Excel, чтобы выгрузить данные из списка.
      • После выгрузки адаптируйте файл под требования CSV-формата. В частности:
        • удалите итоговые строки внизу таблицы;
        • в заголовке замените названия значений на правильные латинские названия в соответствии с Таблицей типов данных, приведенной ниже;
        • проверить правильность заполнения полей данными в соответствии с Таблицей типов данных, приведенной ниже. (Например, значения пола должны быть указаны M и F, а не М и Ж).
      Таблица типов данных

      Важно! Для импорта пользователей из CSV-файла минимально необходимое условие - это указание имени (NAME) и фамилии пользователя (LAST_NAME).

      Пример CSV-файла:

      LAST_NAME,NAME,LOGIN,PASSWORD,EMAIL
      Иванов,Василий,vivanov,Password1,vivanov@company.ru
      Кузнецов,Владимир,vkuznetsov,Password2,vkuznetsov@company.ru
      Романова,Ольга,oromanova,Password3,oromanova@company.ru
      Синицына,Елена,esinitsyna,Password4,esinitsyna@company.ru
      Тихомиров,Илья,itihomirov,Password5,itihomirov@company.ru
      Басманов,Константин,kbasmanov,81QE1RO98M,kbasmanov@company.ru
      Галкина,Екатерина,egalkina,D0O4IAYOX0,egalkina@company.ru
      Королев,Михаил,mkorolev,CDUEND3SMX,mkorolev@company.ru
      Матвеева,Ирина,imatveeva,GCH425XAM6,imatveeva@company.ru
      Орлов,Кирилл,korlov,ZD3PZHP2E7,korlov@company.ru
      

      Чтобы гарантировать отсутствие ошибок в ходе импорта, проверьте, что данные в файле соответствуют формату, указанному в начале этой главы. Проверить правильность формата файлов можно, открыв CSV-файл в MS Excel, и просмотреть результат:

      • Проверьте заголовки данных.
      • Проверьте, что длина пароля для учетных записей, которые необходимо импортировать, составляет не менее 6 знаков.
      • Проверьте, что длина логина не менее 3 символов.

      Примечание: Создавать CSV-файлы рекомендуется в программе MS Excel. Если вы создали файл в другой программе, то рекомендуется открыть и проверить файл в MS Excel.

      После проверки CSV-файла можно приступать к импорту.

      Выполнение процедуры импорта

      В форме импорта пользователей в качестве источника данных выберите CSV-файл и нажмите кнопку Далее.

      Заполните поля второго шага импорта (закладка Параметры импорта):

      Настройка параметров импорта

      • Файл данных – укажите путь до CSV-файла.
      • Разделитель полей – укажите разделитель, который использовался в файле.
      • Привязать пользователей к группам – выберите группу (группы с помощью Ctrl), к которой нужно привязать пользователей из файла.
      • Путь к картинкам относительно корня сайта – путь к папке с картинками, относительно которой будут указаны пути значений PERSONAL_PHOTO и WORK_LOGO. Если поле пустое, то в значениях PERSONAL_PHOTO и WORK_LOGO необходимо указать полный путь относительно корня сайта.
      • Привязать пользователей к разделам информационного блока – выберите инфоблок, к которому будут привязаны пользователи, имеющие данные в значении IBLOCK_SECTION_NAME_*.

      • Примечание: Указать можно только один инфоблок. Если один и тот же пользователь должен быть привязан к разным инфоблокам, то привязку нужно осуществить впоследствии вручную.

      • Разрешить пользователям авторизовываться через LDAP-сервер – укажите имя сервера, через который будет проводиться авторизация.

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

      • Оповестить пользователя, если был указан e-mail - оповещать пользователей о регистрации на сайте с помощью выбранного шаблона, если в CSV-файле был указан e-mail.
      • Игнорировать пользователей, логин которых уже существует в системе - укажите эту опцию, чтоб при импорте не добавлялись пользователи с логинами, которые уже существуют в системе.

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

      Просмотр импортированных данных

      Для просмотра импортированных данных в административном разделе перейдите на страницу Список пользователей (Настройки > Пользователи > Список пользователей). Откроется таблица со всеми пользователями системы.

      Если импорт прошел неправильно, то необходимо удалить все записи, исправить CSV-файл и повторить описанные действия заново.

      Импорт пользователей из LDAP-directory

      Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей (Настройки > Пользователи > Импорт пользователей).

      Чтобы осуществить импорт пользователей из Active Directory / LDAP, выполните следующее:

      • На странице Импорт пользователей в качестве источника данных выберите Active Directory / LDAP и нажмите кнопку Далее.
      • На втором шаге импорта (закладка Параметры импорта) в выпадающем списке выберите сервер, который будет использован для импорта:

        Примечание: Если сервер еще не настроен, то необходимо его создать. Описание процедуры создания сервера приведено в курсах Администрирование. Модули и Администратор сервиса Битрикс24 (коробочная версия).

      • После выбора сервера в форме появятся импортируемые поля. При необходимости вы можете снять флажки с дополнительных полей, которые не нужно импортировать.

        Настройка параметров импорта

      • Нажмите кнопку Далее. Мастер перейдет к третьему шагу. Будет автоматически произведен импорт, система сообщит об его завершении и количестве добавленных записей.

      Примечание: Если пользователь заблокирован и существует на сайте, то его данные обновляются при импорте из AD/LDAP. Если пользователь неактивен и на сайте не существует, то он не импортируется на сайт.


      Управление доступом

      Управление доступом в рамках системы подразумевает несколько аспектов:

      • доступ к модулям;
      • доступ к элементам динамического контента;
      • доступ к файлам и папкам.

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

      Внимание! При включении пользователя в новую группу для получения всего возможного уровня прав ему необходимо заново авторизоваться в системе.

      Если возникла необходимость экстренного закрытия публичной части сайта, то воспользуйтесь служебной процедурой на странице Настройки > Настройки продукта > Настройки модулей > Главный модуль:


      Единую концепцию управления правами, подходящую для всех или большинства случаев, предложить крайне сложно: слишком велико разнообразие потребностей пользователей. Общие моменты управления правами в большом проекте с большим числом пользователей такие:

      • В Wiki, в стороннем файле, на недоступной для обычных пользователей странице должны быть описаны регламенты доступа для групп и пользователей, подключённых через функционал расширенных прав.
      • Когда в рамках проекта принимается решение о том, что теперь конкретный пользователь или пользователи группы "такой-то" имеют право добавлять/изменять/удалять новости "такого-то" раздела, то эта информация добавляется в регламент. Важно: указывается срок жизни этого правила.
      • После обновления регламентов "вручную" или через бизнес-процессы ставится задача ИТ службе. Служба исполняет это решение централизовано (AD/LDAP) или в конкретном проекте.

      Уровни доступа

      Система разграничения доступа позволяет гибко управлять правами пользователей. В системе введено понятие уровней доступа и операций. Уровни доступа состоят из набора разрешенных операций (например, права на создание файлов, управление пользователями и другие) и привязываются к модулям и группам пользователей.

      Уровни доступа — определенный комплекс операций в системе, доступный для выполнения пользователем. Они предназначены для создания системы управления пользователями. Уровни доступа определяются администратором и могут быть как изменены, так и созданы. Обладают свойством "наследования", то есть если для текущего раздела/страницы явно не задан уровень прав, тогда устанавливается то право, которое задано для вышележащего раздела.

      Например, операция Управление пользователями только разрешенных групп позволяет не администраторам управлять пользователями из указанных групп. Операция Ограниченная модификация файлов с PHP-кодом позволяет не администраторам настраивать параметры компонентов и редактировать файлы с PHP в визуальном режиме.

      На текущий момент уровни доступа можно создавать для модулей Главный модуль, Информационные блоки, Управление структурой, Торговый каталог, Поисковая оптимизация Учет рабочего времени, Календарь, Облачные хранилища и Проактивная защита. В будущем ряд модулей будет расширяться.

      Управление уровнями доступа осуществляется в административном разделе на странице Уровни доступа (Настройки > Пользователи > Уровни доступа):

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

      Создадим собственный уровень доступа с помощью кнопки контекстного меню Добавить уровень доступа.

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

      Добавление уровня доступа

      Отметим некоторые особенности данной формы:

      • поля Название и Модуль являются обязательными для заполнения;
      • в поле Привязка выбирается: 
        • Модуль - в этом случае уровень доступа можно будет установить для указанного модуля;
        • либо Файл/Папка - в этом случае создаваемый уровень доступа будет возможно настроить для файлов или папок.

      В зависимости от выбранного модуля и типа привязки отображаются свои возможные действия на закладке Включаемые операции. Например, в нашем примере отметим следующие операции, возможные на создаваемом уровне доступа:

      Изменение уровня доступа

      После сохранения уровень доступа будет выведен в форме настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль), и в форме редактирования группы пользователей на закладке Доступ (Настройки > Пользователи > Группы пользователей).

      Редактирование группы

      Управление правами доступа пользователей осуществляется с помощью настройки прав групп, к которым относятся пользователи (в форме настройки параметров группы).

      Дополнительная информация

      Доступ к модулям

      Настройка прав доступа к модулям системы позволяет определить диапазон допустимых действий пользователя над модулем и его контентом. Управление правами доступа к модулям выполняется:

      • в форме настройки параметров группы пользователей на закладке Доступ (Настройки > Пользователи > Группы пользователей):

        Форма настройки параметров группы пользователей

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

      • в форме настройки параметров модуля (Настройки > Настройки продукта > Настройки модулей):

        Форма настройки параметров модуля

        Значение По умолчанию определяет уровень доступа для всех групп для которых не установлено специально какое-то иное значение. Для установки такого иного значения необходимо выбрать в левом столбце нужную группу пользователей, а в правом - нужный уровень доступа. Ссылка Добавить право доступа добавляет в список новые строки.

      Отдельные модули позволяют осуществлять дополнительную настройку прав доступа к контенту (см. урок Доступ к элементам контента).

      Например, администратором сайта предусмотрено, что управление страницами некоторых разделов сайта будет поручено пользователям из группы Редакторы сайта. Для того чтобы редакторы сайта могли создавать и редактировать разделы и страницы сайта, для группы Редакторы сайта нужно установить право доступа к модулю Управление структурой равным Редактирование файлов и папок. Это позволит в дальнейшем определять папки и файлы, доступ к управлению которыми будет разрешен для пользователей данной группы, а также папки и файлы, доступ которым будет запрещен.

      Кроме того, для модулей Реклама, баннеры и Техподдержка настройка прав доступа пользователей выполняется на уровне ролей. Роль подразумевает ограниченный, предустановленный набор действий, доступный для той или иной группы.

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

      • рекламодатель – доступ к административной части модуля, просмотр доступных контрактов и управление принадлежащими к ним рекламными баннерами;
      • менеджер баннеров – управление баннерами определенных контрактов (без права изменения параметров контрактов);
      • администратор рекламы – полный доступ к управлению рекламой, в том числе рекламными контрактами, а также уровнем прав других пользователей.

      Примечание: Подробное описание ролей приводится в пользовательской документации продукта в разделах соответствующих модулей.

      Доступ к элементам контента

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

      Модуль Информационные блоки


      Примечание. Уровень доступа групп пользователей к информационным блокам настраивается отдельно для каждого инфоблока. Более того, в Расширенном режиме доступна установка прав для каждого раздела или элемента по отдельности.

      Настройка прав доступа выполняется в форме редактирования свойств инфоблока на закладке Доступ (Контент > Информ. блоки > Типы информ. блоков > <название_типа_инфоблока> <название_инфоблока>).

      Нажмите на рисунок, чтобы увеличить

      Простой режим

      В простом режиме права доступа настраиваются для всего информационного блока в целом.

      Например, чтобы пользователи группы Контент-редакторы имели право на создание и редактирование новостей инфоблока Новости компании, нужно в настройках инфоблока Новости компании установить для группы Контент-редакторы право доступа Изменение.

      Если при попытке изменения доступа появляется сообщение "Внимание! Заданный уровень доступа переопределяется уровнем доступа по умолчанию", то это означает, что выставляемое право находится на более низком уровне иерархии, чем право доступа по умолчанию и система не даст его установить.

      Переопределение уровня доступа

      В этом случае необходимо пересмотреть систему организации доступа. Например, по умолчанию выставить право Нет доступа и для нужных групп указать право Чтение.

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

      Если доступ к инфоблоку для определенной группы закрыт, то пользователи из этой группы не увидят содержимое в публичной части:

      Доступ к инфоблоку закрыт

      Кроме того, закрытое содержимое не будет видно в поиске для этой группы пользователей.

      Расширенный режим

      После установки флажка в поле Расширенное управление правами нажмите кнопку Применить. Форма перезагрузится:

      Теперь можно задать права для инфоблока по умолчанию. Эти права будут применяться до тех пор, пока в форме создания/редактирования конкретного раздела или элемента не будет указан другой уровень прав.

      Для задания прав к конкретному разделу или элементу перейдите к форме редактирования элемента, на закладку Доступ:

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

      Модуль Веб-формы

      В модуле Веб-формы предусмотрено управление доступом к результатам заполнения веб-формы на уровне Статусов результатов (результатов заполнения веб-формы):

      Для этого
      • перейдите на страницу Список форм (Сервисы > Веб-формы > Настройка форм)

      • Примечание
      • Перейдите к редактированию параметров формы с помощью двойного клика по строке с названием формы или пункта контекстного меню Изменить
      • Перейдите к просмотру статусов формы, нажав кнопку Статусы на контекстной панели

        Статусы результатов

      • Перейдите к редактированию параметров статуса с помощью двойного клика по строке с его названием или пункта контекстного меню Изменить, затем выберите вкладку Доступ

        Права доступа к результатам в текущем статусе

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

      • Пример организации прав доступа.

      Права на файлы

      Права на файлы

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

      Результат должен быть таким: нужны права на чтение/запись из скрипта на все файлы и папки, начиная от корня сайта, для пользователя, под которым запущен Apache. При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права читать/писать в ваши файлы из своих скриптов. Также желательно, чтобы файлы, закачанные по FTP, могли быть перезаписаны из скрипта.

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

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

      Проблемы с неправильными правами и их решение

      Unix/Linux - многопользовательская система, это значит, что в системе одновременно могут работать несколько пользователей в своих папках со своими файлами. Соответственно разные пользователи имеют разные права на доступ к файлам и папкам.

      Для загрузки файлов по FTP и работы с ними через веб-интерфейс используются разные программы (ftp клиент и веб-сервер) и для операционной системы это разные пользователи.

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

      Внимание! На каждом хостинге эта настройка специфическая, подробности вы можете узнать у своего хостера.

      Наиболее часто встречаемые проблемы, связанные с правами на файлы и папки:

      При изменении файлов через FTP не удается сохранить изменения

      В этом случае необходимо пользователю веб-сервера разрешить запись в свои файлы для пользователя FTP. Это можно сделать через следующий скрипт:

      <?
      
      function chmod_R($path, $perm) 
      {
         if (is_dir($path))
         {
            chmod($path."/".$file, $perm);   
            $handle = opendir($path);
            if (!$handle)
            {
               echo "Error: ".$path;
               return;
            }
         
      
            while (false !== ($file = readdir($handle))) 
            {
               if ($file == "." || $file == ".." || $file == '.htaccess')
                  continue;
         
               chmod_R($path."/".$file, $perm);
            }
            closedir($handle);
            return true;
         }
         elseif(is_file($path))
         {
            $file_perm = $perm ^ 0111;
            return chmod($path, $file_perm);
         }
         return;
      }
      
       $path = $_GET["path"];
       if (!trim($path))
       {
       ?>
          <form method=get>
             Путь от корня сайта: <input name=path value='<?=dirname($_SERVER['SCRIPT_NAME'])?>'><br>
      
             Права: <input name=perm value='0777'><br>       
             <input type=submit value='OK'>
          </form>
       <?
       }
       else
      
       {
          $path = realpath($_SERVER["DOCUMENT_ROOT"] . "/" . $path);
          
          if (intval($_GET['perm']))
             $perm = octdec(intval($_GET['perm']));
          else
             $perm = 0777;
      
          if (chmod_R($path, $perm))
             echo "OK: ".$path;
       }
      ?>
      

      После запуска скрипт спросит путь к папке, в которой надо изменить права относительно корня сайта и сами права на папки. На файлы он автоматически сбросит атрибут "x" - исполнение. Если это не требуется, замените строку

      $file_perm = $perm ^ 0111;
      на
      $file_perm = $perm;

      Файлы загружаются через ftp, но при попытке их изменения в продуктах Bitrix Framework появляется ошибка записи

      В этом случае необходимо пользователю ftp разрешить запись для пользователя веб-сервера, иными словами, выставить права.

      Сделать это можно по протоколу ssh, например, используя бесплатную программу PuTTY.

      Рассмотрим последовательность действий для изменения прав доступа:

      • подключитесь к своему сайту

        Примечание: О том, как это сделать, смотрите руководство к программе, с помощью которой вы подключаетесь.
      • перейдите в нужную директорию, используя команду cd:
        cd /path/to/dir
        Примечание: Путь /path/to/dir необходимо уточнить у хостера.
      • затем выполните команду chmod:
        chmod -R xxxx .
        где

        -R - указывает, что необходимо изменить права на все папки и подпапки,
        xxxx - указывает требуемые атрибуты доступа (например, 0771),
        . - указание на текущую директорию.

        Примечание: Подробнее про команду chmod можно посмотреть в Википедии и документации по PHP.
      Примечание: Установка прав через клиент ftp с поддержкой рекурсивного изменения прав на папки не является хорошим вариантом. Потому что, например, для изменения прав на 100 файлов потребуется отправить специальную команду как минимум 100 раз (если есть подпапки - то ещё и для них). В дополнение к этому передаётся еще и множество служебной информации. В итоге эта операция может занять довольно продолжительное время даже при хорошем канале Интернет.

      Обратите внимание:
      • чтобы избежать проблем с правами при установке продукта - лучше всего воспользоваться скриптом BitrixSetup. Он скачает и распакует дистрибутив с нашего сайта, при этом файлы будут принадлежать веб-серверу и проблем при работе не возникнет;
      • ftp и ssh сервисы в большинстве случаев позволяют авторизоваться под одним и тем же пользователем, значит можно закачать файл через ftp, а изменить права через ssh;
      • пользователь может изменить права только на свои файлы. Это значит, что если вы не можете изменить файл непосредственно в системе, то не стоит пытаться применять веб скрипт. Права необходимо изменять через ftp/ssh. И наоборот;
      • панель управления на хостинге чаще всего с целью безопасности работает под третьим пользователем, поэтому в борьбе с правами она скорее всего не поможет.

      Установка прав на создаваемые Bitrix Framework файлы

      Права, с которыми создаются файлы и папки, вы можете установить в файле /bitrix/php_interface/dbconn.php:

      define("BX_FILE_PERMISSIONS", 0664);
      define("BX_DIR_PERMISSIONS", 0755);

      Управление доступом к папкам и файлам

      Система предусматривает возможность отключения просмотра физической структуры сайта в Административном разделе. Это может быть полезно по следующим соображениям:

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

      Для отключения просмотра физической структуры перейдите на закладку Настройки страницы Настройки модуля (Настройки > Настройки продукта > Настройки модулей > Управление структурой) и установите флажок в поле Не отображать раздел "Файлы и папки" в меню "Структура сайта"

      Примечание: Возможна ситуация когда в файловом менеджере продукта не отображаются файлы и папки и без включения функции Не отображать раздел "Файлы и папки" в меню "Структура сайта". Это может произойти
      • либо в результате ошибки в настройках сайта (Настройки > Настройки продукта > Сайты > Список сайтов). Значение поля Путь к корневой папке веб-сервера для этого сайта не соответствует реальному пути к DOCUMENT_ROOT.
      • либо на корневую папку сайта (DOCUMENT_ROOT) установлены права недостаточные для чтение её содержимого. В данном случае надо установить на папку наиболее полные права.

      Настройка прав доступа к управлению структурой сайта выполняется в Менеджере файлов (Контент > Структура сайта).

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

      "Показать права на доступ для" в Эрмитаже v.9.5

      Чтобы выполнить настройку прав доступа к файлам и папкам, нужно:

      • Перейти в раздел Файлы и папки (Контент > Структура сайта > Файлы и папки)
      • отметить нужные элементы в Колонке флажков;
      • выбрать действие Права на доступ продукта на панели групповых операций и нажать кнопку Применить:

        В форме настройки прав доступа указывается уровень доступа каждой группы пользователей к выбранным файлам и папкам:

        Форма настройки прав доступа

      Группам пользователей могут быть назначены следующие права:

      • Запрещен: доступ группы пользователей к данному каталогу или файлу будет закрыт;
      • Чтение: пользователи группы получат право на просмотр информации файла или каталога в публичном разделе сайта;
      • Запись: пользователи получат право на редактирование файлов и сохранение внесенных изменений;
      • Документооборот: пользователи получат право на создание и редактирование файлов через модуль Документооборот;
      • Полный доступ: пользователи получают права не только на изменение каталогов или файлов, но и на управление правами доступа всех групп пользователей к данным элементам;
      • Наследовать: для настраиваемых каталогов или файлов будут назначены те же права, что и для вышележащих каталогов.

      Если установлено право доступа Наследовать […], то реальное право доступа определяется полем Все группы, для которых уровень доступа Наследовать. Иными словами, по умолчанию для всех групп установлено только право на чтение (кроме администратора сайта, который может все).

      Обратите внимание: Для настройки прав доступа к текущей директории (например, к корневой папке) нужно воспользоваться кнопкой Свойства папки, расположенной на контекстной панели:


      Права групп пользователей на доступ к директории сайта могут быть унаследованы всеми вложенными папками и файлами. Иными словами, задав право, скажем, на чтение одной папки, задаются права на чтение для всех нижележащих папок. Если нужно задать отдельные права для какой-либо папки, отличающиеся от прав, заданных для вышележащей, то необходимо отдельно открывать свойства папки и менять права. Как правило, такая операция требуется при оперативной, текущей работе с сайтом. Поэтому данные действия проще реализовывать из публичной части через кнопку Доступ на Административной панели в версии до 9.5 или команде Доступ к странице (разделу) из меню кнопки Изменить в интерфейсе Эрмитаж.

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

      Пример задания прав

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

      • для нужных каталогов
      • Доступ запрещен

        Для каталога /search панель будет выглядеть так:

        Доступ запрещен

      • или отдельных файлов
      • Доступ запрещен

        Для файла test.php панель будет выглядеть так:

        Доступ запрещен

        Примечание: В примере на панели управления отсутствует кнопка Создать страницу т.к. пользователь обладает правом на запись для текущего файла, но не обладает правом на запись в текущий каталог.

      Внимание! Все пользователи, которые хоть что-то должны изменять в Публичной части сайта, должны иметь доступ на чтение к папке /bitrix/admin. Это папка, в которой расположен визуальный HTML-редактор. Без этого редактирование будет возможно только в текстовом режиме.


      Пример решения проблемы

      Была правильно создана группа и к ней приписан пользователь. Группе назначены следующие права доступа к административным частям модулей:

      • Главный модуль - полный доступ;
      • Управление структурой - полный доступ.

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

      Доступ запрещен

      Запрет доступа в Эрмитаже v.9.5

      Решение: Для получения доступа вам необходимо установить права на чтение папки /bitrix/admin/:

      Примечание: По умолчанию новые пользователи имеют только право чтения для всех папок сайта, кроме папки /bitrix/admin/.

      Управление доступом к файлам и папкам возможно и из публичного раздела. Об этом подробнее смотрите в уроке Управление правами доступа курса Контент-менеджер.


      Дополнительная проверка прав доступа

      Bitrix Framework позволяет использовать дополнительные условия для отображения тех или иных элементов сайта, а также разграничения прав доступа к этим элементам для различных групп пользователей.

    • Настройка шаблона сайта
    • Настройка пунктов меню
    • Настройка доступа к элементам инфоблока
    • Настройка шаблона сайта

      Например, проверка группы пользователей, к которой относится текущий пользователь, может использоваться при выборе шаблона дизайна для показа страниц сайта. Проверка данного условия задается в форме редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов):

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

      !$GLOBALS['USER']->IsAuthorized() && (!isset($_SERVER['REMOTE_USER']) || strlen($_SERVER['REMOTE_USER']) <= 0)

      Примечание: Например, в дистрибутиве «Битрикс24 в коробке» уже задан пустой шаблон, который отображается для неавторизованных пользователей.

      Настройка пунктов меню

      Также проверка текущей группы пользователей может использоваться при задании условия отображения пунктов меню. Данный тип условий задается в расширенном режиме редактирования меню (подробно про настройку меню смотрите в уроке Расширенный режим настройки меню):

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

      Настройка доступа к элементам инфоблока

      Ряд компонентов системы допускает задание ограничений на доступ к контенту. Например, можно ограничить доступ к детальному просмотру новостей. Рассмотрим это на примере комплексного компонента Новости.

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

      Для выбора нескольких групп используйте кнопку Ctrl. При использовании данного метода пользователь с недостаточным уровнем прав при просмотре с публичной стороны сайта увидит уведомление о том, что ему не разрешен показ этой информации.


      Управление интерфейсом

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

      Внимание! Перед клиентами коробочной версии Битрикс24 часто возникает задача переключения языка меню, без дублирования контента. Штатно это реализовать нельзя, нужна доработка как настроек портала, так и файлов меню.

      Дополнительная информация

      Управление настройками интерфейса

      Пользовательский интерфейс системы Bitrix Framework позволяет настраивать и запоминать настройки интерфейса для каждого зарегистрированного пользователя, имеющего доступ в административный раздел.

      При изучении интерфейса системы необходимо понимать, что существуют два вида настроек: пользовательские и административные.

      Примечание: Дополнительную информацию по настройке интерфейса форм смотрите в следующих уроках:


      Пользовательские настройки

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

      Система сохранит произведенные настройки для конкретного пользователя и данный список для этого пользователя будет открываться каждый раз в заданном виде. Пользователь может настроить каждый из списков в административной части "под себя".


      Административные настройки

      Административные настройки

      Административный уровень настроек по умолчанию задается:

      • в общем случае на странице Интерфейс (Настройки > Настройки продукта > Интерфейс);
      • в частном случае для каждой формы в диалоге Настройка списка каждой конкретной формы.

      В свою очередь административные настройки имеют два уровня:

      • первый уровень - это уровень, который идет с поставкой системы (системный уровень настроек по умолчанию);
      • второй уровень - это уровень, который может задать администратор (административный уровень настроек по умолчанию).

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

      Для настройки общего административного уровня настроек по умолчанию откройте страницу Интерфейс (Настройки > Настройки продукта > Интерфейс > Персональные настройки):

      Описание закладки Настройки

      Ссылки на закладке Удаление позволяют:

      Удаление настроек интерфейса

      • Очистить все собственные настройки интерфейса - удалить все собственные (то есть установленные со снятой опцией Установить данные настройки по умолчанию для всех пользователей) настройки и установить заново все настройки административного уровня "по умолчанию";
      • Очистить все настройки по умолчанию - установить все настройки на системном уровне по умолчанию;
      • Очистить персональные настройки всех пользователей - установить все настройки на административном уровне по умолчанию.

      Поведение мыши по умолчанию

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

      • левый клик на кнопке меню действий или правый клик на строке таблицы отчета - вывод меню действий:

        или
      • Ctrl + правая кнопка - выводит стандартное меню браузера.
      • двойной клик на строке таблицы отчета - открывает сущность, отображаемую в строке, для редактирования;
      • Shift + двойной клик на строке таблицы отчета - открывает сущность для редактирования в новом окне.

      Добавление пункта меню в административный раздел

      Есть два варианта:

      1. Дополнительные пункты меню могут быть созданы через раздел управления Избранное (Настройки > Избранное). В данном разделе можно указать название пунктов меню и ссылки на нужные страницы.

        Добавление пункта меню "Избранное"

        Добавленные страницы будут доступны через отдельные пункты меню в разделе Избранное в публичной части сайта:

        Меню "Избранное" в публичном разделе

        Избранное в Административном разделе в Эрмитаже v.9.5
      2. Административное меню может также управляться пользователем, как и меню в публичном разделе. Т.е. к стандартным пунктам меню для каждого модуля могут быть добавлены свои пункты и целые разделы меню.

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

        • Через интерфейс управления структурой сайта перейти в папку /bitrix/admin/ (Контент > Структура сайта > Файлы и папки > bitrix > admin).
        • С помощью меню Добавить создайте меню типа [left] Левое меню.
        • В новом меню ввести название раздела и необходимые пункты меню:
          • Создание раздела меню

            Для создания раздела меню нужно перейти в расширенный режим и ввести название пункта и в поле Параметры ввести новые параметры:

            SEPARATOR = Y
            SECTION_ID = <код>
            SORT = 1000

            где:

            • SEPARATOR указывает, что этот пункт должен быть оформлен как раздел;
            • SECTION_ID определяет символьный код своего раздела меню, например "my_menu";
            • SORT это глобальный индекс сортировки для показа данного пункта в общем меню;
            Пример:

          • Создание пункта меню

            Для создания обычного пункта меню нужно задать его название, ссылку, а также указать в поле Параметры мнемоническое имя того раздела меню, где будет показан пункт. Например:

            SECTION_ID = catalog

            Если надо вставить пункт в свой подраздел, поле SECTION_ID не указывается.
            Сортировка пунктов внутри подраздела будет выполняться в соответствии со значениями индекса сортировки для каждого пункта.

            Пример:

            Примечание: Подробную информацию про меню можно посмотреть на странице документации для разработчиков Административное меню.

      Языки интерфейса

      Bitrix Framework поддерживает работу с многоязычным интерфейсом в административном разделе сайта. В административной части это позволяет выводить служебные сообщения (например, сообщения об ошибках), отображать сообщения форм и таблиц на различных языках.

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

      Так выглядит Административный интерфейс на русском языке

      Так выглядит Административный интерфейс на английском языке

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

      Языки административного интерфейса также используются для определения, на каком языке будут выводиться текстовые сообщения визуальных компонентов, а также служебные сообщения системы в публичном разделе каждого сайта (т.е. для определения основного языка сайта). Язык указывается для каждого сайта на странице настроек (Настройки > Настройки продукта > Сайты > Список сайтов):

      Параметры

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

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

      Выбор языка на административной панели интерфейса в Эрмитаже v.9.5

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


      Управление языками и Региональные настройки

      Bitrix Framework позволяет создавать сайты с использованием разных языков в интерфейсе и с учётом разных культурных традиций. Штатно в дистрибутиве используются два языка: русский и английский. Остальные языки добавляются по мере необходимости (требуется активная лицензия на сайт).

    • Языки
    • Региональные настройки
    • Языки

      Управление языками интерфейса системы выполняется на странице Языки интерфейса (Настройки > Настройки продукта > Языковые параметры > Языки интерфейса). В списке отображены языки доступные для выбора как язык административного интерфейса. На выбранном языке будут отображаться системные сообщения: информационные сообщения, сообщения об ошибках, заголовки таблиц, надписи на кнопках управления и т.д.

      Пример добавления языка в систему

      Рассмотрим добавления в систему нового языка на примере испанского (для Латинской Америки) языка. Для этого:

      1. Создадим учетную запись языка (кнопка [dw]Добавить язык[/dw][di][/di] на контекстной панели страницы Языки интерфейса).

        Добавление языка

        Значения полей ясны из названий, если возникло непонимание, обратитесь к пользовательской документации. Одно обязательное пояснение:

        ID - символьный идентификатор языка используется для загрузки соответствующих языковых файлов, поэтому он должен совпадать с идентификатором языка в системе обновлений. Например, языковые файлы для испанского (для Латинской Америки) языка доступны на сервере обновлений с идентификатором la. Поэтому при создании испанского языка используйте в поле IDla. Список идентификаторов языков приведен в документации для разработчиков.

      2. После сохранения запись нового языка будет добавлена в общий список на странице [dw]Языки интерфейса[/dw][di]Список языков[/di].
      3. Также в кнопке для переключения языков на административной панели появится выбор добавленного языка:

      4. Далее выполните [dw]загрузку языковых файлов[/dw][di] Загрузка производится через штатную систему обновлений.
        Подробнее...[/di] для созданного языка.

      Региональные настройки

      Региональная настройка - набор параметров, которые имеют разные значения в зависимости от культурных особенностей той или иной местности. Например: формат даты и времени, формат имени, первый день недели и другие.

      Создание региональных настроек выполняется на странице Региональные настройки (Настройки > Настройки продукта > Языковые параметры > Региональные настройки).

      Значения полей описаны в документации. После создания региональной настройки её используют при создании языка интерфейса и при [dw]создании сайта[/dw][di]В форме создания сайта есть поле выбора Региональных настроек.
      Подробнее...[/di].

      Информация о форматах даты и таблиц кодов, используемых для представления символов языка в публичном разделе сайта, приводится в документации продукта. В полях Формат даты и Формат даты и времени укажите системе, как отображать эти параметры.

      Внимание! Установка Формата даты и Формата даты и времени должна соответствовать параметрам даты и времени, используемым в настройке компонентов и при кастомизации. При несовпадении форматов данные будут отображаться с ошибками.

      Кодировка языка также определяет кодировку вводимого контента (содержимого) модулей. Например, для русского языка используется кодировка Windows-1251. Иногда используют упрощенное написание: win-1251. Это недопустимо, так как возможно некорректное отображение текста сайта.

      Примечание: Если в системе используется кодировка UTF-8, то используемые в системе языки также представляются в кодировке UTF-8.


      Загрузка языковых файлов

      Многоязычный интерфейс административного раздела реализуется за счет использования языковых файлов. Загрузка и обновление языковых файлов для новых и/или уже используемых в системе языков выполняется через Систему обновлений (Marketplace > Обновления платформы):

      Страница "Cистема обновлений"

      При переходе на закладку Список обновлений будет отображено:

      • список обновлений языковых файлов для уже используемых языков (секция Рекомендуемые обновления таблицы);
      • список языковых файлов для неустановленных в системе языков (секция Опциональные обновления таблицы). Данные языковые файлы также могут быть загружены и сохранены в системе. При создании учетных записей для соответствующих языков эти файлы будут установлены автоматически.

      Для выполнения загрузки следует отметить требуемые языковые файлы с помощью флажков и нажать кнопку Установить обновления.

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

      Внимание! Русский, английский и немецкий языки загрузить нельзя. Для их использования надо выбирать соответствующие дистрибутивы продукта.


      Пример загрузки языковых файлов

      Рассмотрим пример загрузки языковых файлов для, например, испанского языка. Для этого:

      1. Создайте в системе испанский язык.
      2. Перейдите на страницу Система обновлений (Marketplace > Обновления платформы).
      3. На закладке Список обновлений открывшейся странице отметьте языковые файлы для испанского языка, которые будут загружены в систему:

        Нажмите на рисунок, чтобы увеличить

      4. Для загрузки выбранных файлов служит кнопка Установить обновления.

      Управление языковыми сообщениями

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

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

      • вручную, путем редактирования соответствующих файлов;
      • с помощью модуля Перевод.

      Модуль Перевод предоставляет удобный интерфейс для поиска и перевода языковых сообщений и позволяет:

      • просмотреть распределение языковых фраз по файлам системы;
      • определить количество непереведенных фраз для каждого файла;
      • перейти к переводу необходимых текстовых сообщений.

      Для того чтобы просмотреть распределения языковых сообщений по файлам, нужно перейти на страницу Перевод языковых файлов (Настройки > Локализация > Просмотр файлов):

      Страница "Перевод языковых файлов"

      Для отображения количества непереведенных фраз необходимо нажать на кнопку Показать различия:

      Страница "Перевод языковых файлов"

      Примечание: Если в настройках модуля Перевод отмечена опция Автоматически считать разницу в языковых файлах, то при переходе на страницу Перевод языковых файлов количество непереведенных фраз будет отображаться автоматически. Но на больших проектах включать эту опцию не рекомендуется, лучше считать разницу в файлах поэтапно, по каждой папке. В противном случае может быть получена ошибка 504 Gateway Timeout, свидетельствующая о превышении времени ожидания ответа от сервера.

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

      Страница "Перевод языковых файлов"

      Примечание: В форме будут отображены языковые фразы для языков, доступных для представления в одной кодировке.

      Перейти к форме выполнения перевода языковых сообщений можно также непосредственно со страницы, на которой эти сообщения используются (как в публичной, так и административной части сайта). Для этого в адресную строку браузера нужно добавить параметр show_lang_files=Y. В результате внизу страницы будет отображен список языковых файлов, сообщения которых используются на данной странице:

      Список языковых файлов

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

      Например, найдем языковое сообщение Авторизация, используемое в форме авторизации. Для этого введем фразу Авторизация в поле для поиска и нажмем кнопку OK:

       

      В результате будет получен список файлов, содержащих искомую фразу:

      Ссылка с текстом фразы позволяет перейти непосредственно к редактированию текста сообщения.

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


      Примечание: Подробнее о реализации механизма локализации, загрузке и выгрузке файлов локализации см. курс Разработчик Bitrix Framework.


      Настройка вида страницы ошибки 404

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

      Причин появления такой страницы может быть несколько:

      • некорректная ссылка на сайте;
      • неправильно введенный пользователем адрес;
      • документ, на который ведет ссылка, был удален.

      Можно сделать так, чтобы в таких случаях пользователь видел не техническую страницу, а заранее вами заготовленную. Для этого в корневом разделе сайта (Контент > Структура сайта > Файлы и папки) найдите файл 404.php и в его меню действий выберите Редактировать как php. Внесите необходимые изменения в его содержимое (в примере ниже удалён компонент Карта сайта и добавлен текст) и сохраните их, после чего, в случае ошибки 404, будет показываться созданная вами страница:


      Примечание: в данном файле не рекомендуется размещать слишком тяжелый код. К тому же, заменять его на 404.html нельзя, потому что данный файл участвует в работе ЧПУ.


      Работа с инструментами

      В поставку продукта входит набор специальных инструментов, служащих для проверки соответствия сайта техническим требованиям продукта, проверки и восстановления целостности базы данных, создания резервной копии базы данных и т.д.

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

      Дополнительная информация

      Проверка системы

      Форма Проверка системы предназначена для всесторонней проверки соответствия параметров системы, на которой осуществляется функционирование проекта, минимальным и рекомендуемым техническим требованиям продукта.

      Форма расположена на странице Проверка системы (Настройки > Инструменты > Проверка системы).

      Примечание:
      1. Не осуществляется проверки структуры базы для Oracle и MS SQL.
      2. Проверка не осуществляется в модулях, в которых присутствует точка в имени: в модулях Marketplace.
      3. Тест ничего не знает об архитектуре сети и он пытается протестировать систему на основе той информации, что есть. Соответственно при проверке на локальной установке могут возникать ошибки связанные с необходимостью внешнего сканирования, например: ошибка сокетов.

      Закладка Тестирование конфигурации

      Тестирование конфигурации - комплексное тестирование конфигурации сервера. Параметры, некритичные для нормального функционирования, но которые желательно установить в рекомендуемые значения.

      Каждый тест сопровождается подробной информацией о тесте. Информация доступна по кнопке в строке теста. По этой кнопке открывается окно с комментариями к тесту:

      Здесь же есть ссылка на Журнал проверки системы. С помощью журнала можно понять причину ошибки.

      Примечание: Файлы журналов проверки не хранятся. Доступен всегда только файл последней проверки.

      Закладка Проверка доступа

      Проверка доступа - результаты проверки доступности дисков физической системы не только на чтение, но и на запись. Это необходимо для работы модуля управления структурой сайта, загрузки файлов, а так же для работы системы обновлений, которая обновляет ядро сайта до последней версии. Проверку можно осуществлять по трем критериям:

      • Полная проверка – анализируются на доступ все файлы системы.
      • Проверка папки для загрузки файлов – проверяется доступность на чтение и на запись папки для загрузки файлов.
      • Проверка ядра – анализу на доступ подвергаются системные файлы.

      Результатом проверки может быть либо системное сообщение об успешном окончании, либо отображение файлов не доступных на чтение или на запись.


      Закладка Техподдержка

      Техподдержка – с помощью этой мини-формы можно быстро и оперативно связаться со службой технической поддержки компании "1С-Битрикс". Для этого нужно заполнить требуемые поля формы, подробно описав суть проблемы.

      Многие проблемы можно решить быстрее, если к письму будет присоединена информация о системе, поэтому настоятельно рекомендуется провести тесты на закладке Тестирование конфигурации и оставлять опцию Отправить журнал тестирования конфигурации включенной.


      Проверка сайта без авторизации

      Инструмент представляет возможность протестировать конфигурацию даже если не работает авторизация или сайт не открывается из за нарушения сжатия (на экране отображаются крякозябры). Для этого достаточно создать пустой файл site_checker_debug в папке /bitrix. После этого откройте страницу http://you_site.ru/bitrix/admin/site_checker.php

      Внимание! После решения проблемы обязательно удалите файл site_checker_debug и убедитесь, что проверка сайта без авторизации не доступна. Если открыть проверку сайта с авторизацией - файл site_checker_debug удаляется автоматически.

      Исправление ошибок базы данных

      За первоисточник берётся кодировка соединения с базой. В большинстве случаев она правильная, т.к. в противном случае вся информация на сайте просто будет нечитаема.

      Кодировка базы - это важный параметр, но не влияющий непосредственно на отображение данных, новые таблицы (после обновления или переустановки модулей) будут создаваться в этой кодировке. Т.е. проблемы появляются в будущем.

      Система позволяет автоматически исправить неправильные сравнения базы данных, таблиц и полей. Смена кодировки не производится, так как это меняет сами данные и в случае сбоя может привести к их потере. Несмотря на это, перед началом исправления настоятельно рекомендуется сделать полную резервную копию базы данных.


      Настройки PHP

      Страница Настройки PHP (Настройки > Инструменты > Диагностика > Настройки PHP) служит для отображения информации о текущих настройках PHP. Для получения информации используется функция phpinfo().

      Настройки PHP

      SQL запрос и Командная PHP строка

      SQL запрос

      Форма SQL запрос (Настройки > Инструменты > SQL запрос) предназначена для выполнения SQL запросов к базе данных. Возможно выполнение любых запросов на языке SQL.

      Важно! Система не устанавливает никаких ограничений на SQL запросы, поэтому будьте крайне внимательны при выполнении запросов типа UPDATE, DELETE, DROP и т.п.

      Командная PHP-строка

      Форма Командная PHP-строка (Настройки > Инструменты > Командная PHP-строка) предназначена для исполнения некоторого кода, вызывающего функции API Битрикса без создания новых страниц на сайте. Доступно несколько закладок для выполнения разного кода одновременно.


      Проверка и оптимизация БД

      Проверка БД

      На странице Проверка / восстановление таблиц (Настройки > Инструменты > Диагностика > Проверка БД) вы можете проверить и восстановить таблицы базы данных. Использование скрипта проверки и восстановления базы данных позволит оперативно восстановить работу сайта.

      Внимание! Восстановление таблиц работает только для базы данных MySQL и таблиц типа MyISAM.

      Внимание! Не открывайте эту страницу одновременно в нескольких копиях - это может повредить вашу базу данных. Операция может занять длительное время, если размер базы данных велик!

      Отчет о проверке базы банных

      Примечание: В случае если повреждены таблицы статистики и нет возможности перейти в административный раздел, сбор статистики может быть временно отключен с помощью параметра ?no_keep_statistic_LICENSE-KEY=Y. В параметре указывается лицензионный ключ сайта.

      Существует возможность использования скрипта проверки и восстановления базы данных без перехода в административный раздел.

      Для этого при обращении к странице восстановления необходимо указать два параметра: имя (login) и пароль (password) на доступ к базе данных. Например: http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login& password=DB_Password.

      По умолчанию значения данных параметров хранятся в файле /bitrix/php_interface/dbconn.php.

      Иногда возникает ситуация, когда сайт перестает отвечать и посетителям отображается пустая страница. В этом случае рекомендуется открыть файл /bitrix/php_interface/dbconn.php, содержащий параметры соединения с базой данных, и установить значение параметра $DBDebug = true;

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

      Оптимизация

      На странице Оптимизация БД (Настройки > Инструменты > Диагностика > Оптимизация БД) вы можете оптимизировать и проанализировать таблицы базы данных. Это повысит эффективность обработки запросов сервером базы данных.

      Внимание! Не открывайте эту страницу одновременно в нескольких копиях - это может повредить вашу базу данных. Операция может занять длительное время. Желательно выполнять ее при наименьшей нагрузке на сайт.

      Журнал событий

      На странице Журнал событий (Настройки > Инструменты > Журнал событий) вы можете просмотреть события сайта.

      Примечание: Детальное описание значений полей журнала событий смотрите на странице пользовательской документации.

      События, которые будут записываться в журнал, можно определить:

      • в настройках главного модуля на закладке Журнал событий (Настройки > Настройки продукта > Настройки модулей > Главный модуль),
      • в настройках модуля Инфоблоки (Настройки > Настройки продукта > Настройки модулей > Информационные блоки),
      • в настройках модуля Форум (Настройки > Настройки продукта > Настройки модулей > Форум),
      • в настройках модуля Облачные хранилища (Настройки > Настройки продукта > Настройки модулей > Облачные хранилища),
      • в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой),
      • в настройках Информационного блока (Контент > Инфоблоки > Типы инфоблоков > конкретный инфоблок),

      Примечание: Ряд модулей, например Контроллер, Проактивная защита, Техподдержка и другие ведут собственные журналы.

    Список ссылок по теме:

    Резервное копирование

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

    • создание архивной версии файлов сайта (формат tar.gz);
    • исключение из архива папки, содержащей ядро продукта;
    • исключение из архива файлов, размер которых превышает некоторое заданное значение;
    • создание дампа базы данных (формат tar.gz);
    • исключение из дампа таблиц статистики и поискового индекса;
    • автоматическое деление архивов на части когда размер несжатых данных превышает 1Гб;
    • архивирование данных в облачные хранилища.

    Реализация резервного копирования различается для разных версий продуктов.

    Выполнить Резервное копирование можно на странице Резервное копирование (Настройки > Инструменты > Резервное копирование). В рамках файловой структуры сайта файлы копий хранятся в папке /bitrix/backup.

    Обратите внимание! Механизм резервного копирования может быть использован только для базы данных MySQL.

    Дополнительная информация

    Резервное копирование в v.12 и выше

    Форма создания резервной копии:

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

    Резервное копирование при использовании многосайтовости имеет свои особенности:

    • Можно выбирать сайты для копирования, оставляя в архивах только нужные вам проекты.
    • Восстановление сайтов потребует дополнительных действий со стороны администратора.
    • Этот способ копирования работает только для сайтов DOCUMENT_ROOT которых различны. (То есть для многосайтовости на разных доменах)
    • База данных полностью копируется в архив. Даже тех сайтов, которые не были указаны в чекбоксах выбора сайтов.

    При выборе сайтов для архивирования учтите, что в состав архива полностью копируется только первый по сортировке сайт (из выбранных) в списке сайтов. Соответственно, при восстановлении полностью в работоспособном состоянии восстанавливается только этот сайт.

    Публичная часть остальных сайтов сохраняется в архиве в папках вида /bitrix/backup/sites/_ID_сайта_. После распаковки архива администратор должен будет вручную перенести папки публичной части архивируемых сайтов в соответствующие папки на сервере. (В процессе распаковки появится предупреждение, что архив содержит несколько публичных частей.)

    Многосайтовость надо восстановить вручную (восстановить симлинки). Только после этого остальные сайты будут работоспособны.


    Настройки

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

    Внимание! Если вы не совсем ясно представляете суть настроек параметров, то рекомендуется не пользоваться этой опцией, а оставить настройки по умолчанию

    Примечание: есть техническое ограничение на размер одного файла внутри файла архива: 2Гб. Если отдельные файлы меньше 2Гб, то проблем не будет.

    Величина поля Длительность шага зависит от параметров, установленных на хостинге (в php.ini). Если точное доступное значение шага не известно, то рекомендуются значения не более 30.

    Если настроено несколько сайтов с разными путями к корневой папке веб-сервера, они сохраняются и восстанавливаются отдельно. При этом полный архив делается один раз. А затем, при архивации других сайтов, необходимо будет исключить ядро и базу данных через экспертные настройки. Если восстановление делается на другом сервере, символьные ссылки на папки /bitrix и /upload необходимо будет создать вручную.

    Если копия будет сохраняться локально, то можно не использовать опцию шифрования архива, это снизит нагрузку на сервер при создании архива.

    Суть Проверки целостности архива после его завершения в том, что идет "виртуальная" распаковка без создания файлов. То есть это гарантирует, что сам по себе файл получился корректный. Полную гарантию целостности резервной копии можно дать после полного восстановления сайта.

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.
    Подробнее про операцию переноса сайта с локальной машины на удаленный хостинг смотрите в уроке Перенос продукта.

    Хранение и шифрование резервных копий

    Сохранение копии на локальный носитель

    Для сохранения на локальный носитель надо на закладке Резервное копирование выбрать опцию в папке сайта и нажать кнопку Резервное копирование. Архив создастся и сохранится. Имя файла будет начинаться с даты создания, например: 20150303_115049_full_3a27d8ec.tar:

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

    В рамках файловой структуры сайта файлы копий хранятся в папке /bitrix/backup.

    Сохранение копии в облачное хранилище

    Возможно хранение резервной копии в собственном облачном хранилище или в облачном хранилище, предоставляемое компанией "1С-Битрикс".

    В обоих случаях необходимы:

    • установленный модуль Облачные хранилища (clouds),
    • подключённое какое-либо хранилище,
    • доступный на сервере php модуль mcrypt (иначе отобразится соответствующая ошибка и будет недоступно шифрование).

    Если используется копирование в облачное хранилище, предоставляемое компанией "1С-Битрикс", то дополнительно необходимы:

    Примечание: Хранение архива в хранилище компании "1С-Битрикс" не требует оплаченного и подключённого стороннего облачного хранилища. Однако такой способ имеет свои ограничения на размер файла в зависимости от редакции:
    • «1С-Битрикс: Управление сайтом» - Старт: 1 Гб;
    • «1С-Битрикс: Управление сайтом» - Стандарт: 2 Гб;
    • «1С-Битрикс: Управление сайтом» - Малый бизнес: 4 Гб;
    • «1С-Битрикс: Управление сайтом» - Эксперт: 6 Гб;
    • «1С-Битрикс: Управление сайтом» - Бизнес: 10 Гб;
    • «Битрикс24 в коробке» - Корпоративный портал: 20 Гб;
    • «Битрикс24 в коробке» - Холдинг: 50 Гб.

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

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

    Примечание: Облако "1С-Битрикс" доступно пользователям с активной лицензией. Если лицензия закончилась, то файл бекапа будет доступен в облаке "1С-Битрикс" в течение двух недель. Но восстановить резервную копию из облака можно только при наличии активного лицензионного ключа.

    Шифрование

    Хранение архива в облачном хранилище требует гарантии безопасности данных. Делается это с помощью шифрования. Для шифрования архива в настройках на закладке Параметры должна быть включена опция Шифровать данные резервной копии.

    Примечание: при размещении резервной копии в облачном хранилище "1С-Битрикс" отключить шифрование нельзя.

    Внимание! Пароль пользователя не хранится в системе Bitrix Framework или в компании "1С-Битрикс". При создании бэкапа на сервер компании "1С-Битрикс" передается только хеш пароля пользователя, который позволяет проверить корректность пароля, но не дает возможности распаковать архив.

    Компания "1С-Битрикс" не может восстановить или поменять пароль! Будьте внимательны, без знания этого пароля восстановить бэкап не удастся!

    Список резервных копий привязывается к лицензионному ключу (для многосайтовой установки облачное хранилище будет общее). Если даже произошла "утечка" ключа в чужие руки, то невозможно переполнить хранилище этого ключа: записывать резервные копии можно только с оригинальной установки (допускается еще одна копия для разработки). Повторный ввод ключа блокирует запись бэкапа.

    Если шифрование включено, то после отдачи команды на создание резервной копии появится окно для ввода пароля:

    Рекомендации по паролю: не менее 6 знаков с использованием спецсимволов.

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

    После задания пароля продолжится создание резервной копии.

    Резервную копию из облачного хранилища компании "1С-Битрикс" можно только восстановить. Из подключённого самостоятельно облака архив можно скачать на локальный носитель.



    Восстановление сайта в административном интерфейсе

    Для того, чтобы начать восстановление сайта в административном интерфейсе, нужно на странице Список резервных копий (Настройки > Инструменты > Резервное копирование > Список резервных копий) в меню действий над нужной копией выбрать пункт Восстановить:

    Далее система запустит мастер восстановления из резервной копии:

    • Если архив был сохранен в облаке «1С-Битрикс», то будет предложено выбрать файл с архивом (необходимо ввести коммерческий ключ, если он не был введен ранее в системе) и пароль:

    • Если архив с резервной копией был сохранен локально, то после ввода пароля (если архив запаролен) начнется распаковка архива:

    • После завершения распаковки файлов необходимо будет указать настройки соединения с базой данных, если при создании резервной копии был создан дамп базы данных, или пропустить восстановление базы данных:

      Настройки подключения к MySQL по умолчанию берутся из /home/bitrix/www/bitrix/php_interface/dbconn.php.

      Можно указать собственные параметры подключения к MySQL - в этом случае необходимо еще выбрать опцию Создать базу данных, если не существует.

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

    • Восстановление завершено:


    Примечание: О переносе сайта с одного сервера на другой можно прочитать в уроке Перенос продукта «1C-Битрикс» v.12.



    Регулярное резервное копирование

    Учебное видео
    Резервное копирование

    Содержание видеоролика может отличаться от текущей версии продукта. Более актуальная информация содержится в тексте урока.

    С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице Регулярное резервное копирование Настройки > Инструменты > Резервное копирование > Регулярное резервное копирование.

    Примечание: Детальное описание полей формы смотрите в документации.

    Размещение резервной копии возможно локально на сайте, либо в облаках: 1С-Битрикс и в стороннем облаке.

    Система позволяет задать:

    • включение/выключение регулярного копирования;
    • расписание копирования,
    • порядок удаления устаревших копий,
    • содержимое резервной копии (аналогичное настройкам при ручном архивировании)
    • режимы архивации.

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

    При автоматическом создании резервной копии, в отличие от ручного создания, приходится хранить пароль пользователя в базе данных в зашифрованном виде. Для шифрования используется лицензионный ключ. То есть несанкционированный доступ к файлу архива возможен, если только злоумышленник получит полный доступ к вашему сайту. Даже если такое произойдёт, то удалить архив сайта с облака "1С-Битрикс" ему не удастся.

    Настройки в продукте

    Для настройки регулярного автоматического резервирования необходимо:

    • выбрать функцию запуска копирования через облачный сервис 1С-Битрикс,
    • либо

    • настроить выполнение агентов на cron, запуская каждую минуту /bitrix/modules/main/tools/cron_events.php, что означает, что автоматическое резервирование будет выключено.
    • либо, если по каким-то причинам на проекте не используются агенты, то

    • поставить на нужное время задачу на cron на запуск /bitrix/modules/main/tools/backup.php.

    Как работает автоматическое резервное копирование

    Если выбрано копирование через облачный сервис, то для создания копии не нужно производить ни каких дополнительных действий. Этот вариант рекомендуется для простых проектов с малоопытными администраторами. Он наиболее простой в реализации.

    После запуска процесса на странице Настройки > Облако 1С-Битрикс > Расписание резервирования появится ваше расписание, уникальный идентификатор, которого передаётся облачному сервису. Далее при наступлении указанного времени создания резервной копии сервис откроет специальную страницу на вашем сайте и передаст ей требуемые параметры, чтобы создать бекап. Доступ к административной части не требуется и административный раздел может быть закрыт по IP.

    После выполнения копирования, на странице Настройки > Облако 1С-Битрикс > Резервные копии появится список всех создаваемых копий. (эти же копии отобразятся на странице Настройки > Инструменты > Резервное копирование > Список резервных копий, откуда и возможно их восстановление.)

    Примечание: В силу того, что резервное копирование делается на серверах в облаке, на странице Настройки > Облако 1С-Битрикс > Расписание резервирования время создания бекапа указывается во времени UTC.


    Скрипт /bitrix/modules/main/tools/cron_events.php выполняется на cron'е каждую минуту. Сначала он проверяет отправку почты и выполняет системные агенты. Затем, если наступило установленное в настройках время, создаётся резервная копия. Создание копии задано не через агент сознательно: чтобы отправка почты и выполнение агентов могли выполняться независимо от создания резервной копии.

    Скрипт запускается только раз в сутки. Если произошла какая-то ошибка при автоматическом резервном копировании, то создать архив в течение ближайших суток можно только вручную. Это сделано для того, что бы на хостинге не возникало неприятных ситуаций из-за ошибок и зацикливания резервного копирования.

    В случае ошибки в системный журнал заносится соответствующее уведомление. На странице Настройки > Инструменты > Резервное копирование > Журнал резервного копирования расположен фильтр системного журнала, настроенный на вывод только записей по резервным копиям:

    Список ссылок по теме:


    Резервное копирование до v 12

    Доступны несколько режимов создания резервной копии:

    • Стандартные режимы создания резервной копии (закладка Стандартные)

      Стандартные режимы создания резервной копии

      В форме представлены типовые режимы создания резервной копии:

      • Стандартный хостинг (подходит для большинства сайтов);
      • Выделенный сервер или VPS (оптимально по времени);
      • Безопасный режим (если другие режимы не работают: без сжатия, с перерывами между шагами).

      Будет создан полный архив публичной части текущего сайта (для многосайтовой конфигурации на разных доменах), ядра продукта и базы данных (только для MySQL), который подходит для полного восстановления системы и переноса на другой сервер.

      Примечание: Предустановленные сценарии отличаются длительностью шага и интервалами между шагами архивации, а также возможностью включения или отключения компрессии архива для уменьшения нагрузки сервера.

    • Специальные настройки создания резервной копии (закладка Расширенные)

      Форма позволяет произвести настройки создания копии сайта.

      Специальные настройки создания резервной копии

    Созданные файлы можно сразу же скачать с сайта и использовать на другом сервере.

    Скачивание архива

    В рамках файловой структуры сайта файлы копий хранятся в папке /bitrix/backup.


    Для переноса архива сайта на другой хостинг поместите в корневой папке нового сайта скрипт для восстановления restore.php и сам архив, затем наберите в строке браузера <имя_сайта>/restore.php и следуйте инструкциям по распаковке.

    Примечание: Скрипт restore.php можно скачать по ссылке, расположенной вверху, на той же странице Резервное копирование.

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.

    Подробнее про операцию переноса сайта с локальной машины на удаленный хостинг смотрите в уроке Перенос продукта.


    Резервное копирование по расписанию

    В Bitrix Framework есть функционал резервного копирования, но для создания резервной копии требуется участие администратора. Создание резервных копий по расписанию не предусмотрено так как есть объективные причины, не позволяющие это сделать достаточно эффективно.

    Создание архива - длительный и ресурсоёмкий процесс, на один хит это делать никак нельзя.

    Варианты решения задачи:

    • сделать интерфейс, через который можно запускать создание архива через внешний планировщик (cron);
    • использовать системные инструменты.

    Рассмотрим вариант для Unix.

  • Создаем скрипт
  • Как улучшить
  • Удаление старых архивов
  • Автоматическое восстановление
  • Как пользоваться?
  • Имеем unix подобную систему (Linux, Freebsd и т.д.) и возможность ставить задачи на cron. Традиционно unix предоставляет утилиту tar для создания архивов и bzip для сжатия, а база данных MySQL - утилиту создания дампа базы mysqldump.

    Создаем скрипт

    Архив портала по сути представляет дамп базы данных (содержимое БД в виде файла) и все файлы сайта (включая публичную часть и ядро Bitrix Framework).

    Значит, перейдём в корень портала и дамп базы создадим командой:

    mysqldump -hhost -uuser -ppass dbname > dump.sql

    А архив создадим командой:

    tar -czf archive.tar.gz 

    Теперь если это оформить в простейший скрипт, получим:

    #!/bin/sh
    ###### Config ######
    doc_root=/home/denis/www/test
    host=localhost
    username=username
    password=secret
    database=sitemanager_demo_start
    charset=cp1251
    ###################
    cd $doc_root &&
    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $doc_root/bitrix/backup/archive.sql &&
    tar -czf $doc_root/bitrix/backup/archive.tar.gz . &&
    echo OK

    В коде вводятся параметры конфигурации, необходимо указать соответственно свои:

    • путь к корневой папке портала (значение DOCUMENT_ROOT в phpinfo),
    • имя хоста,
    • имя пользователя,
    • пароль и имя БД,
    • кодировку базы данных. Для портала в UTF-8 надо написать utf8, иначе оставить как есть.
    Примечание: Обратите внимание, что пробелы ни перед, ни после "равно" не ставятся.

    Этот вариант скрипта переходит в корень портала, создаёт дамп базы в кодировке, которую мы указали, затем создаёт в папке bitrix/backup архив сайта.

    Конструкция && позволяет прервать выполнение в случае ошибки (например, не удалось подключиться к базе).

    Это будет работать, но в архив попадут архивы сайта, созданные ранее, кеш, да и часть текущего архива тоже, что, прямо скажем, не очень красиво. Поэтому скрипт лучше модифицировать.

    Как улучшить

    Можно воспользоваться параметром исключения --exclude для папки bitrix/backup, добавив дамп базы, который лежит в этой папке, отдельным вызовом. Заодно можно упростить настройку скрипта, адаптировав его под Bitrix Framework, ведь мы же знаем, что все данные подключения к базе хранятся в bitrix/php_interface/dbconn.php. Тогда в качестве настройки можно будет использовать только путь к корневой папке портала.

    #!/bin/sh
    doc_root=$1
    name=$2
    if [ -z $doc_root ]; then
       echo Usage: $0 /path/to/document/root [backup_name]
       exit
    fi
    
    if [ -z $name ]; then
       name=backup
    fi
    
    dbconn=$doc_root/bitrix/php_interface/dbconn.php
    
    readcfg() {
       grep $1 $dbconn | sed 's/.*"\(.*\)".*/\1/'
    }
    
    host=`readcfg DBHost`
    username=`readcfg DBLogin`
    password=`readcfg DBPassword`
    database=`readcfg DBName`
    
    utf=`grep 'BX_UTF' $dbconn | grep true`
    
    if [ -z "$utf" ]; then
       charset=cp1251
    else
       charset=utf8
    fi
    
    backup_dir=$doc_root/bitrix/backup
    
    if [ ! -e $backup_dir ]; then
       mkdir $backup_dir
    fi
    
    cd $doc_root && 
    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql && 
    tar -cf $backup_dir/$name.tar $backup_dir/$name.sql &&  
    rm $backup_dir/$name.sql &&
    tar -rf $backup_dir/$name.tar --exclude '*bitrix/tmp/*' --exclude '*bitrix/updates/*' --exclude '*bitrix/backup/*' --exclude '*bitrix/*cache/*' . && 
    gzip -f -9 $backup_dir/$name.tar && 
    echo OK && exit
    echo Error

    Этот вариант скрипта читает параметры dbconn.php, подключается к базе данных, делает дамп. Затем делает архив портала и сжимает его. Дамп удаляет. В случае необходимости создаёт папку bitrix/backup.

    На вход скрипт принимает два параметра: путь к корню портала и имя архива без расширения (не обязательный, по умолчанию backup).

    В случае успеха пишет ОК, иначе Error.

    Удаление старых архивов

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

    заменяем строку
    echo OK && exit
    на
    find $backup_dir -ctime +7 -exec rm {} \; && echo OK && exit

    Автоматическое восстановление

    Технически с помощью скрипта можно производить и автоматическое восстановление. Но автоматическое восстановление портала - процедура не безопасная. Что-то пойдёт не так и портал «упадёт». Это следует делать с большой осторожностью.

    Хотя само по себе восстановить базу несложно. Замените

    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql
    на
    mysql -h$host -u$username -p$password --default-character-set=$charset $database < $backup_dir/$name.sql
    и удалите всё что ниже.

    Внимание ! И всё же мы настоятельно не рекомендуем это делать на живом проекте в автоматическом режиме.

    Как пользоваться?

    • Сохраняем код скрипта в файле на хостинге, желательно за пределами корня портала, например backup.sh, делаем исполняемым:
      chmod +x backup.sh
    • Проверяем из корня портала:
      ./backup.sh
      Должно отобразиться OK, а в папке bitrix/backup появиться файл backup.tar.gz.
    • С целью безопасности лучше задать имя архива, иначе злоумышленник сможет скачать его по прямой ссылке: http://portal.ru/bitrix/backup/backup.tar.gz/ Например:
      /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup
    • Добавляем задачу на cron. Если мы хотим делать резервную копию регулярно в час ночи, пишем:
      crontab -e
      и
      0 1 * * * /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup
    • А если надо, чтобы каждый раз создавался новый архив с именем даты, запись может иметь вид:
      0 1 * * * /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup_`date +\%Y\%m\%d`

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


    Резервное копирование в облачное хранилище

    Файлы бекапа сайта можно размещать сразу (либо в последствии) в облачном хранилище. Для этого должно быть подключено хотя бы одно облачное хранилище. Если такое подключение имеется, то в форме создания резервной копии появляется дополнительная секция Облачные хранилища:

    При выборе для размещения архива в одном из облачных хранилищ, после локального создания бэкапа и проверки целостности, он будет по шагам передан в это хранилище.

    Если в файл архива включаются файлы из подключённых облаков (для этого нужно отметить флажками нужные хранилища в поле Файлы из этих хранилищ будут помещены в архив), то эти данные сохраняются в папку /bitrix/backup/clouds на момент архивации и удаляются после её завершения.

    Примечание: Эта возможность необходима, чтобы переехать с Битрикс24 на «Битрикс24 в коробке».

    Архивы, размещенные в облачных хранилищах, можно в любой момент скачать на локальный компьютер, а архивы, размещенные локально - загрузить в облачное хранилище:

    Для восстановления архива с помощью restore.php необходимо на втором шаге использовать ссылку по команде Получить ссылку для переноса.

    О безопасности данных

    Закономерны вопросы администраторов о безопасности хранения бекапов в облаке. Теоретически, получив прямую ссылку на сам архив, злоумышленник может скачать его. Однако отметим два момента.

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

    Второе. В архив "подмешивается" 8 символьная "соль", подобрать которую - задача крайне ресурсоёмкая и не стоящая затрат для целей получения данных с подавляющего большинства проектов.

    Резервное копирование из командной строки

    Если вы предпочитаете вместо штатных инструментов резервного копирования использовать запуск из командной строки, то учтите что перед выполнением бэкапа вам обязательно необходимо перейти в папку, где установлено «Битрикс: Веб-окружение», иначе не подключаются нужные модули php.

    Пример для Windows («Битрикс: Веб-окружение» размещено по пути c:\Bitrix\):

    cd c:\Bitrix\
    (Переход в папку.)
    "C:\Bitrix\apache2\zendserver\bin\php.exe" -c "C:\Bitrix\apache2\zendserver\etc\php.ini" -f "C:\Bitrix\www\bitrix\modules\main\tools\backup.php"
    (Выполнение бекапа без БД)

    Прочие настройки

    В главе приведено описание настроек функционала, не попавшего по классификации в другие разделы.

    Настройки кеширования

    Система Bitrix Framework включают в себя разные технологии кеширования:
  • Кеширование компонентов
  • Неуправляемое кеширование
  • Управляемое кеширование
  • HTML кеш
  • Кеширование меню
  • Примечание: Отдельным видом кеширования является Композитный сайт. Эта технология описана в отдельном курсе

    Основные настройки кеширования расположены на странице Настройки кеширования (Настройки > Настройки продукта > Автокеширование).

    Настройки кеширования компонентов задаются отдельно для каждого в диалоге Параметры компонента.

    Диалог "Параметры компонента"

    Примечание: Подсказка, расположенная ниже настроек времени кеширования в параметрах компонента отображает состояние текущих настроек ядра. Ссылка Изменить настройки кеширования позволяет перейти на страницу Настройки кеширования в административном разделе сайта.

    Кеширование компонентов и меню

    Автокеширование (кеширование компонентов)

    Использование технологии Автокеширования позволяет быстро подготовить сайт и компоненты проекта к работе в условиях стрессовых нагрузок или адаптировать сайт к работе.

    Суть автокеширования заключается в том, что все динамические компоненты, которые используются для создания веб-страниц, имеют встроенную поддержку управления кешированием. Для использования новой технологии достаточно включить автокеширование одной кнопкой в административном разделе. При этом все компоненты, у которых был включен режим автокеширования, создадут кеши и полностью перейдут в режим работы без запросов к базе данных.

    Внимание! При использовании режима Автокеширования, обновление информации, выводимой компонентами, происходит в соответствии с параметрами отдельных компонентов.

    Управление автокешированием располагается на закладке Кеширование компонентов:

    Закладка "Кеширование компонентов"

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

    Примечание: При включении режима автокеширования компонентов, компоненты с настройкой кеширования Авто + Управляемое будут переведены в режим работы с кешированием.

    Чтобы обновить содержимое закешированных объектов на странице, вы можете:

    1. Перейти на нужную страницу и обновить ее содержимое, используя кнопку Сбросить кеш на панели инструментов:

      Кнопка "Сбросить кеш"

      Примечание: Когда сбрасываете кеш кнопкой Обновить кеш страницы, имейте в виду, что компонент может использовать привязку к группам для хранения кеша (опция Учитывать права доступа) и тогда кеш сбросится только у тех пользователей, которые входят в те же группы, что и вы. Это касается и администратора сайта.

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

      Пример: Незарегистрированные пользователи будут по-прежнему видеть не актуальную страницу после нажатия кнопки Обновить кеш страницы при установленной опции Учитывать права доступа.

      Пункт меню Обновить кеш компонентов кнопки Сбросить кеш заставляет все компоненты, расположенные на странице, сбросить свой кеш. Кнопка (пункт) Обновить кеш страницы сбрасывает кеш всей страницы.

    2. В режиме Правки сайта использовать кнопки для очистки кеша в панели отдельных компонентов.

      Очистка кеша отдельных компонентов

    3. Использовать автоматический сброс кеша по истечении времени кеширования, для чего в настройках компонента выбрать режим кеширования Кешировать или Авто + Управляемое.
    4. Использовать автоматический сброс кеша при изменении данных, для чего в настройках компонента выбрать режим кеширования Авто + Управляемое.
    5. Перейти к настройкам выбранных компонентов и перевести их в режим работы без кеширования. (Значение Не кешировать в поле Тип кеширования)
    Резюме:

    В зависимости от настроек кеширования компоненты ведут себя по-разному:

    • При выборе опции Авто + Управляемое - автоматически обновляют кеш в течение заданного времени или при изменении данных.
    • Если выбрана опция Кешировать и время кеширования больше нуля, то они всегда работают в режиме кеширования.
    • Если выбрана опция Не кешировать и время кеширования равно нулю, то компоненты всегда работают без кеширования.

    Кеширование меню

    Для кеширования меню применяется специальный алгоритм, который учитывает тот факт, что большая часть посетителей - это незарегистрированные пользователи. Кеш меню управляемый и обновляется при редактировании меню или изменении прав доступа к файлам и папкам через административный интерфейс и API. Обычные пользователи вообще не заметят, что существует какой-то алгоритм кеширования.

    Примечание: Если производить правку меню вручную, то также потребуется скинуть вручную и кеш меню.

    Управляемое и неуправляемое кеширование

    Управляемое кеширование

    Технология управляемого кеширования или тегированный кеш (Сache Dependencies) автоматически обновляет кеш компонентов при изменении данных. Если управляемое кеширование включено, вам не потребуется вручную обновлять кеш компонентов, например, при изменении новостей или товаров, изменения сразу станут видны посетителям сайта. Управляемый кеш хранится в файлах каталога /bitrix/managed_cache/.

    Это сильно упрощает работу контент-менеджера и ускоряет работу сайта за счет того, что измененный редактором контент уже отдается из кеша.

    Внимание! Не все компоненты могут поддерживать управляемое кеширование.

    Включение управляемого кеширования производится на закладке Управляемый кеш.

    Примечание: Технология Сache Dependencies, как и весь продукт, может хранить кеш как в файлах, так и используя Memcached, APC, eAccelerator (eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков). Для этого достаточно изменить один из конфигурационных параметров.

    Для часто обновляемого большого массива данных использование тегированного кеша неоправданно.

    Неуправляемое кеширование

    Фактически это возможность задать правила кеширования ресурсоемких частей страниц. Результаты кеширования сохраняются в виде файлов в каталоге /bitrix/cache/. Если время кеширования не истекло, то вместо ресурсоемкого кода будет подключен предварительно созданный файл кеша. Кеширование называется неуправляемым, поскольку кеш не перестраивается автоматически после модификации исходных данных, а действует указанное время после создания, которое задается в диалоге Параметры компонента.

    Настройки неуправляемоего кеширования в диалоге "Параметры компонента"


    HTML кеш

    Внимание! С версии 16.0.14 главного модуля данный вид кеширования устарел и заменён технологией Композитный сайт. При использовании редакции Первый сайт необходимо очистить кеш компонентов.

    HTML кеш

    Примечание: HTML кеширование не поддерживается на многосайтовости на разных доменах.

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

    Для таких проектов рекомендуется использовать режим HTML кеширование вместо Автокеширования. В этом случае не происходит подключения PHP и дисковые подсистемы менее нагружены. Технология проста в эксплуатации, не требует от пользователя отслеживать изменения, защищена дисковой квотой от накрутки данных и самостоятельно восстанавливает работоспособность при превышении квоты или изменении данных. HTML кеширование работает в автоматическом режиме AJAX с компонентами 2.0.

    Ограничения в использовании: Не рекомендуется включать HTML кеш (или включать обдуманно, по разделам) для проектов, которые используют Веб-аналитику и модуль Рекламы.

    При включенном HTML-кешировании происходят следующие процессы:

    • Обрабатываются только страницы, не указанные в маске исключения и указанные в маске включения.
    • Если на такие страницы заходит не авторизованный пользователь, то выполняется проверка существования файла кеша. И если файл найден, то выдается страница из кеша. В этом случае не будет работать модуль статистики (не засчитаются хиты этого пользователя), модуль рекламы, главный и другие модули.
    • Если страница в кеше не найдена, то код исполняется в обычном режиме. Когда страница полностью сформирована, ее копия сохраняется в HTML-кеш;
    • Если на момент включения кеша был установлен модуль Компрессии, то страница будет отдаваться в сжатом виде.

    Очистка кеша происходит:

    • Автоматически, если сохраняемый объем приводит к превышению дисковой квоты кеша.
    • При любом изменении данных в административной части системы происходит полная очистка кеша.
    • Если в публичной части сайта происходит POST данных (например, добавление комментария или голосование). В этом случае сбрасывается соответствующая часть кеша.

    Для неавторизованных пользователей происходит удаление сессии при переходе на закешированные страницы. В результате этого:

    • Не ведется учет статистики.
    • Модуль Реклама будет работать только в момент создания кеша. (Это не относится к внешней динамической рекламе (Begun и пр.).)
    • Для неавторизованных пользователей результаты сравнения товаров не будут сохранены.

    Рекомендуется обязательно задать дисковую квоту в настройках HTML-кеширования во избежание DOS-атаки по дисковому пространству.

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

    Управление HTML-кешированием

    Управление HTML кешем располагается на закладке HTML кеш:

    Закладка "HTML кеш"

    • Маска включения - указываются файлы и типы файлов, которые будут обрабатываться html кешем.
    • Маска исключения - указываются файлы и типы файлов, которые не будут обрабатываться html кешем.
    • Дисковая квота (мегабайт) - указывается дисковая квота кеша (задается в мегабайтах).

    Для сохранения настроек используется кнопка Сохранить настройки HTML кеша.

    Для установки значений параметров равными значениям по умолчанию используется кнопка Установить настройки по умолчанию.

    Примечание: Файлы настроек и сами файлы кеша хранятся в папке /bitrix/html_pages/. Удаление этой папки и её содержимого не приведёт к сбою в работе системы, просто сбросятся настройки и сбросится сам кеш.

    Почему может не работать HTML кеш?

    Суть работы HTML кеша заключается в том, что он работает только для пользователя "впервые" зашедшего на сайт, у которого нет ID сессии. То есть например, если администратор вышел из системы, то HTML кеш работать не будет. Следовательно, если на странице есть функционал, который не может работать без старта сессии, то на таких страницах не будет работать этот вид кеширования. Пример такого функционала - CAPTCHA.

    Примечание: если компонент CAPTCHA размещён в шаблоне сайта, то кеширование не будет работать для всего сайта.

    Проверить работает или нет HTML-кеширование на какой-то конкретной странице можно добавив в URL страницы параметр ?show_page_exec_time=Y. Если внизу страницы появится надпись типа Время создания страницы: 0.****сек., то значит кеширование не работает. (Рекомендуется делать это в режиме инкогнито.)


    Очистка файлов кеша

    Очистка файлов кеша

    Закладка Очистка файлов кеша (Настройки > Настройки продукта > Автокеширование) используется для удаления файлов кеша, содержащих устаревшую или сбойную информацию:

    Закладка "Очистка файлов кеша"

    • Только устаревшие - Файлы, время жизни которых закончилось;
    • Все - Все файлы кеша;
    • Меню - Меню может быть закешировано, если происходят проверки доступа к различным пунктам меню, разделам. Данный пункт позволяет очистить этот кеш;
    • Весь управляемый - Все файлы раздела /bitrix/managed_cache/;
    • Все страницы HTML кеша - Удаление страниц HTML кеша.

    После удаления файлов кеша выводимые данные будут обновлены до актуального состояния. Новые файлы кеша будут создаваться постепенно по мере обращений к страницам с закешированными областями.

    Если растет папка /bitrix/cache/

    В данной папке находятся файлы не управляемого кэша.

    Иногда при создании файлов кэша им присваиваются такие права, которые являются недостаточными для последующего изменения или удаления этих файлов процессом веб-сервера. Это приводит к росту объема этой папки.

    При назначении прав на файлы и папки используются значения констант BX_FILE_PERMISSIONS и BX_DIR_PERMISSIONS из /bitrix/php_interface/dbconn.php, но часто срабатывает маска прав на сервере и чтобы избежать этого необходимо прописать в этом же скрипте:

    umask(000);
    @umask(~BX_DIR_PERMISSIONS);

    Смайлы

    Раздел Смайлы (Сервисы > Смайлы) - системный раздел для смайлов, используемых модулями системы.

    Примечание: На данный момент переход на системные смайлы главного модуля совершён не полностью. Часть модулей использует собственные наборы смайлов, детальнее об этом смотрите в описании соответствующих модулей.

    Для работы со смайлами используются понятия Галереи смайлов и Набор смайлов. Число Галерей и Наборов не ограничено. Каждая из Галерей может быть использована в любом из модулей. Выбор осуществляется в настройках модуля. Настройки Главного модуля являются настройками по умолчанию для остальных модулей:


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

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

    Один и тот же смайл может быть использован только в одной галерее.

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

    Создание галереи

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

    Создание набора

    Для создания набора достаточно заполнить поля формы с указанием Галереи к которой они относятся и произвести импорт архива смайлов.

    Для импорта необходимо заранее подготовить архив в формате ZIP. В простейшем виде архив может представлять из себя набор картинок, лежаших в корне архива. Но при использовании архива в таком виде импорт будет произведен по списку файлов с использованием меток в названии файла (если они есть). Варианты меток: "smile_" - смайл, "icon_" - иконка, "_hr" - высокое разрешение (применяется так же и для сверхвысокого разрешения Ultra HD).

    Например, при импорте в набор с кодом test файла smile_green_hr.png будет интерпретирован как "Смайл в высоком разрешении", а код вставки в редактор будет :test/green:.

    В результате потребуется дальнейшее редактирование каждого смайла в отдельности. Нужно будет отредактировать поля Название и Написание, которые будут добавлены в виде неудобном для использования:

    Чтобы избежать этого в архиве необходимо предусмотреть служебные файлы в формате csv. (В системе есть пример архива, который расположен по пути: /bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/modules/main/install/smiles)

    Служебных файлов должно быть как минимум два:

    • install.csv - данные для загрузки;
    • install_lang_**.csv - языковой файл, где ** - код языка, например, ru для русского.

    Если в системе есть несколько языков, то необходимо создать на каждый язык по своему языковому файлу.

    Поля в файлах в старом формате (до 15.5.2)

    Поля в файлах в текущем формате

    Так же доступно ручное добавление смайлов, в ходе которого его необходимо привязать к тому или иному набору. При ручной загрузке невозможно загрузить смайл в разрешении Ultra HD.

    Список ссылок по теме:

    • АПИ для работы со смайлами.
    • Пользовательская документация по смайлам.

    Сжатие css и js файлов

    Одним из способов повышения производительности является использование штатной функции объединения и сжатия css и js файлов, которое включается в настройках главного модуля (Настройки > Настройки продукта > Настройки модулей > Настройки главного модуля, раздел Оптимизация CSS) :

    При включении этой опции в идеальном случае на странице подключается 3 css и 3 js файла:

    1. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/kernel/styles.css - содержит css файлы ядра (файлы подключаемые из /bitrix/js). Данный набор css уникален для шаблона сайта. И накапливает в себе все нужные файлы по мере открытия разных страниц. Соответственно после "прогрева" кеша на сервере, на стороне клиента для всех страниц сайта загружается один раз.

      Этот набор стилей при подключение на страницу формирует js переменную в которой перечисляет уже загруженные стили для исключения повторной их загрузки средствами js. Также можно принудительно добавлять стили для загрузки.

    2. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/template_MD5(список файлов)/styles_MD5(от меток времени файлов).css. Этот набор содержит css файлы относящиеся к шаблону, в том числе файлы стилей подключенные в header.php и footer.php. Массив стилей формируется путем анализа файлов подключенных до рабочей области и после нее. Данный набор стилей в рамках шаблона сайта не уникален и может быть несколько вариантов. В идеале один или два.
    3. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/page_MD5(список файлов)/styles_MD5(от меток времени файлов).css . Этот набор содержит css файлы относящиеся к рабочей области и не уникален для шаблона сайта. То есть наборы для страниц формируются исключительно из наборов стилей в них участвующих, что снижает их вариативность. К тому же это самые маленькие по размеру наборы.

    Для js файлов действует полностью аналогичный алгоритм.

    Примечание: Слияние и сжатие файлов косвенно влияет на результаты выдачи в поисковых машинах. Файлы css и js влияют на время загрузки страницы поисковиком, что в свою очередь влияет на индексацию и ранжирование этой страницы. Это касается как Google так и Яндекса: поисковый робот полностью выгружает страницу вместе со всеми скриптами и стилями, замеряет время загрузки и сравнивает со средним временем загрузки страниц в соответствующей тематике.

    Включение опции Подключать минифицированные версии CSS и JS файлов позволяет уменьшить размеров файлов css, js и html. В процессе сжатия все комментарии к коду, переносы строк, лишние табы и пробельные символы удаляются. Это позволяет сэкономить от 10 до 20% от оригинального размера файла.

    Опция Создавать сжатую копию объединенных CSS и JS файлов позволяет экономить ресурсы сервера. При её использовании создается сжатый файл, для того чтобы NGNIX не сжимал файл js и css "на лету", а брал уже готовый файл.


    Агенты

    Агенты - это [dw]технология[/dw][di]О технологии агентов в курсе Разработчик Bitrix Framework...[/di], позволяющая запускать произвольные PHP функции (агенты) с заданной периодичностью. В самом начале загрузки каждой страницы система автоматически проверяет, есть ли агент, который нуждается в запуске и в случае необходимости - исполняет его.

    Внимание! Временная точность запуска агентов напрямую зависит от равномерности и плотности посещаемости сайта. Если вам необходимо организовать запуск каких либо PHP функций в абсолютно точно заданное время, то необходимо воспользоваться стандартной утилитой cron, предоставляемой большинством хостингов.

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

    Список используемых в системе агентов приводится на странице Список агентов (Настройки > Настройки продукта > Агенты):

    Для создания нового агента служит кнопка Добавить агента, расположенная на контекстной панели.

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.

    Дополнительно


    CAPTCHA

    CAPTCHA (от англ. "Completely Automated Public Turing test to tell Computers and Humans Apart" - "полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей") - компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру. В основном это задачи на распознавание символов.

    Внимание! Для работы CAPTCHA на сервере должна быть установлена библиотека FreeType library и Библиотека GD (функции imagecreatetruecolor и imagejpeg). Проверить их наличие можно на странице Проверка системы.

    Настройка CAPTCHA

    Форма Настройка CAPTCHA (Настройки > Настройки продукта > CAPTCHA) предназначена для настройки защиты от автоматических регистраций.

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

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации CAPTCHA.

    CAPTCHA необходимо настраивать так, чтобы исключить, по возможности, автоматическое распознавание. Рекомендуемые параметры:

    • Прозрачность текста в процентах - 40-50%,
    • угол отклонения от вертикали - от -30 до 30,
    • добавить нелинейные искажения,
    • шрифт лучше поменять на bitrix_captcha.ttf или какой-то другой не очень распространенный.

    Чтобы при этом пользователи не сильно страдали, допустимые символы лучше ограничить только цифрами. Но в любом случае необходимо искать компромисс между защитой от спама и неудобством для посетителей.

    Ниже даны примеры CAPTCHA, затрудняющие автоматическое распознавание:


    Примечание: Возможна установка пользовательских шрифтов в папку /bitrix/modules/main/fonts/. Поддерживаются файлы шрифтов в формате *.ttf. Некоторые шрифты могут отображаться некорректно!

    После настройки основных параметров необходимо подключить CAPTCHA. Существует несколько вариантов подключения:

  • Подключение CAPTCHA в настройках модуля
  • Подключение CAPTCHA в параметрах компонента
  • Подключение CAPTCHA в форме редактирования
  • Подключение CAPTCHA в своих скриптах, модулях или компонентах
  • Подключение CAPTCHA в настройках модуля

    Для таких модулей, как Блоги, Wiki и.т.д., CAPTCHA подключается прямо в настройках модуля.

    Рассмотрим пример использования CAPTCHA в настройках Главного модуля:

    Настройки главного модуля

    Опция Использовать CAPTCHA при регистрации позволяет включить использование CAPTCHA при регистрации новых пользователей.

    Подключение CAPTCHA в параметрах компонента

    CAPTCHA возможно подключить и для отдельных компонентов, например, Добавление элементов инфоблока (комплексный компонент), Каталог (комплексный компонент) и.т.д.

    Рассмотрим пример использования CAPTCHA в компоненте Форма обратной связи:

    Параметры компонента "Форма обратной связи"

    Опция Использовать защиту от автоматических сообщений (CAPTCHA) для неавторизованных пользователей позволяет включить CAPTCHA только для данного компонента.

    Примечание: Обычно настройки CAPTCHA в параметрах компонента используются для неавторизированных пользователей.

    Подключение CAPTCHA в форме редактирования

    В некоторых случаях использование CAPTCHA задается в форме создания/редактирования, например, Создание и редактирование блога, Создание и редактирование форума и.т.д.

    Рассмотрим пример использования CAPTCHA в политике безопасности группы пользователей:

    Опция Количество попыток ввода пароля до показа CAPTCHA позволяет задать количество неправильных попыток ввода пароля, после которых будет в форме авторизации выводиться CAPTCHA для пользователя из соответствующей группы.

    Внимание! Если в шаблоне компонента не предусмотрен вывод CAPTCHA, то возможна ситуация, когда система (при малом значении в поле Количество попыток ввода пароля до показа CAPTCHA) как бы "забывает" пароль пользователя не давая ему авторизоваться в системе. При этом при входе в административную часть (ваш_сайт/bitrix/admin/) авторизация осуществляется.

    Это происходит потому, что при последовательном неправильном наборе пары логин/пароль и при малом значении в поле Количество попыток ввода пароля до показа CAPTCHA) система ждёт ввода верного кода CAPTCHA. А пользователь этого не делает, так как шаблон не предусматривает вывод CAPTCHA.

    Подключение CAPTCHA в своих скриптах, модулях или компонентах


    ЧПУ

    Обработка адресов (UrlRewrite) применяется для того, чтобы скрипт мог отвечать не только по своему физическому, но и по любому другому указанному адресу. Например, можно задать такие настройки обработки адресов, что скрипт, лежащий в файле /fld/c.php и отвечающий по адресу:

    /fld/c.php?id=15

    будет отвечать также по адресу:

    /catalog/15.php

    Адрес, по которому будет отвечать скрипт, не должен физически существовать на сервере. Если такой адрес физически существует, то будет вызван скрипт по этому адресу. Система обработки адресов запущена в этом случае не будет.

    Механизм переопределения адресов можно использовать для переопределения любых URL, а не только связанных с компонентами.

    При добавлении на страницу компонента с поддержкой ЧПУ (если файл сохраняется с помощью API) автоматически создается правило переопределения адреса. Если страница создается не с помощью API, а, например, записывается через FTP, то необходимо выполнить пересоздание правил (кнопка на панели инструментов на странице управления правилами).

    Управление правилами преобразования адресов производится на странице: Настройки > Настройки продукта > Обработка адресов > Правила обработки. При необходимости можно создавать правила вручную в файле urlrewrite.php в корневой папке сайта.

    Для создания правил необходимо изучить хотя бы основы PCRE (Perl-совместимые регулярные выражения) и ознакомиться со всевозможными примерами разбора url-адресов с помощью масок.

    Особенности работы с правилами

    Система допускает создание нескольких правил для одного файла. Часто бывает лучше написать два-три понятных правила, чем объединить их через ИЛИ и сделать одно громоздкое правило "на все случаи жизни", которое непонятно как потом менять.


    В Bitrix Framework правило с более длинным условием (CONDITION) применяется первым, если условие подходит. Система сортирует все правила по условиям сначала по алфавиту и длине так, чтобы применить правила с более длинными условиями первыми, как более частные. А правила с короткими условиями в следующую очередь, как более общие. Таким образом, правило для элемента ^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.* будет применяться первым (как правило с более длинным условием) и, если условие не подходит, то применится правило для раздела с ^/news/([0-9a-zA-Z_-]+)/.*.

    Примечание: Рекомендуется всегда добавлять .* в конец Условия если оно задано. Это не будет избыточным символом, так как без них правило не будет работать в случае добавления в строку системой дополнительных параметров. Например, при добавленном параметре ?clear_cache=Y.


    Рекомендуется писать правила единообразно, так как из двух правил для раздела и детального просмотра, имеющих условия ^/news/([0-9a-zA-Z_-]+)/.* и ^/news/([\w-]+)/([\d]+)/.* не понятно, какое из правил сработает первым, поскольку длина обоих правил 26 символов и оба начинаются с /news/.

    Если правило для детального просмотра элемента написано ^/news/([\w-]+)/([\d]+)/.* то и правило для просмотра раздела нужно писать аналогично ^/news/([\w-]+)/.* чтобы правила не перемешивались при автоматической сортировке. Или, если писать для просмотра элемента ^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*, то тогда и для раздела использовать ^/news/([0-9a-zA-Z_-]+)/.*.

    Внимание! Придерживаться единообразия при написании правил внутри раздела важнее, чем стараться сократить количество самих правил за счёт использования ИЛИ в условии и непредсказуемо удлиняя их, сбивая сортировку правил.


    Учтите, что сортировка правил по длине условий производится при изменении их через административную часть (Настройки > Настройки продукта > Обработка адресов > Правила обработки), в том числе и когда добавляется через визуальный редактор компонент с ЧПУ. А при обработке ЧПУ-запроса просто перебирается массив правил из /urlrewrite.php в той последовательности, в которой они там находятся. И поиск длится до первого совпадения. То есть, если вы вручную изменили массив ЧПУ-правил в /urlrewrite.php и разместили запись с условием #^/news/([0-9a-zA-Z_-]+)/.*# выше #^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*#, то до второго условия дело никогда не дойдет, не смотря на то, что оно длиннее.


    При решения вопроса как лучше формировать ЧПУ элемента в каталоге — по ID или по символьному коду:
    /catalog/poleznye_shtuki/121.html
    или
    /catalog/poleznye_shtuki/ochen-poleznaya-zelenaya-shtuka-s-plazmennym-nabaldashnikom-i-ruchkoi.html
    учтите, что первый вариант понятнее, получение элемента по ID быстрее, чем по символьному коду, его удобнее диктовать и сложнее ошибиться. Но второй вариант гораздо выгоднее с точки зрения SEO.


    Если в адресах используются численные значения ID элемента (/main/news/12/), то возможна ситуация, когда численное значение будет иметь и символьный код раздела. В этом случае правило сработает не правильно. Для детальных страниц лучше бы использовать подобный принцип: /[секции]/элемент.php, тогда и проблем с ЧПУ не будет. Например, лучше использовать условие #^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)\.php.*#, чем условие #^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)/.*#


    При наличии в URL кириллицы могут возникнуть дополнительные проблемы, связанные с тем, что диапазон русских символов не является непрерывным. В этом случае надо использовать вместо логичного для латиницы условия ^/test/([0-9a-zA-Zа-яА-Я_-]+)/.*# такой вариант: #^/test/([0-9a-zA-Zа-пр-яА-ЯёЁ_-]+)/.*#.


    Примерный порядок действий, если правило должно работать, но не работает.

    1. Проверьте правильность создания правила
    2. Проверьте, возможно у вас срабатывает условие, которое находится в urlrewrite.php выше.
    3. Убедитесь, что подключается именно указанный в правиле файл, а не какой-нибудь другой.
    4. Сразу после подключения header.php добавьте для проверки код:
      echo '<pre>'.print_r($_REQUEST, true).'</pre>';
      Заодно увидите что у вас попадает в $_REQUEST.
    5. Если файл открывается правильный и в $_REQUEST порядок, тогда следует проверить параметры компонента и настройки инфоблока (доступ закрыт, деактивирован элемент, действительно нет элемента с данным ID и так далее).

    Список ссылок по теме:

    Тест для проверки проведенной настройки

    • Перейдите на страницу Настройки > Настройки продукта > Обработка адресов > Правила обработки:

    • Выберите пункт Новая запись, нужный сайт и заполните форму следующим образом:
      Условие: #^/sef_test/# 
      Компонент: ничего не указываем 
      Файл: /index.php (нужно указать файл, который фактически будет работать) 
      Правило: ничего не указываем. 

      Сохраните изменения.

    • Перейдите по адресу в разделе /sef_test/.
      Например, http://localhost/sef_test/test.html.

      Если ЧПУ работает, то вы должны увидеть содержимое страницы, указанной в поле Файл в правиле переопределения.

    Примеры правил

  • Нужно, чтобы страница вида:
    /gospel/pericope/?ELEMENT_ID=545&SECTION_ID=208

    откликалась на адрес вида:

    /gospel/pericope/545/208/

    Создайте правило с параметрами:

    • Условие: #^/gospel/pericope/([0-9]+)/([0-9]+)/#
    • Компонент:
    • Файл: /gospel/pericope/index.php
    • Правило: ELEMENT_ID=$1&SECTION_ID=$2

  • Как можно вручную настроить ЧПУ, используя символьный код разделов инфоблока.

    Например, для ЧПУ-пути /some_sef_folder/section_code/, где section_code - символьный код секции. ЧПУ-правило будет:

       array(
          "CONDITION"   =>   "#^/some_sef_folder/([0-9a-zA-Z-]+)/.*#",
          "RULE"   =>   "SECTION_CODE=$1",
          "ID"   =>   "",
          "PATH"   =>   "/real_script_path/index.php",
       ),

    В скрипте /real_script_path/index.php в настройках компонента параметру символьного кода секции нужно указывать $_REQUEST['SECTION_CODE']

    Для ЧПУ-пути /some_sef_folder/section_code/element_id.php, где section_code - символьный код секции, а element_id - целочисленный код элемента. ЧПУ-правило будет:

       array(
          "CONDITION"   =>  "#^/some_sef_folder/([0-9a-zA-Z-]+)/([0-9]+)\.php.*#" ,
          "RULE"   =>  "SECTION_CODE=$1&ELEMENT_ID=$2" ,
          "ID"   =>   "",
          "PATH"   =>  "/real_script_path/index.php" ,
       ),

    В скрипте /real_script_path/index.php компоненту нужно передавать $_REQUEST['SECTION_CODE'] и $_REQUEST['ELEMENT_ID'] соответственно.

    some_sef_folder - ЧПУ-путь, может не существовать реально на сервере.
    real_script_path - путь к реальному скрипту-обработичку на сайте, который будет генерировать результат.


  • Для случаев:
    1. Один из разделов каталога (site.ru/каталог/название_раздела1/) выводить по адресу site.ru/другое_название_раздела1/
    2. Одну из статей (site.ru/статьи/название_статьи1/) выводить по адресу site.ru/другое_название_статьи1/
    3. Один из подразделов (site/раздел/подраздел/) выводить по адресу site.ru/новое_название/
    4. Одну из статей (site.ru/раздел/статьи/название_статьи2/) выводить по адресу site.ru/другое_название_статьи2/

    Подойдёт правило:

    • Условие: /другое_название_раздела1/
    • Компонент:
    • Файл: #^/каталог/название_раздела1/#
    • Правило:

    Пример приведёт для первого случая, остальные варианты аналогичны.


  • Есть правило:
    • Условие: #^/([^/]*)-([^-]*)#
    • Компонент:
    • Файл: /catalog/index.php
    • Правило: PARENT_SECTION_CODE=$1&SECTION_CODE=$2&

    Пути вида: http://site.com/код раздела_код подраздела не обрабатываются этим правилом.

    Причина: знак минус в выражении [^-] воспринимается как служебный, обозначающий диапазон, а служебные символы нужно предварять знаком "\", т.е. писать вместо минуса "\-". Однако этого недостаточно если код подраздела состоит не только из символов, например: "1-xxxx", "2-xxxx".

    Причина в первом квантификаторе в первых круглых скобках, действие которого нужно ограничить знаком "?". Конечное условие: #^/(R.*?)\-(.*)/#


  • Два правила.

    Правило:

    • Условие: #^/cat/([a-z0-9\_]+)/([a-z0-9\_]+)*#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_ID=$2

    для site.ru/cat/razdel/element/ откроет тоже самое, что и для site.ru/cat/razdel/

    Лучше сделать два правила. (Использование двух правил допускается системой).

    Первое:

    • Условие: #^/cat/([a-z0-9\_]+)/(\d+)/\?(.*)?#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_ID=$2&$3

    Второе:

    • Условие: #^/cat/([a-z0-9\_]+)/([a-zA-Z]{1}[a-zA-Z0-9]*)/\?(.*)?#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_CODE=$2&$3

  • Надо сократить урл. Например, вместо http://epic.tm/catalog/men/ выводить http://epic.tm/men/.

    1) Создайте файл /catalog/list.php следующего вида:

    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Показ раздела");
    ?>
    
    <pre><?print_r($_REQUEST);?></pre>
    
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

    2) Добавьте правило в /urlrewrite.php:

       array(
          "CONDITION"   =>  "#^/([^\\/]+)/($|index\\.php|\\?.*)#" ,
          "RULE"   =>  "SECTION_CODE=$1" ,
          "ID"   =>   "",
          "PATH"   =>  "/catalog/list.php" ,
       ),

    3) Откройте в браузере страницу http://epic.tm/men/. Если у вас показывается страница /catalog/list.php, значит, всё сделано правильно. Разместите на этой странице вызов компонента bitrix:catalog.section и настройте компонент.

    4) Поправьте поле "URL страницы раздела" в настройках соответствующего инфоблока.


  • Как настроить ЧПУ если используется catalog:sections и element:detail вместо комплексного компонента. Ссылки на разделы каталога должны иметь вид /catalog/section-name/, а на товары /catalog/section-name/element-name/.

    1) Создайте два правила:

    • Условие: #^/catalog/([\w,-]+)/([^/]*)#
    • Компонент:
    • Файл: /catalog/index.php (в этом файле у вас вызов компонента catalog.sections)
    • Правило: SECTION_CODE=$1
    и
    • Условие: #^/catalog/([\w,-]+)/([\w,-]+)/([^/]*)#
    • Компонент:
    • Файл: /catalog/detail.php (в этом файле у вас вызов компонента element.detail)
    • Правило: SECTION_CODE=$1&ELEMENT_CODE=$2

    2) В настройках инфоблока каталога укажите:
    URL страницы раздела: #SITE_DIR#/catalog/#SECTION_CODE#/
    URL страницы детального просмотра: #SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/

    3) В настройках компонентов укажите:
    Код раздела: ={$_REQUEST["SECTION_CODE"]} (для компонента catalog.sections) Код раздела: ={$_REQUEST["ELEMENT_CODE"]} (для компонента element.detail)


  • Обработка адресов поддерживает регулярные замены. Пример объединения трех правил (для трех языков) в одно:
    • Условие: #^/([de|ru|ua]+)/products/test/([0-9]+)(.*)#
    • Компонент:
    • Файл: /$1/products/test/index.php
    • Правило: SECTION_CODE=$2

  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #^/gallery/#
    • Компонент:
    • Файл: /max/images/index.php
    • Правило:

    и пользователем запрошена страница /gallery/38.php, которая физически не существует, то система обработки адресов подключит скрипт /max/images/index.php.


  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #^/index/([0-9]+)/([0-9]+)/#
    • Компонент:
    • Файл: /newforum/index.php
    • Правило: mode=read&CID=$1&GID=$2

    и пользователем запрошена страница /index/5/48/, то будет подключен скрипт /newforum/index.php?mode=read&CID=5&GID=48.


  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #(.+?)\\.html(.*)#
    • Компонент:
    • Файл:
    • Правило: $1.php$2

    и пользователем запрошена страница /about/company.html?show, то будет подключен скрипт /about/company.php?show.


  • Обеспечение безопасности

    В обязанности администратора напрямую входит решение проблем, связанных с безопасной эксплуатацией сайтов.

    В значительной мере безопасность проекта закладывается при его создании. Тем не менее от администратора зависит:

    • Использование надежных паролей для пользователей, имеющих доступ в административную часть.
    • Обеспечение надежного хранения админских паролей, паролей доступа по FTP. (Предпочтительно использование SFTP/SCP)
    • Обеспечение доступа на сайт по SSL.
    • Грамотная работа с модулем Проактивная защита.
    • Грамотное использование штатных систем безопасности Bitrix Framework.
    Внимание! Статистика Техподдержки Bitrix Framework показывает что основная проблема со взломами сайтов - это вирусы на административных компьютерах. Можно порекомендовать использовать регулярно обновляемые антивирусы, регулярно обновлять компоненты системы (браузер, флеш, Java, саму систему и прочее).

    Список ссылок по теме:

    Безопасная авторизация

    Пароли для большинства сайтов передаются в открытом виде, если не используется SSL. Отказ от использования SSL связан в большинстве случаев с административным фактором. Тем не менее проблему передачи паролей и логинов в открытом виде надо решать. Это можно сделать с помощью штатной функции Безопасная авторизация.

    Безопасная авторизация - функция, обеспечивающая зашифрованную передачу пароля пользователя. Шифрование пароля не является заменой SSL. Безопасная авторизация защищает от перехвата пароля только при прослушивании трафика.

    Если у злоумышленника есть возможность изменять трафик, то шифрование не поможет. При разработке функции исходили из того, что изменить трафик сложнее, чем прослушать его (тот же открытый WiFi). Более того, шифрование паролей не защищает от перехвата сессии, но у сессии есть свои механизмы защиты (привязка к IP, частое изменение кода сессии). В целом можно сказать, что уровень защиты повысился, но лучше использовать SSL.

    Подключается Безопасная авторизация в настройках главного модуля на закладке Авторизация:

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

    По нажатию на Сгенерировать ключ происходит генерация ключа RSA.

    RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом.

    Размер ключа зависит от библиотек, установленных на сервере. По умолчанию используется модуль PHP openssl, который создаёт 1024-битный ключ. Его и рекомендуется использовать. Если модуль не установлен, то возможно использование bcmath с генерацией 512-битного ключа. Если нет ни того ни другого модуля, включить шифрование нельзя.

    Генерация ключа выполняется один раз. Повторную генерацию производить необходимо, если есть подозрения в компрометации ключа.

    Внимание! На браузерах клиентских компьютеров должно быть разрешено использование Javascript.

    Алгоритм работы

    1. Вместе с формой авторизации клиенту передается открытый ключ.
    2. Перед отправкой формы авторизации, Javascript перехватывает отправку, зашифровывает пароль, с использованием открытого ключа, и отправляет на сервер.
    3. Сервер, принимает шифротекст, расшифровывает его с использованием секретного ключа, и проводит аутентификацию пользователя.

    Настройка HTTPS-соединения

    Перевод сайта на работу по протоколу https обеспечивает защиту от атак, основанных на прослушивании сетевого соединения. Действия по такому переводу не сложны, но требуют определённых знаний. В административном разделе "1С-Битрикс: Управление сайтом" создана специальная страница с указанием последовательности работ по настройке HTTPS соединения. Поясним каждый из пунктов этого списка.

    Нажмите на рисунок, чтобы увеличить

    Внимание! Для выполнения работ администратор должен иметь полный доступ к проекту.

    Подготовить сайт к переходу на HTTPS

    • Изменить ссылки, используемые в проекте, с абсолютных на относительные.

      Требуется в каждом файле проекта поменять ссылки вида http://_ваш_сайт/bitrix/admin/*** поменять на /bitrix/admin/***: убрать указание на протокол и домен.

    • Проверить и изменить для контента (видео, картинки), загружаемого со сторонних ресурсов, протокол, по которому проект запрашивает контент.

      Пункт лёгкий для исполнения, если используются стандартные компоненты "1С-Битрикс: Управление сайтом": штатные компоненты работают по умолчанию "как надо". Если используются кастомизированные компоненты, то проверьте , что этот пункт в них выполняется.

      Сложнее ситуация, если используется решение от партнёров "1С-Битрикс". В этом случае нужно либо обратиться к разработчику решения для внесения таких правок, либо произвести эти правки самостоятельно.

      Определить наличие неверных указаний протокола можно с помощью консоли. При открытии страниц сайта будут отображены неверные ссылки:

    • Изменить подключение внешних скриптов с абсолютных на относительные. Внешние скрипты: различные счётчики, виджеты "Обратный звонок" и подобные, обращение к сторонним библиотекам, шрифтам и так далее.

      Если используются внешние скрипты, то нужна уверенность, что они работают корректно. Если это счётчики Google или Yandex или скрипты иного "серьёзного" проекта, то тут, как правило, всё работает правильно. Если разработчик стороннего скрипта недостаточно профессионален, то такие ошибки так же отслеживаются в консоли. Самостоятельное исправление невозможно, нужно либо обратиться к разработчику внешнего скрипта с просьбой исправить его работу, либо поискать другой внешний скрипт, решающий ваши задачи и работающий корректно по протоколу HTTPS.

    Установить SSL-сертификат

    • Выбрать и получить сертификат.

      Простая процедура, просто выберите поставщика, оплатите и получите.

    • Установить полученный сертификат на хостинг.

      Операция требует определённой квалификации. Если она у вас есть - то пояснять вам нечего и незачем вам читать эту страницу. Если квалификации нет, то обратитесь к хостеру: его администраторы установят сертификат.

      Если используется BitrixVM, то установить сертификат можно так.

      Если сертификат из нескольких файлов

    • Проверить доступность сайта через HTTPS-протокол. В консоли не должно быть красных строк.

    Выполнить важные изменения на сайте

    • Установить директиву Host в файле robots.txt на протокол HTTPS.

      Простая операция. В файле robots.txt в директиве Host исправить протокол с http на https.

    • Установить 301 редирект с HTTP на HTTPS.

      301 редирект на HTTPS задаётся в файле .htaccess. Это файл занимает много места в памяти, поэтому через год редиректы рекомендуется удалить. За этот год произойдёт полная переиндексация сайта в поисковых системах.

      Примеры установки редиректа:

      Если используется BitrixVM, то достаточно отключить http в меню виртуальной машины. (Выполняется после подключения ssl-сертификатов в BitrixVM.)

      Внимание! Отключение протокола HTTP - обязательная опция, оставлять его нельзя.

    • Изменить ссылки в файле sitemap.xml.

      Аналогично с файлами проекта изменяются ссылки в файле sitemap.xml. Либо пересоздать этот файл с выбором настройки HTTPS в поле Адрес карты сайта.

    • Примечание: В списке выше указаны основные моменты настройки системы на работу по протоколу HTTPS. Кроме них нужно дополнительно произвести настройки функционала, если этот функционал используется:
      • Если используется CDN, то поставить флажок в поле Сайт работает по https в настройках сервиса Ускорение сайта CDN.
      • Установить флажок в поле Использовать в выгрузке протокол https в выгрузке Yandex. (Рабочий стол > Магазин > Настройки > Экспорт данных).
      • В настройках модуля E-mail маркетинг надо включить https для ссылок в письмах (Настройки > Настройки продукта > Настройки модулей > Email-маркетинг).
      • Указать пути в настройках модуля Push and Pull (Настройки > Настройки продукта > Настройки модулей > Push and Pull).
      • Отключить HTTP в Глобальных действиях Панели управления масштабированием.
      • Изменить настройки URL сайта в форме редактирования сайта, если ваш сайт подключён к Контролеру другого сайта.
      • В случае коробочной версии Битрикс24 к ним добавляются:
      • Установка протокола https в поле Публичный адрес сайта на страницах:
        • Настройки > Настройки продукта > Настройки модулей > Коннекторы для внешних мессенджеров
        • Настройки > Настройки продукта > Настройки модулей > Открытые линии
        • Настройки > Настройки продукта > Настройки модулей > Распознавание лиц
        • Настройки > Настройки продукта > Настройки модулей > Телефония
        • Настройки > Настройки продукта > Настройки модулей > Чат-боты Битрикс24

    Оповестить поисковики об изменениях

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

    • Добавить HTTPS-версию сайта в панель для вебмастеров Яндекс Вебмастера и Google Search Console.

      При этом старый сайт удалять не рекомендуется до тех пор, пока тИЦ не "переедет" на новый сайт. Это примерно два месяца. Теоретически, после того как это произойдёт, можно старый сайт удалить, но рекомендуется оставить его не менее чем на год. В Google сайт лучше не удалять совсем.

    • Изменить адрес в панели Яндекс Вебмастера и Google Search Console.

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

    Контроль за изменениями в системе

    Одной из задач обеспечения безопасности в работе сайта является мониторинг изменений в системе. Для осуществления такого мониторинга можно использовать несколько инструментов.

    Журнал событий

    Журнал событий настраивается на одноименной закладке Главного модуля.

    Журнал изменений

    Специальный компонент Журнал изменений (bitrix:event_list), который выводит список изменений:

    • пользователи (добавление);
    • страницы (изменение, добавление, удаление);
    • меню (изменение, создание, удаление);
    • файлы (изменение, добавление, удаление, перемещение, копирование, переименование);
    • разделы (добавление, изменение, удаление, перемещение, копирование, переименование);
    • инфоблоки (добавление, изменение, удаление элементов и разделов);
    • форумы общие и в рамках социальных сетей (сообщение: скрытие,показ, изменение, перенос, удаление; тема: показ, скрытие, прикрепление, открепление, открытие, закрытие, удаление, изменение).

    Для использования компонента создайте отдельную страницу на сайте с доступом к ней для нужной группы пользователей. Разместите на ней указанный компонент и настройте ег