1с сервер приложений что это
Перейти к содержимому

1с сервер приложений что это

  • автор:

1с сервер приложений что это

Сервер 1С – это специальная программа, которая позволяет запустить 1С в компании в клиент серверном режиме. Что все это значит?

Вообще 1С может работать в двух режимах. Первый обычно называют файловый. Программа, которую запускает пользователь (клиент 1С) на своем компьютере самостоятельно работает с базой данных.

Второй режим называют клиент серверный (или просто – серверный). Это значит, что на сервере (компьютере) запущена специальная программа – сервер 1С (программа, еще ее называют Сервер приложений 1С). Программа, которую запускает пользователь (клиент 1С) на своем компьютере, работает с программой сервер 1С, а уже та в свою очередь работает с базой данных. В качестве базы данных используется СУБД – MS SQL или подобная.

Сервер 1С обычно используют в следующих случаях:

  • База данных большая (4Gb+)
  • Количество пользователей большое (20-30+)
  • Используется тонкий или веб клиент 1С (вообще любая разновидность связки 1С и веб)
  • Хочется работать с 1С на Linux.

Что такое сервер 1С

Для исключения путаницы разберемся что имеют ввиду, когда говорят «Сервер 1С»:

  • Это программа Сервер 1С (обычно запускаемая как сервис Windows)
  • Это сервер, на котором работает эта программа (т.е. компьютер)
  • Это сервер, на котором работает MS SQL, на котором расположена база данных, которой управляет программа Сервер 1С
  • Это сервер, на котором работает веб сервер Apache или MS IIS, через который работает веб-клиент 1С.

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

Реальная схема работы Сервера 1С

Сервер 1С (точнее сервер приложений 1С) – это программа 1С, установленная [чаще всего] как сервис Windows. Также ее можно установить как обычную программу и использовать автозагрузку для ее старта при загрузке Windows. Также сервер 1С можно установить под Unix/Linux, для этого есть отдельный дистрибутив (ссылку как установить под Linux смотри здесь).

Сервер 1С не является одной программой, а состоит из несколько процессов:

  • Агент сервера (ragent.exe) – собственно и является сервером 1С. Он ничего не делает кроме хранения и идентификации одного или группы кластеров 1С.
  • Кластер 1С (rmngr.exe) – группа рабочих процессов 1С, которые осуществляют собственно обработку данных. Сам по себе кластер ничего не обрабатывает, а осуществляет менеджмент рабочих процессов.
  • Рабочий процесс 1С (rphost.exe) – собственно «рабочая лошадка», которая обрабатывает сеанс работы пользователя.

Таким образом один сервер 1С может состоять из нескольких кластеров (которые могут быть расположены на разных компьютерах), а каждый кластер может состоять из нескольких процессов. Что это дает?

С помощью создания нескольких кластеров Вы балансируете общую стабильность системы. При падении одного из кластеров (или серверных компьютеров) – работу продолжит другой кластер.

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

Схема работы сервера 1С с другими составляющими 1С системы

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

СУБД (в разговоре многие называют SQL, хотя это неправильно) – это система управления базами данных. Устно часто называют как «эс-ку-эль» или «скуль» или «сиквел». В большинстве случаев с 1С используют MS SQL, так как это сложилось исторически. В версии 8.2 появилась поддержка Oracle и IBM DB2, а также для тех, кто хотел бы собрать полностью лицензионную и бесплатную систему на Linux – PostgreSQL, распространяемый бесплатно (лицензионный).

СУБД в малонагруженных системах обычно ставят на тот же компьютер сервер, что и сервер 1С. В этом случае необходимо проследить за настройками MS SQL, в том числе по использованию памяти.

В сильнонагруженных системах MS SQL и сервер 1С разносят на разные компьютеры (в сложных случаях даже сам сервер 1С разносят на несколько компьютеров). Они по разному используют ресурсы компьютера, обоим требуется процессор и винчестер. Со стороны сервера 1С нагрузка больше на процессор и память (на винчестере только хранятся временные файлы). Со стороны MS SQL при активной работе пользователей по вводу документов – это множество мелких чтений/мелких записей.

В веб варианте дополнительно используется веб сервер. Он требуется когда:

  • нужна работа 1С с веб (веб сервисы, веб расширение)
  • использование тонкого клиента 1С через интернет
  • использование веб клиента.

