- Установка Платформы «1С:Предприятие» в ОС Linux
- Установка платформы в Debian-системах на примере Ubuntu Server 16.04
- Установка платформы в RPMS на примере CentOS 7
- Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x
- 1. При работе возникают ошибки «Не найдена библиотека …»
- 2. Как запустить сервер в режиме отладки?
- 3. Где находится каталог данных кластера серверов и как его изменить?
- 4. Как настроить технологический журнал сервера в Linux ?
- Готовим 1С-Отчетность в Linux
- Часть первая: Готовим коржи сервер.
- Определяемся с лицензиями
- Выбираем архитектуру
- Поднимаем кластер
- Часть вторая: Готовим начинку клиент
- Часть третья: Покрываем глазурью
Установка Платформы «1С:Предприятие» в ОС Linux
Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. В данном примере мы будем устанавливать:
- Сервер «1С:Предпритие» 64-bit версии 8.3.13.1644. Пакеты для установки доступны здесь:
- Если для сервера использоваться ключи аппаратной защиты HASP, то необходимо установить на сервер драйвер защиты HASP. Последние версии для различных операционных систем можно скачать:
Если в дальнейшем работа с сервером «1С:Предприятие» на Linux и управление будет осуществляться c других машин, необходимо убедиться в том, что ip-адрес компьютера, на котором расположен сервер, будет корректно разрешаться в его hostname. Откроем консоль сервера от имени пользователя root и получим адрес компьютера:
Имя компьютера можно получить так:
Теперь данные о соответствии ip-адреса и имени необходимо внести в файлы hosts тех машин, откуда будут устанавливаться соединения с кластером серверов:
Для Windows он расположен обычно:
В противном случае при установке клиентского соединения с рабочим процессом кластера будет возникать ошибка.
Установка платформы в Debian-системах на примере Ubuntu Server 16.04
- Откроем консоль сервера от имени пользователя root.
- Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
Копировать в буфер обмена
- Войдем в каталог /1c/soft/1с:
Копировать в буфер обмена
Распакуем архив (при помощи команды tar xzf):
Копировать в буфер обмена
- Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:
Копировать в буфер обмена
Устанавливаем сервер «1С:Предприятие»:
Последние три nls-пакета содержат языковые файлы и требуют обязательной установки только в том случае, если будут использоваться языки, отличные от русского и английского.
Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:
Копировать в буфер обмена
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
Копировать в буфер обмена
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
Копировать в буфер обмена
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
Копировать в буфер обмена
- Устанавливаем драйвер:
Копировать в буфер обмена
- Запускаем драйвер защиты HASP:
Копировать в буфер обмена
Проверить статус можно так:
Установка платформы в RPMS на примере CentOS 7
- Откроем консоль от имени root.
- Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
Копировать в буфер обмена
- Перейдем в директорию /1c/soft/1с
Копировать в буфер обмена
tar xzf rpm64_8_3_13_1644.tar.gz
В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать — они содержат только языковые файлы.
Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
- Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:
Надо скачать все .exe-файлы, кроме wd97vwr32.exe.
- Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
- Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
Копировать в буфер обмена
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
Копировать в буфер обмена
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
Копировать в буфер обмена
- Устанавливаем драйвер:
Копировать в буфер обмена
- Запускаем драйвер защиты HASP:
Копировать в буфер обмена
Проверить статус можно так:
Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x
1. При работе возникают ошибки «Не найдена библиотека …»
В зависимости от вашего дистрибутива Linux и функционала системы для корректной работы 1С:Предприятие вам может понадобиться дополнительно самостоятельно установить внешние библиотеки. Полный список их представлен в документации:
Обратите внимание, что в документации указано именно имя библиотеки, а не имя пакета. Имя пакета, в который она входит, может отличаться в разных дистрибутивах. В какие именно пакеты входит библиотека, обычно можно найти в репозитории для вашей ОС.
2. Как запустить сервер в режиме отладки?
Для того, чтобы на сервере была доступна отладка, необходимо запустить его в ключом –debug. Для этого сначала остановим сервер «1С:Предприятие»:
ВАЖНО! Не редактируйте параметры запуска сервера в процессе его работы, это может привести к ошибкам при его перезапуске.
Теперь необходимо отредактировать параметры его запуска в конфигурационном файле srv1cv83 (в данном примере с использованием редактора vim):
Находим в редактируемом файле строку SRV1CV8_DEBUG= , убираем в начале этой строки символ комментария # и устанавливаем значение переменной SRV1CV8_DEBUG в 1:
Сохраняем изменения и выходим из файла.
Перезапускаем сервер «1С:Предприятия 8»:
3. Где находится каталог данных кластера серверов и как его изменить?
По умолчанию каталог кластера находится в директории пользователя, от имени которого запущен сервер 1С:Предприятие — $HOMEDIR/.1cv83/1C/1Cv83, например:
Для того, чтобы изменить место изменить место расположения, необходимо, по аналогии с п. 1, изменить параметр SRV1CV8_DATA запуска в конфигурационном файле /etc/sysconfig/srv1cv83.
ВАЖНО! Не забудьте убедиться в наличии прав на директорию данных кластера у пользователя, от имени которого запущен сервер. Увидеть права можно при помощи команды:
Предоставить права можно так:
В конфигурационном файле /etc/sysconfig/srv1cv83 также задаются порты, на которых будут работать процессы кластера, и другие параметры запуска.
4. Как настроить технологический журнал сервера в Linux ?
На сервере создадим каталоги, в который будут помещаться файлы журнала:
Создадим каталог для настроек журнала /opt/1C/v8.3/x86_64/conf:
Поместим в этот каталог файл logcfg.xml со следующим (например) содержимым:
В данном случае собирается полный технологический журнал (не стоит делать так на постоянной основе в продуктиве), срок хранения файлов журналов — 24 часа, находиться они будут в директории /var/log/1c/logs.
ВАЖНО! Необходимо предоставить пользователю, от имени которого работает сервер 1С:Предприятие, права на запись в каталог логов. Например, так:
- Создадим группу пользователей grp1clogs, которой будут даны права на журнал:
Копировать в буфер обмена
- Дадим права этой группе на каталоги журнала:
Копировать в буфер обмена
Источник
Готовим 1С-Отчетность в Linux
Здравствуйте, уважаемые читатели и писатели, а также неизменно прекрасные читательницы и писательницы Гиктаймс. Прошло уже полтора года с момента написания предыдущей статьи и можно сказать, что лед тронулся. Во всяком случае, отчетность сдать из 1С, не загружаясь в Windows, уже можно. Путь к звездам, как всегда, будет тернист и полон подводных камней, подстерегающих неосторожного путника, но при правильном подходе у Вас все получится. Итак, приступим:
Для приготовления отчетности нам понадобится:
- Конфигурация: 1С Бухгалтерия предприятия 3.0 Проф
- Технологическая платформа: 1С Бухгалтерия 8.3.11 или выше
- Криптопровайдер: КриптоПро 4.0.9929 или выше
- Операционная система: GNU\Linux (Mint, Ubuntu, Fedora, RHEL или SUSE), по вкусу
- Оператор документооборота: ООО «Такском» или ЗАО «Калуга-Астрал»
- Воля для войны с ИТС и технической поддержкой оператора документооборота
Часть первая: Готовим коржи сервер.
Итак, если у Вас ещё нет своего кластера 1С, то самое время его поднять. Если есть — можно приступать к следующему шагу. Я не буду детально разбирать базовые вещи, они и без меня хорошо освещены на портале ИТС и других технических ресурсах, посвященных 1С бухгалтерии. Вместо этого я акцентирую внимание на мелочах, на которые следует обратить внимание и о которых обычно забывают.
Определяемся с лицензиями
В 1С есть два типа лицензий — на сервер и на клиент. Лицензии на сервер позволяют работать в режиме клиент-сервера, а именно это нам и нужно для работы 1С-Отчетности в Linux. Лицензии на клиент позволяют запустить клиентское программное обеспечение (толстый, тонкий, веб) и регламентируют одно подключение к базе (программные) или много подключений с одного устройства (аппаратные).
Если у вас нет лицензии на сервер, то теоретически должен работать тонкий клиент при подключении к файловой базе через Apache — но данная конфигурация не проверялась.
Если у вас только одна информационная база — то выгоднее использовать программные клиентские лицензии. При количестве баз больше двух, например Торговля, Зарплата и Бухгалтерия — выгоднее аппаратная лицензия. Конечно, при условии, что все пользователи работают в нескольких базах одновременно.
Если у вас с каждой базой работает не более 5и человек одновременно, то можно с чистой совестью брать лицензию на Сервер-Мини на 5 подключений. Она и стоит не дорого, и держит 5+1 (клиент+конфигуратор) подключений (сеансов) до каждой информационной базы, для 32х и 64х битного варианта сервера.
Если у вас клиентская лицензия программная, и она одна (например в случае с электронной поставкой), то имейте в виду, что программная лицензия в клиент-серверном варианте расходуется на каждое подключение к базе. То есть запустить конфигуратор и клиент одновременно по сети уже не получится. Единственный выход, например, для отладки кода — подключаться к серверу через SSH+X11 Forwarding и запускать конфигуратор с клиентом уже «локально».
Ещё момент, и он очень важен: Аппаратная лицензия расходуется на каждого клиента (IP адрес) а программная — на подключение (сеанс) пользователя. Количество программных лицензий равно максимальному количеству подключений. Программная лицензия при этом привязана к оборудованию, и очень жестко, по этому общая рекомендация — выносить сервер лицензирования как отдельную виртуальную машину с 2ГБ (двумя Гибибайтами) оперативной памяти и виртуальным дисковым контроллером SATA или IDE, обязательно указав серийные номера дисков. Сам сервер лицензирования не требует серверной лицензии.
В качестве платформы виртуализации подойдет KVM (qemu), Citrix (Xen) или VMWare (V-Sphere, ESXi), использовать VirtualBox или Hyper-V не рекомендую.
Выбираем архитектуру
С лицензиями определились, теперь выделяем одну (аппаратные лицензии) или две (программные лицензии) виртуальные машины под кластер 1С. Характеристики машин примерно такие:
- Сервер лицензирования — 2ГБ памяти, и 15ГБ на жестком диске.
- Сервер 1С бухгалтерии — 14-16ГБ памяти, 15ГБ на жестком диске. Если сервер совмещает в себе функции СУБД — то ещё порядка 30-300ГБ на жестком диске.
- Сервер баз данных — в зависимости от типа сервера (PostgreSQL или Oracle, MS SQL 2017 пока не поддерживается) 4-16ГБ памяти, и 30-300 ГБ на жестком диске под хранение информационных баз. Опять же объём может быть и больше, зависит от того что и как вы храните.
PostgreSQL можно держать на той же машине что и саму 1С.
Обратите внимание, что виртуальные диски лучше держать на шине SATA или SCSI (виртуальная машина с поддержкой UEFI загрузки, например ovmf), и физически осуществлять хранение на lvm томе или iSCSI/FiberChannel/SAS LUN´e. Это позволит Вам в любой момент увеличить объем диска под нужды операционной системы или базы данных.
Если вы используете KVM, то укажите шину IDE для сервера лицензирования и VirtIO-SCSI для кластера 1С/СУБД.
После подготовки машин устанавливаем туда любимый дистрибутив (для начинающих я рекомендую Ubuntu Server 16.04 LTS), СУБД (например PostgreSQL), серверную часть платформы 1С предприятия на сервера лицензирования и кластер 1С. При желании можно дополнить конфигурацию веб-сервером Apache2.4 на кластере серверов 1С-предприятия (я использую его совместно с nginx для аутентификации снаружи по сертификатам, но это лирика).
Поднимаем кластер
Для установки кластера на сервере лицензирования и будущем кластере 1С нужно распаковать архив серверной части 1С. Раньше её можно было скачать с помощью обозревателя elinks, но сейчас такой способ больше не работает (говорит что файл не найден).
P.S. Если кто нибудь знает способ скачать дистрибутив 1С не прибегая к корпоративному репозиторию, непосредственно из командной строки сервера, напишите в комментариях.
Далее все примеры будут приводиться для дистрибутива Ubuntu Server 16.04 LTS и командной оболочки bash. Для RHEL-based дистрибутивов замените dpkg на rpm.
Устанавливаем 1С на сервере лицензирования и на кластере серверов, если вам не нужен веб сервер:
Устанавливаем 1С на кластере серверов, если вам нужен веб-сервер:
Активируем запуск кластера серверов и запускаем его:
Теперь можно настроить кластер серверов 1С предприятия. Сделать это можно с командной строки или из графической оснастки MMC на платформе Windows. В будущем я возможно сделаю свою оболочку над консольной утилитой, но пока хватает и этого.
Запускаем клиент-серверный менеджер управления кластером для управления с командной строки:
Получаем информацию по кластеру:
Параметр localhost:1545 можно опустить если вы планируете управлять только локальным кластером. При необходимости можно управлять любым кластером, бал бы нужный логин и пароль администратора кластера серверов 1С предприятия. Далее предполагаем что команды выполняются локально на каждом из серверов, например по SSH. Тем не менее никто не запрещает нам управлять обоими серверами с одной консоли.
Самое главное в выхлопе команды для нас — GUID нашего кластера, копируем его, в буфер обмена или сохраняем его в сессионную переменную вот так (на обоих серверах — лицензирования и основном сервере 1С):
На сервере лицензирования удаляем кластер серверов:
На основном сервере 1С добавляем новый сервер в кластер:
Получаем идентификатор нашего сервера:
Удаляем все требования назначения роли:
Добавляем роль сервера лицензирования:
После настройки кластера серверов и переноса сервера лицензирования на отдельный узел (возможно придется прописать их в файле hosts, если у Вас нет собственного DNS сервера) мы можем приступить к следующей части.
Часть вторая: Готовим начинку клиент
Установка клиентской части в чем то тривиальна — устанавливаем общие компоненты из состава сервера и толстый клиент (для рабочих мест можно только тонкий). В качестве клиентской системы я рекомендую что-нибудь простое и удобное для простого пользователя, все таки работать в системе будет либо руководство, либо бухгалтер, возможно ещё кассиры и иной персонал. В моем случае выбор падает на Linux Mint, вы можете выбрать и другой дистрибутив, например Rosa или Astra Linux, в силу религиозных государственных предпочтений. Нужно отметить что на текущий момент 1С не очень хорошо дружит с Gnome 3.0 и его производными, в частности на момент написания статьи 1С 8.3.11 при запуске роняла Cinnamon, поэтому лучшим выбором будет Xfce, KDE или Mate среда окружения. Для руководства, привыкших к Mac подойдет связка Mate+CairoDock.
На настоящий момент 1С-Отчетность работает только с СКЗИ КриптоПро (захардкожено в 1С), тем не менее ЭДО можно использовать с тем же VipNet или другим CADES совместимым СКЗИ.
Толстый и тонкий клиент:
Только тонкий клиент:
Устанавливаем КриптоПро 4.0:
Проверяем и устанавливаем лицензию на КриптоПро (можно остаться на пробной версии и попробовать продукт перед приобретением, или если у вас лицензия на КриптоПро в составе сертификата — ничего не делать):
Теперь подключаем к рабочей станции USB токен, смарт-карту, флешку с контейнером КриптоПро, производим вывод перечня контейнеров и импортируем сертификаты. При импорте с рутокена могут быть проблемы с кодировкой в наименовании контейнера, в этом случае можно воспользоваться inline вызовом iconv для преобразования кодировки, там cp1251.
На выходе должны получить список контейнеров вида:
\.\Aktiv Rutoken lite 00 00\blahblahblah
\.\Aktiv Rutoken ECP\blahblahblah
\.\HDIMAGE\mycont
Если получили крякозяблики в имени контейнера пробуем вывести сведения вот так:
В случае если контейнер создан в ОС Windows и имеет в имени кириллицу, импорт конкретного контейнера будет чуть чуть усложнен, но не невозможен.
Или в случае cp1251
Далее нам нужно получить сертификат головного УЦ выдавшего Ваш сертификат. Для этого нам нужно вывести список сертификатов установленных в хранилище личных сертификатов пользователя:
Нам нужно значение поля “CA cert URL”, автоматически скачать сертификаты удостоверяющих центров можно так:
Если нам требуется поддержка ЭЦП BrowserPlugin, он ставится в два этапа — плагин для Linux + плагин для Firefox/Chrome обозревателя.
Проверяем работу криптопровайдера через портал КриптоПро (веб) или из командной строки. Если через веб у вас не увиделся сертификат, значит машина не может проверить подлинность сертификата головного УЦ выпустившего сертификат, либо сертификат не прошел проверку подлинности. Возможно потребуется скачать и вручную установить CRL, например если доступ в интернет с машины ограничен или на шаге ранее вы не установили клиент curl.
Для проверки с командной строки с проверкой всей цепочки УЦ, воспользуемся следующими командами:
Теперь, когда программное обеспечение на клиенте установлено, приступаем к завершающему этапу — настройке самой отчетности.
Часть третья: Покрываем глазурью
Завершающий этап самый важный. На этой стадии мы уже имеем установленный и настроенный кластер серверов 1С предприятия, и клиентскую машину с тонким и толстым клиентами 1С. Толстый клиент нам понадобится для первоначального развертывания ИБ, активации лицензий и обновления конфигурации ИБ (режим конфигуратора) в остальных случаях нам хватит тонкого клиента. Сама 1С-Отчетность работает только в тонком клиенте.
P.S. Может быть сотрудники 1С или Калуги-Астрал пояснят такое поведение системы при работе с внешней компонентой взаимодействия с СКЗИ.
Настраиваем подключение к базе:
Запускаем клиент 1С и добавляем новое подключение к информационной базе. Если база данных на кластере серверов ещё не существует, создаем её из толстого клиента, можно пустую с последующим импортом дампа средствами конфигуратора (dt,cf файл) или СУБД. В принципе здесь все как обычно, указываем наименование головного узла кластера серверов, имя информационной базы и выбираем преимущественный тип запуска “Тонкий клиент”.
Настраиваем СКЗИ в 1С:
Все настройки приводятся для интерфейса “Такси”, если вы используете классический интерфейс 1С-Предприятия — выбирайте соответствующие пункты главного меню программы.
Открываем “Администрирование” -> “Настройки программы”: “Обмен электронными документами”.
Из открывшейся вкладки выбираем “Электронная подпись и шифрование”: “Настройки электронной подписи и шифрования”.
Переходим на вкладку “Программы”, находим “КриптоПро CSP (ГОСТ 2001)” и “КриптоПро CSP (ГОСТ 2012)” — для этих программ указываем путь “/opt/cprocsp/lib/amd64/libcapi20.so”. После ввода пути программы можем переключиться на любой пункт списка, состояние результата проверки должно смениться с “Не указан путь к программе” на “Установлена на компьютере”.
Добавляем сертификаты и проверяем работу СКЗИ:
Переходим на вкладку “Сертификаты”, нажимаем кнопку “Добавить” из установленных на компьютере. Выпускать сертификат на стороне тонкого клиента я ещё не пробовал, раньше он не работал. Выбираем сертификат из установленных в хранилище пользователя, нажимаем кнопку “Проверить”, вводим пинкод пароль. Должны получить окно с прошедшей проверкой сертификата:
Добавляем оператора документооборота:
Теперь нам нужно добавить оператора документооборота, если он не настроен на уровне Windows клиента ранее. Для этого открываем “Отчеты” -> “1С-Отчетность”: “Регламентированные отчеты”. Из открывшейся вкладки выбираем пункт “Настройки” и далее “Заявление на подключение к 1С-Отчетности” или “Настройки обмена с контролирующими органами”. В случае ручной настройки обмена с КО, нажимаем на направление сдачи отчетности, которое мы настраиваем, например ФНС. В открывшемся окне выбираем “Документооборот в универсальном формате с использованием встроенного механизма” и создаете новую учетную запись документооборота (или выбираете уже существующую).
В “Назначении” учетной записи указываете направления обмена у данного оператора, выбираете оператора ЗАО “Калуга-Астрал” или ООО “Такском”. Почтовый адрес — указываете адрес электронной почты выданный оператором ЭДО. Идентификатор документооборота — указываете ваш, присвоенный оператором ЭДО и идентификатор оператора (первая часть вашего идентификатора до дефиса).
Осуществляем автонастройку оператора:
Выбираете пользователей и нажимаете “Автонастройка”. Должен пройти обмен данными, расшифроваться xml контейнер с настройками и обновиться сертификаты головных и подчиненных УЦ. Данную операцию (автонастройку) нужно провести первый раз вручную на всех линукс-клиентах.
Настраиваем сервер на автоматический обмен ЭДО и ЭДКО (опционально):
Открываем “Администрирование” -> “Настройки программы”: “Обслуживание”. Далее “Регламентные операции”: “Регламентные и фоновые задания”. Находим в списке “Обновление проверок контролирующими органами”, “Получение результатов отправки отчетности” и “Обмен с контролирующими органами”. Назначаем расписание обмена. У меня стоит ежедневно. Запрашиваться будет только при открытии клиентской программы 1 раз в день.
Проверяем работу оператора документооборота, ЭДО и 1С-Отчетности.
К сожалению все ещё остается проблема в реализациях подсистем ЭДО и ЭДКО. Например при получении подтверждения и отправке отчета в контролирующие органы необходимо каждый раз вводить пин-код контейнера для каждого факта подписания данных. Пин-код, сохраненный в настройках ЭДО не учитывается конфигурацией 1С, возможно такое поведение исправят в следующих версиях ПО. Одно можно сказать точно: лед тронулся.
Источник