Веб сервер не выполняет никаких 1С действий и выполняет функцию прокладки между клиентом и сервером 1С. Т.е. все действия он передает (транслирует) для выполнения на сервер 1С. Работа веб сервера IIS с сервером 1С построена на базе ISAPI расширения, из дистрибутива 1С.

Управление сервером 1С

Управление сервером 1С производится с помощью специальной утилиты Администрирование серверов 1С. Утилита находится в меню 1С:Предприятие по кнопке Пуск.

Если у Вас на компьютере установлено несколько версий 1С, то консоль обычно запускается – последней версии (при установке регистрируется версия консоли). Обратите внимание, что версия консоли и версия программы сервер 1С должны совпадать.

Если Вам нужно запустить консоль предыдущей версии – в меню Пуск конкретной версии 1С можно выбрать команду Регистрировать утилиту администрирования. После чего попробуйте запустить консоль снова.

Окно консоли управления делится на две части – левую (со списком параметров) и правую (информационная панель). При первом запуске панель слева будет пустая.

Чтобы добавить сервер 1С, которым мы будем управлять, и который уже установлен и запущен – необходимо нажать правой кнопкой на строку Центральные серверы 1С и выбрать Новый сервер 1С. В качестве Имени нужно ввести IP адрес или имя компьютера, на котором установлен и запущен сервер 1С.

Чтобы войти в добавленный/выбранный сервер – раскройте ветку нажав на крестик слева от имени/IP адреса:

Клиент-серверный вариант работы

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

Клиент-серверный вариант работы

  • клиентское приложение,
  • кластер серверов «1С:Предприятия 8»,
  • сервер базы данных.

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

При этом физически кластер серверов «1С:Предприятия 8» и сервер баз данных могут располагаться как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между серверами.

Использование кластера серверов «1С:Предприятия 8» позволяет сосредоточить на нем выполнение наиболее объемных операций по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность кластера серверов гораздо проще, чем обновить весь парк клиентских машин.

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

  • механизм запросов ориентирован на максимальное использование СУБД для выполнения расчетов и составления отчетов,
  • просмотр больших динамических списков обеспечивается без выполнения большого количества обращений к базе данных; при этом пользователю предоставляются возможности эффективного поиска, а также настройки отбора и сортировки.

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

Клиентские приложения

Работа в клиент-серверном варианте возможна как напрямую с кластером, так и через веб-сервер. При этом в случае непосредственного подключения к кластеру толстый клиент и тонкий клиент используют протокол TCP/IP. При подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.

Клиент-серверный вариант работы

Кластер серверов

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

Сервер баз данных

  • Microsoft SQL Server,
  • PostgreSQL,
  • IBM DB2,
  • Oracle Database.

Администрирование кластера серверов

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

Выполнение основной функциональности на сервере

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

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

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

Клиент-серверный вариант работы

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

  • Запросы к базе данных,
  • Запись данных,
  • Проведение документов,
  • Различные расчеты,
  • Выполнение обработок,
  • Формирование отчетов,
  • Подготовка форм к отображению.
  • Получение и открытие форм,
  • Отображение форм,
  • «Общение» с пользователем (предупреждения, вопросы…),
  • Небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество),
  • Работа с локальными файлами,
  • Работа с торговым оборудованием.

Использование встроенного языка на клиенте

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

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

Клиент-серверный вариант работы

На клиенте не допускается непосредственная работа с базой данных. Не допускается работа непосредственно с прикладными объектами, например, недоступны такие типы встроенного языка, как СправочникОбъект.<имя>. Не допускается использование запросов. При необходимости вызова действий с данными в клиентском коде нужно вызывать серверные процедуры, которые уже будут обращаться к данным.

Сервер 1С — что это и как работает

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

Сервер 1С включает два компонента: сервер приложений, обрабатывающий данные, и SQL сервер, который хранит данные. Совместим с такими продуктами, как: Microsoft SQL Server, Linux PostgreSQL, IBM DB2. Сервер 1С выступает посредником между сервером баз данных и клиентскими компьютерами. Он берет на себя тяжелые вычислительные задачи, существенно разгружая клиентские компьютеры.

До выхода линейки версий 1C 7 понятия сервер не существовало – была просто программа 1С, которая плавно эволюционировала в «толстый клиент». Она работала с собственной файловой базой, то есть все хранили в файле на диске, или сетевом диске на другом сервере.

Файл-серверные архитектуры применяют и сейчас, но они имеют ряд ограничений. Например, трудно организовать одновременную работу нескольких пользователей, ограничен размер базы и быстродействие, а при большой номенклатуре (как у оптовиков) БД просто не справляется с запросами.

Важным развитием 1С стал переход на технологию клиент-сервер. В платформе 7.7 появилась экспериментальная SQL-версия, которая использовала для хранения базы данных и управления ею отдельную СУБД.

В 1С:Предприятие 8.0 произошло разделение на клиентские и серверные процедуры. С тех пор установка и настройка сервера 1С стали штатной возможностью.

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

Когда пользовательских сессий больше десяти, локальная сеть перегружается, что сильно замедляет параллельную работу. Например, если 1C пользуется отдел из 20 человек, плюс руководство и кассиры в точках продаж. Другой пример – оптовый поставщик. Пользователей немного – пять человек, но номенклатура товаров и список контрагентов огромны. В таких случаях сервер 1С становится необходимостью. В первую очередь, для быстродействия. Кроме того, это безопаснее – файл легко скопировать, а когда база хранится в СУБД на сервере, сделать это не так просто. Также серверная версия облегчает администрирование – один сервер обновить проще и дешевле, чем все клиентские машины.

Как работает сервер 1С

как работает сервер 1С

Архитектура решения может быть разной, в зависимости от целей. В общем случае она включает следующие компоненты: сервер 1С: предприятие и сервер СУБД, чаще всего MSSQL или PostgresSQL PRO. Это программные сервера, которые могут находиться как на физических, так и на виртуальных серверах, на одном или на разных. Чтобы гарантировать быстродействие, лучше использовать один.

Клиенты. Если необходимо запускать платформу на ПК (например, при использовании определенных моделей торгового и кассового оборудования) – программы-клиенты устанавливаются на рабочих устройствах. Ключи защиты вставляются в эти компьютеры, раздаются по сети специальной программой или сервером 1С.

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

Другой вариант – программа-клиент устанавливается на том же сервере, что и сервер 1С, или на «соседнем», а пользователи заходят по RDP.

Сервер 1С в облаке

Построение инфраструктуры под платформу 1С предполагает большие единовременные вложения, плюс траты на обслуживание и обновление, найм ИТ-специалистов и т.д. Альтернативное решение – аренда инфраструктуры под 1С в облаке провайдера по модели IaaS. Сервер 1С на виртуальной машине обойдется значительно дешевле — нужно будет оплачивать только фактически использованные ресурсы.

Дополнительно клиент получает высокую безопасность и конфиденциальность, так как все данные хранятся в надежном и защищенном дата-центре. Ежедневное резервное копирование исключает риски потери информации. Кроме того, даже самые высоконагруженные БД 1С функционируют в облаке быстро и без сбоев, а если база выросла, можно в пару кликов ее масштабировать, заказав дополнительные ресурсы.

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

Аренда 1С в Cloud4Y

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

Как подключить 1С в облаке? Есть три варианта реализации:

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

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

Подключение через web-браузер. Доступ к 1С через браузер, без необходимости установки на локальные ПК. Все что требуется, просто запустить браузер и перейти по адресу.

Cloud4Y также предоставляет лицензии 1С в аренду. Если у компании уже есть свои лицензии, можно использовать собственные usb-ключи.

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

Сервер приложений 1С на Linux

Двигатель прогресса

В последнее время, всё чаще и чаще меня начинает душить жаба.
Большая, зелёная, она угнездилась где-то внутри и формирует категорическое нежелание платить за что либо, даже если это не мои личные деньги! Не платить вообще, или же по максимуму минимизировать затраты там, где это возможно.
И если ко всему прочему, необходимо организовать работу с 1С в малой или средней компании, при ограниченном бюджете, то напрашивается желание собрать сервер из того что есть и накатить на него что-нибудь бесплатное.
Это всё к тому, что совсем необязательно покупать для 1С-сервера, лицензии от MS Windows Server+Terminal Cals и MS SQL сервер. Также необязательно рассматривать различные утилиты бэкапа и прочего софта реализующего все фишки работы терминального сервера 1С.

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

Наименование Стандартное лицензирование (руб.) Вариант Linux + Postgres SQL (руб.)
Лицензии Windows
Windows Server 2012 Std. 45012 0
MS Windows Terminal Services Client Access License 2012 Single Language 1-device NoLevel OLP 102960 (20×78) 0
Лицензии 1С
1С: Предприятие 8.3.Лицензия на сервер (x86-64) 86400 86400
1С: Предприятие 8.3 Клиентская лицензия на 20 рабочих мест 78000 78000
Лицензии SQL
Лицензия на сервер MS SQL Server Standard 2012 Runtime для пользователей 1С: Предприятие 8 13381 0
Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8 117748 0
Итого 443501 164400
Экономия 0 279101

Вполне возможно, что для форточек существуют какие-то пакетные предложения, с оптимизированной ценой для конкретного сервера.
Однако, это не означает того, что MS может уронить цены на свои продукты (лицензии) до нуля.
Из всего, что необходимо будет приобрести для Linux — это клиентские лицензии 1С, в случае использования файлового варианта баз. Или же покупка клиент-серверной платформы от них же, в случае использования SQL.
Ниже мы рассмотрим оба варианта реализации сервера.

Постановка задачи

  • Создание шаблона виртуальной машины со следующими параметрами:
  • ОС без потери производительности.
  • Полноценный сервер терминалов.
  • Возможность подключения по RDP(для совместимости клиентов).
  • Возможность подключения через Web.
  • Возможность поддержки от 1С.
  • Возможность бэкапа баз как на локальные диски(сетевые шары), так и в облако.
  • Возможность бэкапа всей виртуальной машины.

Установка VM CentOS 6(занимает 2-3 минуты):

image

Загружаем шаблон LXC CentOS-6-default_20160205 из списка и жмем кнопку “Создать СТ”.
Также, при желании можно выбрать шаблон с Ubuntu, особой разницы нет.
Далее задаем параметры VM и выбираем скачанный шаблон.
Всё, в течении минуты у вас в наличии готовая ОС.
В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера, в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:

Далее, обновляем систему, устанавливаем X-server, шрифты и прочие нужности необходимые для расшаривания сервера 1С.
Сначала через консоль Proxmox:

Далее через терминал:

Здесь samba можно и не ставить, а все что нужно закачивать через WinSCP, но если мы делаем не для себя, а отдаем сервер клиенту, лучше установить, т.к. может понадобиться и регистрация в клиентском DNS, и закачка файлов именно через неё.
Проверяем включен ли SELinux:

Если нет (не Disabled), то правим файл /etc/sysconfig/selinux

Далее настраиваем терминальный сервер:

Добавляем необходимые шрифты и прочие утилиты:

Русификация:

  1. Система-Параметры-Клавиатура-Раскладки-Параметры раскладки
  2. В переключениях на другую раскладку, оставим только одну комбинацию (я сделал Левый Ctrl-Левый Shift)
  3. Запустите приложение «Установка и удаление программ»
  4. Введите в строку поиска слово «LibreOffice» и нажмите Поиск
  5. Среди найденных пакетов выберите «Russian language pack for LibreOffice» и нажмите «Применить»

Мы подготовили систему, и теперь пора определиться с установкой 1С.

Варианты установки 1С:

Для того чтобы оптимизировать затраты, не всегда нужно сразу закупать клиент-серверную платформу. Ее стоимость, сопоставима со стоимостью недорогого сервера. Если в наличии имеется небольшая компания, с 5-6 одновременными подключениями к базе 1С, то можно просто купить клиентские лицензии для файлового варианта, что выйдет гораздо дешевле!
1. У нас есть клиентские лицензии на N клиентов (файловый режим).
В этом режиме клиенты будут работать с базой через веб-интерфейс (хочется сразу избежать проблем с подключением принтеров и пробросом дисков), а для административных задач — будет использоваться RDP. Да, можно конечно работать нативным клиентом через сетевую шару, установив Samba. Но это не имеет смысла для того, что мы делаем.
2. У нас есть лицензия на клиент-серверную платформу (SQL режим).
В SQL режиме клиенты могут работать и нативным клиентом с указанием сервера 1С Предприятия, и через веб, кому как удобнее. Также, есть доступ по RDP для администратора 1С.
Сначала качаем установочные пакеты с портала 1С (необходима авторизация):
rpm64.tar.gz — пакет серверных приложений
client.rpm64.tar.gz -пакет клиентских приложений
demodt.zip — тестовая база

Установка для файлового варианта:
Устанавливаем необходимые пакеты:

Устанавливаем 1С предприятие:

-wsdir – имя алиаса веб-сервера для соединения с базой, в последствии мы будем обращаться к ней набирая в браузере адрес.сервера/base
-dir – директория где будут располагаться файлы web-интерфейса 1с (точнее один файл default.vrd);
-connStr – строка соединения с базой 1с предприятия;
-confPath – расположение конфигурационного файла web-сервера apache.

Рестартуем настраиваем Apache:

Набираем в браузере centos6-1c/demo и получаем знакомый интерфейс 1С:

image

Пробуем соединиться через RDP:

image

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

Установка для второго, SQL варианта:

Качаем 2 пакета, сам сервер и addon от 1С отсюда (нужен логин и пароль). Потом копируем с помощью winscp и распаковываем их в отдельную папку.
К сожалению, версия 9.4 ставится с ошибками (проблема с библиотекой libicu), поэтому ставим 9.3. Python из аддонов ставить не надо, выдаст ошибку.

Далее создаем русскую локализацию и инициируем служебную базу Postgres

Запускаем службу PostgreSQL и добавляем его в автозагрузку:

Создаем пароль пользователю: postgres, пользователь postgres является администратором баз данных по умолчанию. И в данном примере пароль будет 123654:

Даем возможность подключаться к Postgres по сети, для этого редактируем файл pg_hba.conf

После сохранения файла, перезапускаем сервис postgres:

Публикуем через http:

Рестартуем апач и 1С:

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

Через интерфейс Администрирования 1С Предприятия (клиент Windows) создаем базу:
image

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

Через конфигуратор (на windows-клиенте, или RDP), закачиваем бэкап вашей или демонстрационной базы.
Всё работает так же, как и в первом варианте, мы можем соединяться как через http, так и через RDP, плюс возможность соединения нативным клиентом.

Лицензирование:

В процессе тестирования, платформа ни разу не заикнулась о лицензиях. Замечу, что в тестах использовалась демонстрационная база скачанная с портала 1С. Слухи, что есть возможность работы 12 пользователей без ключа — оказались правдой. Однако то, что пригодно для тестов, нельзя пускать в production. Техническая возможность работать без ключа, не означает юридического разрешения это делать.

Для компаний с малым количеством пользователей 1С подойдет вот этот вариант (на 5 пользователей).

Программная лицензия на сервер терминалов(веб-сервер):
Если 1С при запуске не затребует её сразу, то идём в Конфигуратор-Сервис-Лицензирование.
Программную лицензию (любую) рекомендуется получать «На этот компьютер» и «Всем пользователям данного компьютера».

USB ключ(HASP):
Сначала необходимо пробросить USB устройство в VM.
На proxmox:

Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY
qm set 101 –usb0 host=XXXX:YYYY
где 101 — ID виртуальной машины куда будем пробрасывать порт.
Перезагружаем виртуалку.
Далее устанавливаем службу haspd:

Во время установки некоторые демоны не стартуют. Это нормально, потому что для их старта нужен модуль из пакета haspd-modules. Но haspd-modules нельзя поставить раньше, потому что по зависимостям haspd должен ставиться первым. Модуль, который выдает ошибку (фейлит) будет нормально запущен после установки модулей при следующем запуске сервера.
Правим конфиг /etc/haspd/hasplm.conf. Добавим в него строчку:
NHS_IP_LIMIT = 127.0.0.1, 172.16.2.0/24

Именно в этой строчке мы перечисляем сети (вместо 172.16.2.0 добавьте свою) и хосты, которые смогут видеть HASP-ключ.

Проверим работу демона haspd:

Демон haspd имеет встроенный веб сервер доступный по адресу: xx.xx.xx.xx:1947

Бэкап:

Можем сделать автоматический бэкап целой VM на удаленное хранилище (или же на другой диск) прямо из Proxmox:
Т.е. через веб-интерфейс Proxmox заходим во вкладку «Хранилище» и добавляем NFS-массив. Это может быть как обыкновенная NAS-хранилка, так и xNIX-сервер с папкой доступной через NFS (кому что удобнее). Затем, указываем содержимое (backup).
Сама 1С рекомендует вот это (нужны имя и пароль). Там говорится, что для файловой версии, достаточно простое копирование файлов, а клиент-серверную версию рекомендуется бэкапить средствами СУБД.

Если просто и быстро (без очистки), то можно в два действия:

и добавим задание в crontab:

В принципе, здесь нет ничего сложного — сейчас любая хранилка поддерживает NFS, так что подмонтировать и создать автоматический бэкап на нее не составит никаких проблем, так же как и на Windows ресурс.
Однако, очень часто возникает вопрос о безопасности хранения бэкапа. Правилом хорошего тона является хранение бэкапа минимум в двух географически разнесенных местах. Рассмотрим два варианта: классический FTP и облачный.

Простой бэкап с копированием по FTP:

Бэкап в облако с шифрованием:
В production рекомендую пользоваться консольным клиентом яндекс-диска.
Также, если вы используете какое то другое облако, поддерживающее webdav, можно монтировать его при помощи davfs.

Для корректной работы GPG добавляем строчку в /sbin/ifup-local:

В зависимости от того, в каком виде у вас БД (файловая или SQL) закомментируйте ненужные строки. В этом тестовом скрипте, использовался юзер postgres с паролем 123654 и БД — test2. Файловая база находилась в /home/1C.
На тот случай, если необходимо работать с диском яндекса напрямую, я оставил строки с CURL.
Даём скрипту права на запуск:

Добавим задание в crontab:

Постинсталл:

Фаервол:
Сервер 1с предприятия в большинстве случаев находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности.
Отключаем iptables:

Правильная настройка:
Консоли администрирования нужен доступ к агенту сервера (ragent) по порту 1540, а для создания базы понадобится еще и доступ к рабочим процессам по портам 1562-1591. Толстому клиенту нужен доступ к менеджеру сервера (rmngr) по порту 1541 и рабочим процессам порты 1562-1591. Менеджеру haspd нужны порты 475 и 1947.
Остальное зависит от Ваших настроек. Для стандартно настроенного фаервола в CentOS набор разрешающих правил в /etc/sysconfig/iptables будет выглядеть приближенно так:

Обновление:
Обновление конфигурации происходит абсолютно так же, как и на windows версии, т.е. через конфигуратор.
Платформа обновляется простой процедурой скачивания rpm пакетов с сайта releases.1c.ru/project/Platform83, далее необходимо зайти в каталог с ними и выполнить команду:

Перед выполнением не забудьте сделать снэпшот и удостоверьтесь в наличии свежего бэкапа баз (предыдущие rpm пакеты тоже пока не удаляйте).

Аминистрирование:

Привыкшим к Windows-версии ничего менять не надо, можно админить через тот же интерфейс с Windows клиента.
Однако, для ценителей есть и консольные команды.
Команда запуска в качестве демона:

По умолчанию процесс ras запускается на TCP 1545.
rac обращается к ras, который уже обращается (управляет) кластером серверов.
1) Просто help на всякий случай (кстати, он довольно понятный и ясный)

1C:Enterprise 8.3 Remote Administrative Client Utility ‘1C’ 1996-2015
Утилита администрирования платформы 1С: Предприятие

rac [mode] [command] [options] [arguments]

help Отображение справочной информации для указанного режима.
agent Режим администрирования агента кластера серверов
cluster Режим администрирования кластера серверов
manager Режим администрирования менеджера кластера серверов
server Режим администрирования рабочего сервера
process Режим администрирования рабочего процесса
service Режим администрирования сервиса менеджера кластера
infobase Режим администрирования информационной базой
connection Режим администрирования соединений
session Режим администрирования сеансов информационных баз
lock Режим администрирования блокировок
rule Режим управления требованиями назначения
profile Режим управления профилями безопасности кластера

2) Просмотр списка доступных кластеров серверов 1с для управления

3) Создание информационной базы

4) Просмотр списка информационных баз кластера

5) Просмотр списка подключений к информационным базам кластера

  • postgresql.conf — основной файл с настройками СУБД
  • pg_hba.conf — файл с настройками доступа для клиентов. В частности, тут можно указать каким пользователям с каких IP-адресов можно подключаться к определенным БД, и требуется ли проверять пароль пользователя, и если требуется — каким методом.
  • pg_ident.conf — файл с преобразованием имен пользователей из системных во внутренние (вряд ли он потребуется большинству пользователей)

Подключение принтеров
Осуществляется через сервис CUPS, который устанавливается автоматом.
В сеансе RDP заходим по адресу localhost:631
При нажатии кнопки установить принтер — видим все сетевые принтеры в сети.
Если вы хотите пробросить свой личный принтер — дайте к нему доступ.

Выводы:

Мы сэкономили на лицензиях Windows Server + Terminal CALs, MS SQL Server + Connection CALs. Даже если посчитать стоимость лицензий от 1С, то Linux-вариант выигрывает! Также, собрав сервер из подручного железа, убедились в том, что по тестам(файловая версия), он работает быстрее чем windows-версия установленная на голом железе.
В итоге, мы смогли получить сервер (шаблон можно размножить), который можно рекомендовать в продакшн. Также, в дальнейшем, Proxmox как систему виртуализации, можно расширить и создать кластер.

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

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