Сервер на windows клиент на linux 1с

по материалам

по материалам

Введение

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

  • Платформа 1С Предприятие 8 в составе конфигуратора и клиента (Windows)
  • Сервер 1С:Предприятие 8 (Linux)
  • Инструмент администрирования сервера 1С:Предприятие 8 (Windows)
  • Сервер PostgreSQL 11.5 (Linux)
  • Инструмент администрирования сервера PostgreSQL pgAdmin 4 (Windows)
  • Для проверки работоспособности системы загрузим на сервер 1С:Предприятие демонстрационную базу.

Компания 1С гарантирует работу своих продуктов только в следующих дистрибутивах Linux:

  • RPM версии дистрибутива Linux (RED HAT PACKAGE MANAGER, семейство систем Linux построенных на базе дистрибутива системы Red Hat)
  • Red Hat Enterprise Linux 7 (отсутствует в Microsoft Store)
  • CentOS 7 (в Microsoft Store имеется платный дистрибутив для WSL)
  • Debian: версии 9 (в Microsoft Store имеется дистрибутив для WSL)
  • Ubuntu: версии 18.04 LTS (в Microsoft Store имеется дистрибутив для WSL)
  • Mint: версии 19 (отсутствует в Microsoft Store)

Подготовка

Windows 10

Вся работа будет происходит в операционной системе Windows 10. Необходима 64-битная версия ОС. Номер сборки требуется 1607 и старше. Вариант Windows не важен. Будет работать и на Prof и на Home.

Папка с локальным репозиторием

В системе Windows на диске С: создадим папку TMP_C, которую будем считать локальным репозиторием. Дистрибутивы, которые потребуются для лабораторной работы будем сохранять в этой папке.

Дистрибутивы

Все скаченные дистрибутивы сохраняем в папку C:TMP_C

Сервер 1С:Предприятия (64-bit) для DEB-based Linux-систем скачиваем из репозитория компании 1С releases.1c.ru/project/Platform83 Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем

Технологическая платформа 1С:Предприятия (64-bit) для Windows версии 8.3.16.1148 скачиваем из того же репозитория

Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB) скачиваем из репозитория компании 1С releases.1c.ru/project/AddCompPostgre Для работы потребуется дистрибутив последней версии

Зависимости (служебные библиотеки) postgres для Ubuntu 18.04.3-server x8664 от 20.12.2019 находятся в разделе Дополнительные материалы репозитория PostgreSQL (_внизу).

pgAdmin v.4 скачиваем с официального репозитория проекта postgresql.org/ftp/pgadmin/pgadmin4/ Требуется версия для Windows версии 4.17

Включение WSL

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

Управление компонентами находится в Панель управления – Программы – Включение или отключение компонентов Windows.

Установка Linux

План установки:

  • Установить Linux из магазина приложений Microsoft Store
  • Первый запуск Linux
  • Обновить Linux
  • Установить локаль русского языка
  • Присвоить хосту статический ip адрес
  • Установить необходимые дополнительные пакеты

Установка Linux

Как писалось выше, дистрибутивы Linux, которые работают под управлением WSL располагаются в магазине приложений Microsoft Store. Устанавливать будем систему Ubuntu 18.04 LTS (Long-term support это продукты с длительным сроком поддержки, например для Ubuntu 18.04 LTS срок поддержки равен 10 лет). В поиске магазина приложений введите ubuntu 18.04 lts и перейдите на страницу установки.

Далее нажмите кнопку Получить и дождитесь окончания установки.

Или же скачайте установочный архив с сайта магазина:

   
Debian: https://aka.ms/wsl-debian-gnulinux
Ubuntu 18.04: https://aka.ms/wsl-ubuntu-1804
Ubuntu 16.04: https://aka.ms/wsl-ubuntu-1604
openSUSE: https://aka.ms/wsl-opensuse-42
SLES: https://aka.ms/wsl-sles-12
Кали: https://aka.ms/wsl-kali-linux
wget https://aka.ms/wsl-ubuntu-1804 -O C:TMP_CUbuntu.zip
unzip Ubuntu.zip -d ./Ubuntu

Или с помощью PowerShell запустите

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile C:/TMP_C/Ubuntu.zip -UseBasicParsing
Expand-Archive C:/TMP_C/Ubuntu.zip C:/TMP_C/Ubuntu/

Перейдите в папку C:/TMP_C/Ubuntu и запустите ubuntu.exe

Первый запуск Linux

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

  • Кнопка Пуск -> Ubuntu 18.04 LTS
  • Открытие нового окна терминала в ConEmu с помощью команды {Bash::bash}
  • Команда wsl набранная в командной строке Windows
  • Команда bash набранная в командной строке Windows

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

Обновление Linux

Ubuntu установленная из магазина Microsoft Store имеет номер релиза 20190521 от 08.05.2018г. Рекомендуется перед началом использования обновить Linux на актуальный релиз. Обновления пакетов выполняются от имени суперпользователя. Будем использовать программу apt (advanced packaging tool), которая предназначена для установки, обновления и удаления программ в операционных системах Linux построенных на базе Debian.

Обновим информацию о последних версиях пакетов установленных в системе
user@PC:~$ sudo apt update
Просмотрим список пакетов, которые можно обновить
user@PC:~$ apt list –upgradable
Обновим все пакеты, которые могут быть обновлены
user@PC:~$ sudo apt upgrade

Установка локали ru_RU

Локаль locale в Linux примерно соответствует региональным настройкам в Windows 10 и определяет язык, который доступен системе, формат чисел, дат и денежных единиц.

Список доступных локалей на вашей машине можно получить, используя команду loicale.

По умолчанию в системе установлена одна локаль.
Наименование локали состоит из наименования языка en, наименования региона US и наименования кодировки utf8

user@PC:~$ locale -a
en_US.utf8

Для корректной работы платформы 1С:Предприятие требуется русская локализации. Для ее установки воспользуемся пакетом locales

Команда конфигурирования локали.
Требуются полномочия суперпользователя.
user@PC:~$ sudo dpkg-reconfigure locales

Настройка этого пакета идет в псевдографическом интерфейсе. На первом экране необходимо выбрать локаль ru_RU.UTF-8 UTF-8 и отметить ее нажатием клавиши пробел. Нажмите Enter для перехода к следующему экрану, где необходимо выбрать локаль по умолчанию ru_RU.UTF-8. Для завершения настройки требуется нажать клавишу Enter и перезагрузить терминал.

После настройки список установленных в системе локалей расширится

После настройки стала доступна русская локализация
user@PC:~$ locale -a
en_US.utf8
ru_RU.utf8

Статический IP адрес хоста

Для работы с приложениями на сервере Linux нам потребуется зафиксировать IP адрес вашей машины и связать его с именем хоста.

Настройка маршрутизатора
Компьютер, на котором работает сервер Linux должен иметь постоянный статический адрес. Обычно IP адрес компьютеру выдается сервером DHCP (Dynamic Host Configuration Protocol), который работает на маршрутизаторе. Сервер DHCP не обязан выдавать один и тот же IP адрес компьютеру и чаще всего не выдает. Для того, чтобы у компьютера IP адрес был статическим необходимо настроить маршрутизатор.

Потребуется:

  • Определить диапазон IP адресов, которые будет раздавать DHCP сервер, например 192.168.0.100 – 192.168.0.255
  • Добавить в таблицу статических адресов IP адрес и MAC-адрес (Media Access Control) вашего устройства
  • Перезагрузить маршрутизатор и компьютер

На маршрутизаторах разных производителей эта операция выполняется по-разному, но инструкцию несложно найти поиском в Интернете по запросу Настройка статического ip на роутере ХХХ, где ХХХ это модель вашего роутера.

Как пример статический адрес моего домашнего компьютера 192.168.1.10

Определение IP адреса и имени хоста на сервере Linux

С помощью утилиты ipconfig проверим, что статический IP адрес выдан компьютеру. С помощью команды hostname получим наименование компьютера (хоста), на котором работает сервер Linux.

Программа ipconfig выводит информацию о сетевом окружении компьютера в том числе IP адрес хоста:

user@PC:~$ ifconfig
eth0: flags=4163<UP,BROADCAST>  mtu 1500
inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
...

Команда hostname выводит в консоль имя хоста, к которому подключен ваш терминал:

Связывание IP адреса и имени хоста

С сервером 1C:Предприятие который будет установлен на Linux сервер мы планируем работать и управлять из под Windows. Для корректной работы в Windows установим соответствие IP адреса и имени хоста. Для этого внесем изменения в фале hosts, который располагается в папке %windir%system32driversetc

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

IP-address hostname

Где: IP-address статический адрес компьютера, hostname имя хоста.

Например, на моем компьютере в файл hosts добавлена следующая строка:

192.168.1.10 PC

Установка сервера 1С:Предприятие

перед началом установки сервера 1С:Предприятие:

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

Дополнительные библиотеки

Для корректной работы сервера 1С:Предприятие потребуются следующие библиотеки

Библиотека   Назначение
libwebkitgtk-3.0-0   webkitgtk-3.0.0
libMagickWand-6.Q16   ImageMagick требуется для построения диаграмм
libfontconfig   Требуется для сохранения файлов в формате PDF
libfreetype6   Требуется для сохранения файлов в формате PDF
libgsf-1-common   Требуется для работы с файлами в формате XLS
libglib2.0   Требуется для работы с внешними источниками данных
unixodbc   Требуется для работы с внешними источниками данных
libkrb5-3   Требуется для работы механизма аутентификации
libgssapi-krb5-2   Требуется для работы механизма аутентификации

Требуемые, для работы сервера 1С:Предприятие библиотеки можно установить одним вызовом программы apt. Для этого в качестве параметра необходимо указать список всех библиотек через пробел:

Установка всех пакетов одной командой:

user@PC:~$ sudo apt install libwebkitgtk-3.0-0 libMagickWand-6.Q16 libfontconfig libfreetype6 libgsf-1-common libglib2.0 unixodbc libkrb5-3 libgssapi-krb5-2

Дополнительные шрифты

Для корректной работы платформы 1С:Предприятие потребуется установить дополнительные шрифты и перестроить файл настроек шрифтов.

Установим дополнительные шрифты:

user@PC:~$ sudo apt install ttf-mscorefonts-installer

Утилита fc-cache пересоздает файл ./etc/fonts/fonts.conf в котором находятся настройки шрифтов

Установка сервера 1С:Предприятие

Ранее мы скачали архив дистрибутива сервера 1С:Предприятия (64-bit) для DEB-based Linux-систем из репозитория компании 1С в свой локальный репозиторий, который как мы договорились располагается в папке C:TMP_C. Далее требуется извлечь из архива пакеты, предназначенные для установки. Выполним следующие действия в консоли Linux и за одно потренируемся управлять системой.

  1. В домашней папке пользователя создадим каталог DISTR/1CSRV (дистрибутив сервера 1С). Все дальнейшие манипуляции с архивами и дистрибутивами сервера 1С будем выполнять в этой папке.
user@PC:~$ mkdir ~/DISTR/1CSRV/
  1. Скопируем архив deb64_8_3_16_1148.tar.gz из папки C:TMP_C операционной системы Windows 10 в папку ~/DISTR операционной системы Linux. Обратите внимание, именно здесь проявляется сила подсистемы WSL. ОС Linux доступны все ресурсы нашего компьютера, включая диски и папки Windows.
user@PC:~$ cp -fi /mnt/c/TMP_C/deb64_8_3_16_1148.tar.gz ~/DISTR/1CSRV/
  1. Распакуем архив deb64_8_3_16_1148.tar.gz с помощью утилиты tar (tape archive)
user@PC:~$ tar -xvf ~/DISTR/1CSRV/deb64_8_3_16_1148.tar.gz

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

Порядок установки Наименование пакета Назначение пакета
1 1c-enterprise83-common_8.3.16-1148_amd64.deb Пакет содержит общие компоненты «1С:Предприятия»
2 1c-enterprise83-server_8.3.16-1148_amd64.deb Пакет содержит компоненты сервера «1С:Предприятия» и утилита контроля целостности
3 1c-enterprise83-ws_8.3.16-1148_amd64.deb Пакет содержит адаптер для публикации Web-сервисов «1С:Предприятия» на веб-сервере на основе Apache HTTP Server 2.0, 2.2 или 2.4

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

user@PC:~$ cd ~/DISTR/1CSRV/
user@PC:~/DISTR/1CSRV$
user@PC:~/DISTR/1CSRV$ sudo apt install ./1c-enterprise83-common_8.3.16-1148_amd64.deb ./1c-enterprise83-server_8.3.16-1148_amd64.deb ./1c-enterprise83-ws_8.3.16-1148_amd64.deb

Установка системы защиты HASP сервера 1С:Предприятие

Предлагаю самостоятельно ознакомится с инструкцией на сайте its.1c.ru

Включение режима отладки на сервере

Изменим настройки сервера 1С:Предприятие и включим возможность проводить отладку на сервере. Для этого нам потребуется внести изменения в конфигурационный файл сервера srv1cv83, который находится в папке /etc/init.d
Данную процедуру необходимо сделать до запуска сервиса сервера 1С:Предприятие.
открыть конфигурационный файл srv1cv83 сервера 1С:Предприятие в редакторе nano

user@PC:~$ sudo nano /etc/init.d/srv1cv83

С помощью редактора nano в конфигурационном файле нужно установить параметр SRV1CV8_DEBUG.

Так было:

# 1C:Enterprise server configuration debug mode
# 0 — default — off
# 1 — on
#
#SRV1CV8_DEBUG

так стало:

# 1C:Enterprise server configuration debug mode
# 0 — default — off
# 1 — on
#
SRV1CV8_DEBUG=1

Запуск службы сервера 1С:Предприятие

Сервис сервера 1С:Предприятие называется srv1cv83. Для того, что бы сервер 1С:Предприятие работал сервис должен быть запущен. Ниже приведены команды управления сервисом:

  • проверить статус сервиса
user@PC:~$ service srv1cv83 status
1C:Enterprise 8.3 server status:
Init script: STARTED.
     Ragent: RUNNING.
  • запустить сервис
user@PC:~$ sudo service srv1cv83 start
Starting 1C:Enterprise 8.3 server: OK
  • остановить сервис
user@PC:~$ sudo service srv1cv83 stop
Stopping 1C:Enterprise 8.3 server: OK

Установка сервера PostgreSQL

Дополнительные библиотеки

Сервер баз данных PostgreSQL требует, чтобы в операционной системе Linux были установлены дополнительные библиотеки или другими словами, зависимости.
Архив ubuntu_18.04.3_server.x64.tar.gz со всеми необходимыми библиотеками мы заранее скачали в папку Windows C:TMP_C

Для удобства создадим в папке DISTR, которая располагается нашей домашней папке каталог SQLDEP (SQL Dependence) и распакуем в него содержимое архива

user@PC:~$ cd ~
user@PC:~$ mkdir ~/DISTR/SQLDEP/
user@PC:~$ cp /mnt/c/TMP_C/ubuntu_18.04.3_server.x64.tar.gz ~/DISTR/SQLDEP/
user@PC:~$ cd ~/DISTR/SQLDEP/
user@PC:~/DISTR/SQLDEP$ tar -xvf ~/DISTR/SQLDEP/ubuntu_18.04.3_server.x64.tar.gz
user@PC:~/DISTR/SQLDEP$ ls -l ~/DISTR/SQLDEP/

В папке ~/DISTR/SQLDEP/ ubuntu 18.04.3-server.x64/ находятся следующие файлы дистрибутивов:

libicu55:amd64 библиотека интернационализации для Unicode
libllvm9:amd64 программная инфраструктура для создания компиляторов и сопутствующих им утилит
postgresql-client-common менеджер управления клиентамиPostrgeSQL
postgresql-common менеджер кластера PostrgeSQL
ssl-cert оболочка для библиотеки OpenSSL

Установим эти библиотеки

user@PC:~$ cd ~/DISTR/SQLDEP/ubuntu 18.04.3-server.x64/
user@PC:~/DISTR/SQLDEP/ubuntu 18.04.3-server.x64$ sudo apt install ./*.deb
Установка сервера PostgreSQL

После установки необходимых библиотек установим сам сервер баз данных. Архив дистрибутива сервера postgresql_11.5_12.1C_amd64_deb.tar.bz2 мы заранее
скачали в папку Windows C:TMP_C

По аналогии с предыдущим шагом создадим в папке DISTR каталог SQL и распакуем в него содержимое архива.

user@PC:~$ cd ~
user@PC:~$ mkdir ~/DISTR/SQL/
user@PC:~$ cp /mnt/c/TMP_C/postgresql_11.5_12.1C_amd64_deb.tar.bz2 ~/DISTR/SQL/
user@PC:~$ cd ~/DISTR/SQL/
user@PC:~/DISTR/SQL$ tar -xvf ~/DISTR/SQL/postgresql_11.5_12.1C_amd64_deb.tar.bz2
user@PC:~/DISTR/SQL$ ls -l ~/DISTR/SQL/

В папке ~/DISTR/SQL/postgresql-11.5-12.1C_amd64_deb находятся следующие файлы дистрибутива:

libpq5_11.5-12.1C служебная библиотека сервера PostgreSQL для программирования приложений на языке С (сборка компании 1С)
postgresql-11_11.5-12.1C серверная часть сервера PostgreSQL (сборка компании 1С)
postgresql-client-11_11.5-12.1C клиентская часть сервера PostgreSQL (сборка компании 1С)

Установим сервер

user@PC:~$ cd ~/DISTR/SQL/postgresql-11.5-12.1C_amd64_deb/
user@PC:~/DISTR/SQL/postgresql-11.5-12.1C_amd64_deb$ sudo apt install ./*.deb
Защита пакетов от обновлений

Платформа 1С:Предприятие работает только с сервером PostgreSQL который собирает компания 1С.

Платформа 1С:Предприятие не будет работать с сервером PostgreSQL если тот обновиться на оригинальные пакеты от компании Postgres (так называемая ванильная версия).
Такое может произойти при обновлении системы Linux. 4 пункт Обновление Linux. Для защиты сервера базы данных от неконтролируемого обновления зафиксируем версии дистрибутива

user@PC:~$ cd ~
user@PC:~$ sudo apt-mark hold libpq5
user@PC:~$ sudo apt-mark hold postgresql-11
user@PC:~$ sudo apt-mark hold postgresql-client-11
user@PC:~$ apt-mark showhold
Запуск и начальная настройка сервера

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

Проверим текущий статус сервиса PostgreSQL. Видно, что сервис остановлен, а сам сервер баз данных слушает порт 5432.

user@PC:~$ service postgresql status
11/main (port 5432): down

Запустим сервис. Потребуются привилегии суперпользователя

user@PC:~$ sudo service postgresql start

Во время установки сервера PostgreSQL в систему Linux был добавлен пользователь postgres. В этом легко убедиться, воспользовавшись утилитой вывода в консоль содержимого файлов cat (concatenate)

Просмотрим содержимое файла passwd, который содержит список всех пользователей системы. Вывод этой команды показан частично.

user@PC:~$ cat /etc/passwd
pen:x:1000:1000:,,,:/home/pen:/bin/bash
usr1cv8:x:999:1001:1C Enterprise 8 server launcher:/home/usr1cv8:/bin/sh
postgres:x:113:118:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash

Все операции с сервером баз данных будем выполнять от имени пользователя postgres. Перед началом использования сервера SQL необходимо задать пароль этого пользователя. Воспользуемся интерактивным терминалом PostgreSQL psql.

user@PC:~$ sudo su postgres
postgres@PC:/home/pen$
postgres@PC:/home/pen$ cd ~
postgres@PC:~$ psql
postgres=#
postgres=# ALTER USER postgres WITH PASSWORD '1111';
ALTER ROLE

postgres=# q
postgres@PC:~$

Готово, пароль пользователя postgres установлен на “1111”, теперь осталось выйти из этого пользователя и вернуться в нашего стандартного пользователя.

Выйдем из пользователя postgres с помощью команды exit. Обратите внимание на то как изменилась строка приглашения.

postgres@PC:~$ exit
user@PC:~$

Установка оснасток серверов

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

Оснастка администрирования работает в Windows 10 и управляет сервером 1C:Предприятие, который работает на Linux.
Оснастка как компонента входит в дистрибутив платформы 1С:Предприятие 8 (х86-64) для Windows.

Если оснастка уже установлена, то в программной группе 1C:Предприятие 8 (х86-64) вы увидите программу Администрирование серверов 1С Предприятия x86-64.
Если такой программы нет, то ее требуется установить.

Установить оснастку можно при начальной установке платформы 1С:Предприятие 8 (х86-64) включив компоненту Администрирование сервера 1С Предприятия x86-64.

Если при начальной установке платформы оснастка не была установлена, то можно это сделать позже. Выполните в Windows 10 следующие действия.
Откройте Параметры системы Windows и далее Установка и удаление программ. Выберите установленный программный продукт 1C:Предприятие 8 (х86-64)
и нажмите кнопку Изменить. В открывшемся окне Обслуживание программ выберите опцию Изменить и нажмите кнопку Далее.
В окне Выборочная установка включите установку компоненты Администрирование сервера 1С Предприятия x86-64 и нажмите кнопку Далее.
Для изменения набора компонент вам потребуется дистрибутив соответствующей версии.

Установка pgAdmin4

Программа pgAdmin4 предназначена для интерактивного управления и администрирования серверов PostgreSQL в системе Windows. Программа работает в браузере.

Для установки запустите файл инсталляции pgadmin4-4.18-x86.exe, который мы ранее скачали и сохранили в папке C:TMP_C. Следуйте шагам установки соглашаясь с рекомендуемыми параметрами.

После установки оснастка управления сервером PostgreSQL будет находиться в программной группе pgAdmin 4.

При запуске она откроется в WEB браузере, который установлен как браузер по умолчанию. При этом сервис postgresql в Linux должен работать.
Первым откроется окно для ввода пароля пользователя postgres.

Укажите пароль, который мы установили на этапе настройки сервера. В нашем примере пароль это 1111.

Если сервис postgresql не запущен, то при попытке подключится к серверу pgAdmin выдаст сообщение:
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host “192.168.1.10” and accepting TCP/IP connections on port 5432?

Создание кластера серверов

Сервера установлены и работают. Пора создать кластер серверов 1С:Предприятие.

Проверим, что сервисы серверов работают. Удобно воспользоваться командой top (table of processes) которая является аналогом диспетчера задач в Linux.
Среди работающих процессов в колонке COMMAND вы должны увидеть процессы с наименованиями postgres и ragent

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND        
 2700 postgres  20   0  297012  15264   7300 S   1,7  0,0   0:05.67 postgres       
 2438 usr1cv8   20   0  173940  25664  23576 S   0,0  0,0   0:00.37 ragent         

Что бы выйти из программы top и вернуться в терминал нажмите [Ctrl + C]

Если сервера остановлены, то запустим их

Запустим сервис postgresql. Потребуются привилегии суперпользователя

user@PC:~$ sudo service postgresql start

Запустим сервис srv1cv83. Потребуются привилегии суперпользователя

user@PC:~$ sudo service srv1cv83 start

Дальнейшие операции будут проводиться в Windows в оснастке администрирования серверов 1С:Предприятие.

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

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

В оснастке на элементе дерева Central 1C:Enterprise 8.3 servers нажимаем правую кнопку мыши и выбираем команду Создать Центральный сервер 1С:Предприятия 8.3

В окне Новый центральный сервер заполняем поля:

Имя. Указываем имя хоста, который связан с IP адресом нашей машины, В моем случае имя хоста PC
Описание. Понятный комментарий к серверу, например Центральный сервер PC
Поля, Протокол и IP порт не меняем и оставляем значения по умолчанию.

Создание кластера сервера

Кластер серверов это точка входа к которой подключаются клиенты 1C:Предприятие. Кластером серверов управляет центральный сервер.

В оснастке на элементе дерева Кластеры нажимаем правую кнопку мыши и выбираем команду Создать Кластер.

В окне Новый кластер заполняем поля:

Имя кластера. Указываем имя нашего кластера, например PEN-Cluster
Компьютер. Указываем имя компьютера, на котором работает центральный сервер кластера. В нашем примере это PC
IP Порт. Указываем порт по умолчанию для менеджера кластера 1541

Отключение IPv6

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

Загрузка демонстрационной конфигурации

Создание пустой базы

В системе Windows запустим платформу 1C и создадим новую информационную базу. Создадим информационную базу без конфигурации (пустую) для того, чтобы в дальнейшем загрузить туда демонстрационную базу. Дадим наименование Демонстрационная база. Тип расположения информационной базы на сервере 1С:Предприятия.

Заполним карточку новой базы:

Кластер серверов. Укажем имя хоста, на котором работает центральный сервер кластера. В моем примере это PC
Имя информационной базы в кластере. Укажем имя DemoDB
Тип СУБД. Выберем PostgreSQL
Сервер баз данных. Укажем имя хоста, на котором работает сервер баз данных. В моем примере это PC
Имя базы данных. Укажем имя DemoDB
Пользователь базы данных. Имя пользователя postgres
Пароль пользователя. Пароль пользователя базы данных нами установлен как 1111.

Остальные параметры оставим по умолчанию и закончим создание новой базы.

Загрузка демонстрационной базы

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

Распакуем архив с демонстрационной базой demodt_8_3_16_1148.zip в папку локального репозитория. В архиве содержится выгрузка информационной базы 1cv8.dt.

Загрузим выгрузку информационной базы в нашу пустую базу используя конфигуратор.

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

Итак, мы настроили рабочее место программиста на Linux.

в тексте 3476 слов

Опыт установки и настройки Ubuntu сервера был, но давний и не совсем удачный (пришёл более квалифицированный человек и поставил FreeBSD). Поэтому некоторое представление о работе с Astra Linux имеется.

Исходные данные:
Бюджетная организация купила достаточно серьёзный сервер Aquarius Server T40 S35 для бухгалтерии. В связи с планируемым переходом к 2020 году на Astra Linux и отсутствием лицензионного Windows Server-а было принято решение установить Astra Linux. 1С у нас не SQL версия, поэтому базу данных PostgreSQL настраивать не пришлось. Десяток клиентских компьютеров с Windows 7 и XP. Надо организовать удалённую работу по сети с сервером, так как не использовать такую мощную машинку посчитал глупостью. До этого сервер (старый) использовался как файл-сервер (хранил файлы БД 1С).

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

Мной были опробованы следующие варианты: Vcxsrv, x2go, PuTTY, xRDP.

1. Vcxsrv. Сразу не пошёл. У его лаунчера есть интересная фича — при двух сетевых картах на клиенте если сервер находится во второстепенной сети (сетевая карта без сетевого шлюза) этот лаунчер может благополучно найти сервер, но не подключается к удалённому рабочему столу. При отключении «лишних» сетевых карт соединение происходило просто замечательно. Мне этот способ не подошёл, так как у некоторых бухгалтеров есть вторая сетевая карта. Сеть проектировал и строил не я. Изменять её я не могу. Приходится работать с тем, что есть.

2. x2go. Мне он понравился — сервер и клиент есть в репозитарии. Ставятся без проблем. Клиент под Windows тоже есть. На сегодня его версия 4.1.2. Обещают проброс принтеров (не получилось) и локальных дисков (получается сразу). Кроме «поломки» кодировки при копировании через clipboard из удалённой машины на клиента сначала всё было нормально. Начал смотреть, как обойти эту проблему. Сначала поставил более старый клиент версии 4.0.3. В нём кодировка нормальная, но перестаёт работать проброс локальных каталогов. Проблему решил следующим образом.
Установил отдельно x2go и VcxSrv версий 4.1.2. Запустил VcxSrv в многооконном режиме для клиентов (как советуют для PuTTY) с ключами «-dpi 96 -xkblayout us,ru -xkbvariant basic,winkeys -xkboptions grp:ctrl_shift_toggle». Решается вопрос с переключением русской/английской раскладки. В x2go в Установках «X.Org Server settings» поставил «Использовать другой X-Server» и убрал галочку «запускать X-Server при запуске X2Go Client». Исправилась кодировка при копировании из буфера, сохранился проброс локальных каталогов. X2go можно запускать в виде отдельного окна по типу RemouteApp. Всё замечательно, но бухгалтеры стали жаловаться на постоянные «подвисания» и разрывы сессий. Но кризис наступил, когда я задействовал вторую сетевую карту (сетевой интерфейс) у сервера с пробросом пакетов, чтобы оба сегмента сети могли видеть друг друга. Делал я это при подключённых через x2go пользователей. Те, которые были подключены, продолжали работать. При попытке установить новое соединение происходит ошибка. При этом пинги и прочие прелести работают. При сбросе настроик проброса пакетов всё заработало нормально. Кстати, KiTTY (PuTTY) нормально соединяется в обоих случаях. Но проброс пакетов нужен.
Тогда решил поменять транспорт.

3. PuTTY. Вернее KiTTY. Отличается от PuTTY наличием параметра send-to-tray при запуске из командной строки, что позволяет прятать терминальное окно в трей и не пугать пользователей. В связке с Vcxsrv позволяет вызвать отдельное окно 1С для работы. НО в 1С с конфигурацией «Зарплата» странное поведение у окна. Те же ощутимые тормоза. Для Windows XP Vcxsrv есть только старых версий десятилетней давности, в которой с этой (именно этой) конфигурацией перестали работать кнопки сворачивания окна и развёртывания окна на весь экран. И перетаскивание окна в этом сочетании не работает.

Кстати, для себя оставил. Работаю с MC и некоторыми оконными утилитами.

4. xRDP. После всех экспериментов остановился на нём. Пока с ним и работаю.
Плюсы:
— При разрыве соединения происходит восстановление с того же места, что удобно для пользователей. SSH этим похвалиться не может.
— Стабильная без зависаний работа 1С с «зарплатной» конфигурацией.
Минусы:
— Пришлось пользователей пустить на удалённый рабочий стол fly, что для них было несколько непривычно.
— Не смог пробросить локальные ресурсы. Пока пытаюсь разобраться.
— Перестали запускаться окна с командой sudo. Например, «Управление политикой безопасности» не запускается. «Инициализация системы» с правами root (даёт возможность удалить любую сессию) тоже. Только в соединении через RDP от root, где не надо повышать права, всё работает нормально.

После активизации root как пользователя перестало работать из-под PuTTY «su-to-root -X -c fly-admin-smc» — запуск «Управление политикой безопасности», да и любое X окно с командой sudo. Нашёл решение в Интернете: указать для новой оболочки переменную XAUTHORITY. И запускаю окна следующим образом:
sudo XAUTHORITY=${HOME}/.Xauthority systemdgenie
Мне помогло.

7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

1

17.09.2015, 06:41. Показов 5392. Ответов 31


Здравствуйте, уважаемые Админы и Программисты 1с 8.x. Сервер на Windows версия 1с 8.3.5.1460. Есть такая проблема, установил клиента 1с 8.3.5.1460 на linux mint 17.1 Cinnamon 64-bit (в etc/hosts прописал имя сервера иначе выдавалсь ошибка при выполнении операции с информационной базой. сейчас нет). Значит напишу пошагово для наглядности:
1) Запускаю 1c толстый клиент, (добавил базу всё настроил).
2) Нажимаю кнопку 1С:Предпиятие.
3) Появляется окно для ввода мени пользователя и пароля.
4) Ввожу, нажимаю ок.
5) Окно закрывается, остается только окно заставки.
6) Через несколько секунд окно закрывается и всё, ничего больше не происходит, клиент не открывается. В журнале регистрации в поле событие пишется:
Сеанс. Начало.
Сеанс. Аутентификация.

При всем при этом, конфигуратор запускается в толстом клиенте.

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

17.09.2015, 11:37

 [ТС]

21

Цитата
Сообщение от 1c-k
Посмотреть сообщение

Значит поднять тестовую систему

Какую тестовую систему? В смысле на винде поднять тестовый сервер 1с, и играться с ним?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

17.09.2015, 11:44

22

fredwriter, в смысле на Linuxe или в виртуальной машине, в которой будет установлен Linux.
И там играться. Проблема не с windows клиентом, а с Linux.



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

17.09.2015, 12:13

 [ТС]

23

Причем тут Windows клиент? У нас сервер на Windows установлен, а я пытаюсь к нему подключиться с Linux клиента, который у меня установлен на мой linux mint 17.1 Cinnamon 64-bit, зачем мне что-то еще устанавливать можно мой клиент и превратить в тестовый.



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

17.09.2015, 12:16

24

fredwriter, при том, что глючит 1с под линукс, так устраивает?
Да можно, пробовать выгрузку развернуть локально и посмотреть, как сработает. Нет поднимать или опускать релизы платформы.



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

18.09.2015, 02:29

 [ТС]

25

Цитата
Сообщение от 1c-k
Посмотреть сообщение

пробовать выгрузку развернуть локально и посмотреть, как сработает

Не понял, можно поподробнее?



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

18.09.2015, 07:30

26

fredwriter, выгрузить серверную БД через конфигуратор в файл типа dt. потом у себя локально на линуксе создать новую файловую БД, и загрузить туда через конфигуратор.
Если возможно будет тоьлко её выгрузить из-за объемов.



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

18.09.2015, 09:00

 [ТС]

27

Поставил VirtualBox, туда влепил Ubuntu 14.04. На неё поставил то же что и на мой Mint.
Там ситуация немного другая. При запуске и вводе пароля пишет:

Запуск выполнен без использования аппаратной лицензии (ключа защиты).
При этом поиск аппаратной лицензии выполнялся более 3 секунд. Для ускорения запуска использование аппаратной лицензии может быть отключено.
Рекомендуется отключить использование аппаратной лицензии, если она отсутствует или не требуется.
Использование аппаратной лицензии может быть в дальнейшем включено в диалоге запуска: Настройка — Использовать аппаратную лицензию (ключ защиты).

Отключить использование аппаратной лицензии (ключа защиты)?

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

Добавлено через 21 минуту
Изначально я настроил виртуалку через NAT, добавил в /etc/hosts доменные имена серваков, и всё пинговалось и по ip и по доменному имени. И как раз когда был NAT выдавалось такое сообщение. Сейчас я настроил сетевой мост, и это сообщение перестало выскакивать хотя в настройках использование аппаратной лицензии включено. И ведёт себя так-же как и в минте на хосте.



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

18.09.2015, 12:20

28

fredwriter,вероятно 1с требует по умолчанию ключи



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

19.09.2015, 18:18

 [ТС]

29

У кого-нибудь вообще есть опыт установки 1с клиента на linux? Пример установки 1с на fedora, и там говорится, что нужно ставить еще и hasp, и обязательно создать файл nethasp.ini. И прописать в нём адрес сервака с менеджером лицензий.
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.25
Я hasp не устанавливал, и файл не создавал, в понедельник проверю. Еще есть видео установки на ubuntu на youtube, и там тоже говорится о hasp.

Добавлено через 50 секунд
Да и много еще ресурсов, которые про hasp пишут, только они мне что-то не сразу попались.



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

19.09.2015, 18:42

30

fredwriter, HASP — это ключи, котоырые с 1с идут, проблема в чём?



0



7 / 7 / 2

Регистрация: 17.10.2009

Сообщений: 325

19.09.2015, 22:24

 [ТС]

31

я знаю, что это ключи, просто интересно, если кто-нибудь на форуме имеет опыт установки клиента на Linux, ответьте пожалуйста, обязателен ли файл nethasp.ini в папке /opt/1C/v8.3/i386/conf/. И нужны ли пакеты hasp отсюда

Может у меня именно в этом проблема?



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

20.09.2015, 11:47

32

fredwriter, я имею и говорю тебе они нужны.

Добавлено через 25 секунд
fredwriter, если его там не прописано, значит надо скопировать с windows клиента. всё.



0



Установка сервера 1C Предприятие на GNU/Linux

Отделу технического сопровождения в компании «РиК» была поставлена задача импортозамещения программного обеспечения. Одним из шагов в этом направлении было рассмотреть перенос платформы серверов 1С Предприятия на GNU/Linux. Необходимо проверить возможность установить и проверить функционал Платформы 1С:Предприятие исключительно на СПО.

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

  • Установить и настроить сервер 1C предприятия на CentOS 7.
  • Создавать кластер серверов 1С предприятия.
  • Устанавливать и настраивать клиентские программы .

Оглавление

  • Установка сервера 1C Предприятие на GNU/Linux
    • Упражнение 1: Подготовка разрешения имён в сети и размещение дистрибутивов на серверах для последующей установки
      • Задача 1: Загрузить файлы дистрибутива с оффициального сайта и перенести в виртуальные машины для установки
      • Задача 2: Настроить разрешение имен в тестовой среде
    • Упражнение 2: Установка пакетов сервера и клиента Платформы 1С:Предприятие
      • Задача 1: Установка клиента Платформы 1С:Предприятие на Windows 10 и проверка её работы с демонстрационной базой
      • Задача 2. Установка клиента Платформы 1С:Предприятие на Linux и проверка её работы с демонстрационной базой
      • Задача 3: Установка и настройка СУБД для сервера Платформы 1С:Предприятие на Linux
      • Задача 4: Установка компонентов сервера Платформы 1С:Предприятие на Linux
    • Упражнение 3: Создание кластера и СУБД и проверка работоспособности

Описание тестовой среды

lab

Предположительное время: 2ч 30 минут

Виртуальные машины: ipa.example.com srv.example.com cl.example.com wincl.domain.com
Пояснение: dc.domain.com — используется нами только как инфраструктурный сервер (контроллер домена и dns) для машины wincl.
Платформа 1С:Предприятие 8.3 не требует Windows серверов и тем более не требует Active Directory домен

Логин Пароль
root redhat
vagrant vagrant

Упражнение 1: Подготовка разрешения имён в сети и размещение дистрибутивов на серверах для последующей установки

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

  1. Загрузить файлы дистрибутива с оффициального сайта и перенести в виртуальные машины для установки
  2. Настроить разрешение имен в тестовой среде

Лабораторная работа предполагет наличие у вас регистрации на оффициальном сайте поставщика программного продукта, а также ранее прикреплённые к вашей учетной записи зарегистрированные программные продукты и из лицензии, используемые в настоящей работе. Практики также предполагают у вас начилие USB-ключа защиты.
Зайдите на оффициальную страницу поставщика дистрибутива https://releases.1c.ru/project/Platform83 из раздела «Технологическая платформа 8.3» и загрузите файлы дистрибутива.

Нам нужны:

  1. 8.3.*.*_windows64full.rar — Платформа 1С:Предприятие 64x для Windows
  2. 8.3.*.*_rpm32-64.zip — rpm-пакеты сервера 1C:Предприятие для GNU/Linux
  3. 8.3.*.*_clientz.rpm64.zip — rpm-пакеты тонкого и толстого клиентов Платформа 1C:Предприятие для GNU/Linux
  4. 1cv8.dt — Файл выгрузки (архива) демонстрационной конфигурации. (Необязателен при наличии своей демонстрационной выгрузки СУБД для экспериментов.)

Задача 1: Загрузить файлы дистрибутива с оффициального сайта и перенести в виртуальные машины для установки

Распакуйте архивы с созданием папок по названию архивов и разместите их в каталоге, где находится Vagrantfile демонстрационной среды с подкаталоге c названием packages. (Каталог )
Вот как в итоге должна выглядеть структура.
Запустите эмулятор терминала cmd или cmder и сделайте каталог ipa-labvagrant текущим
Дайте команду dir, вы должны увидеть список содержимого каталога vagrant.

c:VMsipa-labvagrant
λ dir
...
03.10.2018  21:34    <DIR>          .
03.10.2018  21:34    <DIR>          ..
28.09.2018  21:31                20 .gitignore
28.09.2018  18:24    <DIR>          .vagrant
03.10.2018  21:29    <DIR>          distrib
01.10.2018  09:12    <DIR>          scripts
03.10.2018  20:12            10 323 VagrantFile
...

Если виртуальные машины ещё не созданы, запустите создание их командой vagrant up.
Если виртуальные машины созданы ранее, то остановите и запустите Linux машины [ipa,srv,cl].example.com с CentOS 7.

c:VMsipa-labvagrant
λ vagrant halt "/ipa|srv||^cl/"
...
λ vagrant up "/ipa|srv||^cl/"
...

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

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh ipa --command "ls -al /vagrant/distrib"
total 8
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 .
drwxrwxrwx. 1 vagrant vagrant 4096 Oct  3 21:34 ..
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 8.3.13.1513_clientz.rpm64
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 8.3.13.1513_rpm32-64
drwxrwxrwx. 1 vagrant vagrant 4096 Oct  3 21:29 8.3.13.1513_windows64full
Connection to 127.0.0.1 closed.

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh cl --command "ls -al /vagrant/distrib"
total 8
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 .
drwxrwxrwx. 1 vagrant vagrant 4096 Oct  3 21:34 ..
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 8.3.13.1513_clientz.rpm64
drwxrwxrwx. 1 vagrant vagrant    0 Oct  3 21:29 8.3.13.1513_rpm32-64
drwxrwxrwx. 1 vagrant vagrant 4096 Oct  3 21:29 8.3.13.1513_windows64full
Connection to 127.0.0.1 closed.

Файлы пакетов дистрибутива попали внутрь жестких дисков виртуальных машин srv.example.com, cl.example.com.

В ОС Microsoft Windows изменения синхронизируемого каталога C:Vagrant обнаруживуются моментально во время изменения его содержимого благодаря тому, что она монтирует каталог c:vagrant с помощью SMB протокола. В специальных действиях для синхронизации wincl.domain.comна ОС Microsoft Windows в не нуждается. Откройте окно виртуальной машины wincl.domain.com. Там в обозревателе файлов откройте содержимое каталога C:vagrantdistrib8.3.13.1513_windows64full. Вы должны увидеть примерно следующее.

distrib_in_wincl

Задача 2: Настроить разрешение имен в тестовой среде

Изначально тестовая среда создавалась для лабораторной работы «Интеграция GNU/Linux IPA с Microsoft Active Directory».
В начальном состоянии виртуальные машины не могут разрешать имена доменов example.com.
Повторим часть действий по настройке тестовой среды

  1. Настроим IPA домен:Поставим и настроим разрешение имён для сети *.example.com
  2. Настроим взаимный dns forwarding для возможности разрешать имена доменов example.com и domain.com на всех компьютерах

Зайдите на ipa, создайте и запустите скрипт, настраивающий IPA домен, DNS сервер и разрешение имен на ipa.example.com машине.

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh ipa
[vagrant@ipa ~]$ sudo -s
[root@ipa vagrant]# su -

[root@ipa vagrant]# cat <<EOF >script.sh
#!/bin/bash

echo -e "Configuring IPA & DNS server: n"
yum install -y bind bind-utils  bind-dyndb-ldap ipa-server ipa-server-dns

yum install -y rng-tools
rngd -r /dev/urandom

# yum update -y
 
 #nmcli conn modify System eth0 ipv4.ignore-auto-dns on
 #nmcli conn up System eth0

sed -i /.*ipa.*/d /etc/hosts
echo "172.25.0.10 ipa.example.com ipa" >> /etc/hosts


ipa-server-install 
    --domain=example.com 
    --realm=EXAMPLE.COM 
    --ds-password=password 
    --admin-password=password 
    --hostname=ipa.example.com 
    --ip-address=172.25.0.10 
    --reverse-zone=0.25.172.in-addr.arpa. 
    --forwarder=8.8.8.8 
    --allow-zone-overlap 
	--ssh-trust-dns 
	--allow-zone-overlap 
    --setup-dns 
    --unattended

nmcli connection modify 'System eth0' ipv4.ignore-auto-dns yes && nmcli connection up 'System eth0'
EOF

[root@ipa vagrant]# chmod +x script.sh
[root@ipa vagrant]# ./script.sh
Configuring IPA & DNS server:
...
# тут будет много сообщений о настройке IPA сервера и придётся подождать пару минут, не теряйте времени, вы можете пока переходить к следующему заданию, но не забудьте потом вернуться и настроить dns forward.
...
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring example.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful


Setup complete

Next steps:
        1. You must make sure these network ports are open:
                TCP Ports:
                  * 80, 443: HTTP/HTTPS
                  * 389, 636: LDAP/LDAPS
                  * 88, 464: kerberos
                  * 53: bind
                UDP Ports:
                  * 88, 464: kerberos
                  * 53: bind
                  * 123: ntp

        2. You can now obtain a kerberos ticket using the command: 'kinit admin'
           This ticket will allow you to use the IPA tools (e.g., ipa user-add)
           and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[vagrant@ipa ~]$ kinit admin
Password for admin@EXAMPLE.COM: <password>
[vagrant@ipa ~]$ ipa dnsforwardzone-add domain.com 
                                      --forward-policy=only 
                                      --forwarder=172.25.0.100 
                                      --skip-overlap-check
Server will check DNS forwarder(s).
This may take some time, please wait ...
  Zone name: domain.com.
  Active zone: TRUE
  Zone forwarders: 172.25.0.100
  Forward policy: only
[vagrant@ipa ~]$ ipa dnsrecord-add example.com srv --a-rec 172.25.0.11
  Record name: srv
  A record: 172.25.0.11
[vagrant@ipa ~]$ ipa dnsrecord-add example.com cl --a-rec 172.25.0.20
  Record name: cl
  A record: 172.25.0.20
[vagrant@ipa ~]$              

Откроем необходимые порты для FreeIPA сервера в firewalld

[root@ipa root]# firewall-cmd --add-service=http --permanent
[root@ipa root]# firewall-cmd --add-service=https --permanent
[root@ipa root]# firewall-cmd --add-service=freeipa-ldap --permanent
[root@ipa root]# firewall-cmd --add-service=freeipa-ldaps --permanent
[root@ipa root]# firewall-cmd --add-service=freeipa-replication --permanent
[root@ipa root]# firewall-cmd --add-service=freeipa-trust --permanent
[root@ipa root]# firewall-cmd --add-service=kerberos --permanent
[root@ipa root]# firewall-cmd --add-service=dns --permanent
[root@ipa root]# firewall-cmd --add-service=ntp --permanent
[root@ipa root]# firewall-cmd --reload
[root@ipa root]# chattr +i /etc/resolv.conf # Сделаем так, чтобы `vagrant` не смог изменить файл.
[root@ipa vagrant]# logout
[vagrant@ipa ~]$ dig +noall +answer SOA domain.com
domain.com.             3423    IN      SOA     dc.domain.com. hostmaster.domain.com. 53 900 600 86400 3600
[vagrant@ipa ~]$ dig +noall +answer SRV _ldap._tcp.domain.com
_ldap._tcp.domain.com.  600     IN      SRV     0 100 389 dc.domain.com.
[vagrant@ipa ~]$ dig +noall +answer A dc.domain.com
dc.domain.com.          3600    IN      A       172.25.0.100



[root@ipa vagrant]# logout
[vagrant@ipa ~]$ logout

Откройте терминал на cl.example.comи настройте локальный резолвер и проверьте разрешение имён dns доменов example.com и domain.com.
Повторите эту же процедуру и для srv.example.com.

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh cl
[vagrant@cl ~]$ sudo -s
[root@cl vagrant]# nmcli connection modify 'System eth1' ipv4.dns 172.25.0.10 && nmcli connection up 'System eth1'
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@cl vagrant]# nmcli connection modify 'System eth0' ipv4.ignore-auto-dns yes && nmcli connection up 'System eth0'
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
[root@cl vagrant]# cat /etc/resolv.conf
# Generated by NetworkManager
search example.com
nameserver 172.25.0.10
options single-request-reopen
[root@ipa root]# chattr +i /etc/resolv.conf # Сделаем так, чтобы `vagrant` не смог изменить файл.
[root@cl ~]$ dig +noall +answer A dc.domain.com
dc.domain.com.          3600    IN      A       172.25.0.100
[root@cl ~]$ dig +noall +answer A ipa.example.com
ipa.example.com.        3600    IN      A       172.25.0.10
[root@cl vagrant]# logout
[vagrant@cl ~]$ logout
C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh srv
[vagrant@srv ~]$ sudo -s
[root@srv vagrant]# nmcli connection modify 'System eth0' ipv4.ignore-auto-dns yes && nmcli connection up 'System eth0'
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@srv vagrant]# nmcli connection modify 'System eth1' ipv4.dns 172.25.0.10 && nmcli connection up 'System eth1'
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@srv vagrant]# cat /etc/resolv.conf
# Generated by NetworkManager
search example.com
nameserver 172.25.0.10
options single-request-reopen
[root@srv root]# chattr +i /etc/resolv.conf # Сделаем так, чтобы `vagrant` не смог изменить файл.
[root@srv ~]$ dig +noall +answer A dc.domain.com
dc.domain.com.          3600    IN      A       172.25.0.100
[root@srv ~]$ dig +noall +answer A ipa.example.com
ipa.example.com.        3600    IN      A       172.25.0.10

[root@srv vagrant]#

Откройте окно виртуальной машины dc.domain.com и запустите cmd.exe из-под Администратора

dc_cmd_from_administrator.png

Добавьте настройку перенаправления DNS запросов домена example.com на ip-адрес ipa.example.com

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:Windowssystem32>dnscmd /zoneadd example.com /dsforwarder 172.25.0.10 /TimeOut 30
DNS server . version is 10.0.14393

Creating zone in built-in domain directory partition...
DNS Server . created zone example.com:

Command completed successfully.

C:Windowssystem32>

Теперь проверим, что записи dns доменов domain.com example.com разрешаются на Windows 10 машине wincl.domain.com

C:VMsipa-labvagrant (master -> origin)
λ vagrant powershell wincl
==> wincl: Detecting if a remote PowerShell connection can be made with the guest...
    wincl: Creating powershell session to 127.0.0.1:2205
    wincl: Username: vagrant
[127.0.0.1]: PS C:UsersvagrantDocuments> Resolve-DnsName ipa.example.com

Name                                           Type   TTL   Section    IPAddress
----                                           ----   ---   -------    ---------
ipa.example.com                                A      1012  Answer     172.25.0.10


[127.0.0.1]: PS C:UsersvagrantDocuments> Resolve-DnsName dc.domain.com

Name                                           Type   TTL   Section    IPAddress
----                                           ----   ---   -------    ---------
dc.domain.com                                  A      3600  Answer     172.25.0.100


[127.0.0.1]: PS C:UsersvagrantDocuments>

Упражнение 2: Установка пакетов сервера и клиента Платформы 1С:Предприятие

Теперь настала пора поставить сначала по отдельности клиентскую и серверные компоненты платформы.

  1. Установка клиента Платформы 1С:Предприятие на Windows 10 и проверка её работы с демонстрационной базой
  2. Установка клиента Платформы 1С:Предприятие на Linux и проверка её работы с демонстрационной базой
  3. Установка компонентов сервера Платформы 1С:Предприятие на Linux
  4. Установка и настройка СУБД для сервера Платформы 1С:Предприятие на Linux

Задача 1: Установка клиента Платформы 1С:Предприятие на Windows 10 и проверка её работы с демонстрационной базой

Установим Платформу 1С:Предприятие сначала на на машину wincl.example.com с Windows 10 в тестовую среду, чтобы познакомиться с данными, которые мы будем переносить.

На машине wincl.example.com стоит Английская США версия ОС и языкового пакета. Через панель настроек загрузите и поставьте русский языковой интерфейс.
После загрузки и установки выйдите и зайдите под пользователем DOMAINvagrant с паролем vagrant.

Откройте окно виртуальной машины cl.example.com. В обозревателе файлов найдите C:vagrantdistrib8.3.13.1513_windows64full дистрибутив Платформа 1С:Предприятие и запустите установку через запуск setup.exe. Выберите все компоненты для установки.
дайте команду на регистрацию апплета администрирования.

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

Запустите 1С:Предприятие и создайте новую базу. Запустите конфигуратор и подгрузите выгрузку демонстрационной конфигурации из файла C:vagrantdistrib1cv8.dt
Закройте конфигуратор и запустите 1С:Предприятие. Вы должны получить примерно такое окно программы.

1С_DemoBase_on_Windows.png

Так мы проверили, что клиентские приложения на Windows 10 работают с базой в локальном файловом режиме.

Задача 2. Установка клиента Платформы 1С:Предприятие на Linux и проверка её работы с демонстрационной базой

Теперь проверим клиентские приложения и на Linux

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

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh cl
[vagrant@cl ~]$ sudo ls -al /vagrant/
total 21
drwxrwxrwx.  1 vagrant vagrant  4096 Oct  3 21:34 .
dr-xr-xr-x. 18 root    root      239 Oct  3 21:36 ..
drwxrwxrwx.  1 vagrant vagrant     0 Oct  4 00:57 distrib
-rwxrwxrwx.  1 vagrant vagrant    20 Sep 28 21:31 .gitignore
drwxrwxrwx.  1 vagrant vagrant  4096 Oct  3 23:28 scripts
drwxrwxrwx.  1 vagrant vagrant     0 Oct  3 22:40 .vagrant
-rwxrwxrwx.  1 vagrant vagrant 10359 Oct  3 22:36 VagrantFile
[vagrant@cl ~]$ sudo ls -al /vagrant/distrib/8.3.13.1513_clientz.rpm64/8.3.13.1513_client.rpm64/
total 307572
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  3 21:29 .
drwxrwxrwx. 1 vagrant vagrant         0 Oct  3 21:29 ..
-rwxrwxrwx. 1 vagrant vagrant 155291374 Sep 16 09:10 1C_Enterprise83-client-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  22308081 Sep 16 09:10 1C_Enterprise83-client-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant 121126374 Sep 16 09:10 1C_Enterprise83-thin-client-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  16219171 Sep 16 09:10 1C_Enterprise83-thin-client-nls-8.3.13-1513.x86_64.rpm
[vagrant@cl ~]$ sudo ls -al /vagrant/distrib/8.3.13.1513_clientz.rpm64/8.3.13.1513_thin.client.rpm64/
total 134128
drwxrwxrwx. 1 vagrant vagrant         0 Oct  3 21:29 .
drwxrwxrwx. 1 vagrant vagrant         0 Oct  3 21:29 ..
-rwxrwxrwx. 1 vagrant vagrant 121126374 Sep 16 09:10 1C_Enterprise83-thin-client-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  16219171 Sep 16 09:10 1C_Enterprise83-thin-client-nls-8.3.13-1513.x86_64.rpm
[vagrant@cl ~]$  sudo cat /etc/resolv.conf
# Generated by NetworkManager
search example.com
nameserver 172.25.0.10
options single-request-reopen

[vagrant@cl ~]$ sudo yum install -y epel-release # Поставим поддержку репозитория EPEL
...
[vagrant@cl ~]$ sudo yum install -y firefox libreoffice    #Поставим комплект типовых офисных приложений
...

[vagrant@cl ~]$ mv /vagrant/distrib/8.3.13.1513_rpm32-64/8.3.13.1513_rpm64/1C_Enterprise83-*.rpm /vagrant/distrib/all
[vagrant@cl ~]$ mv /vagrant/distrib/8.3.13.1513_clientz.rpm64/8.3.13.1513_client.rpm64/1C_Enterprise83-client-*.rpm /vagr ant/distrib/all
[vagrant@cl ~]$ cd /vagrant/distrib/all
[vagrant@cl distrib]$ cd all/
[vagrant@cl all]$ ls -al
total 517188
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 02:04 .
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 02:06 ..
-rwxrwxrwx. 1 vagrant vagrant 155291374 Sep 16 09:10 1C_Enterprise83-client-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  22308081 Sep 16 09:10 1C_Enterprise83-client-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  32932813 Sep 16 09:10 1C_Enterprise83-common-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant   6272534 Sep 16 09:10 1C_Enterprise83-common-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant 237057486 Sep 16 09:10 1C_Enterprise83-server-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  75461942 Sep 16 09:10 1C_Enterprise83-server-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant    230780 Sep 16 09:10 1C_Enterprise83-ws-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant     18415 Sep 16 09:10 1C_Enterprise83-ws-nls-8.3.13-1513.x86_64.rpm
[vagrant@cl all]$

[vagrant@cl all]$ sudo yum localinstall 1C_Enterprise83-*.rpm
...
Installing:
 1C_Enterprise83-client          x86_64      8.3.13-1513        /1C_Enterprise83-client-8.3.13-1513.x86_64          399 M  
 1C_Enterprise83-client-nls      x86_64      8.3.13-1513        /1C_Enterprise83-client-nls-8.3.13-1513.x86_64      189 M  
 1C_Enterprise83-common          x86_64      8.3.13-1513        /1C_Enterprise83-common-8.3.13-1513.x86_64           79 M  
 1C_Enterprise83-common-nls      x86_64      8.3.13-1513        /1C_Enterprise83-common-nls-8.3.13-1513.x86_64       11 M  
 1C_Enterprise83-server          x86_64      8.3.13-1513        /1C_Enterprise83-server-8.3.13-1513.x86_64          459 M  
 1C_Enterprise83-server-nls      x86_64      8.3.13-1513        /1C_Enterprise83-server-nls-8.3.13-1513.x86_64      172 M  
 1C_Enterprise83-ws              x86_64      8.3.13-1513        /1C_Enterprise83-ws-8.3.13-1513.x86_64              530 k  
 1C_Enterprise83-ws-nls          x86_64      8.3.13-1513        /1C_Enterprise83-ws-nls-8.3.13-1513.x86_64          135 k
 Installing for dependencies:
 libpng12                        x86_64      1.2.50-10.el7      base                                                171 k
...
Installed:
  1C_Enterprise83-client.x86_64 0:8.3.13-1513               1C_Enterprise83-client-nls.x86_64 0:8.3.13-1513
  1C_Enterprise83-common.x86_64 0:8.3.13-1513               1C_Enterprise83-common-nls.x86_64 0:8.3.13-1513
  1C_Enterprise83-server.x86_64 0:8.3.13-1513               1C_Enterprise83-server-nls.x86_64 0:8.3.13-1513
  1C_Enterprise83-ws.x86_64 0:8.3.13-1513                   1C_Enterprise83-ws-nls.x86_64 0:8.3.13-1513

Dependency Installed:
  libpng12.x86_64 0:1.2.50-10.el7


Complete!
[vagrant@cl all]$
[vagrant@cl all]$ cd ..
[vagrant@cl distrib]$ mkdir haspd
[vagrant@cl distrib]$ cd haspd/
[vagrant@cl haspd]$ wget ftp://download.etersoft.ru/pub/Etersoft/HASP/last/CentOS/7/haspd-7.60-eter1centos.x86_64.rpm
[vagrant@cl haspd]$ wget ftp://download.etersoft.ru/pub/Etersoft/HASP/last/CentOS/7/haspd-debuginfo-7.60-eter1centos.x86_64.rpm
[vagrant@cl haspd]$ wget ftp://download.etersoft.ru/pub/Etersoft/HASP/last/CentOS/7/haspd-modules-7.60-eter1centos.x86_64.rpm
[vagrant@cl haspd]$ sudo yum localinstall *.rpm
...
[vagrant@cl haspd]$
[vagrant@cl haspd]$ sudo service haspd build
...
aksparlnx.ko successfully built:
-rw-r--r--. 1 root root 60656 Oct  4 02:15 aksparlnx.ko
depmod: WARNING: -e needs -E or -F
aksparlnx.ko installed into /lib/modules/3.10.0-862.14.4.el7.x86_64/kernel/extra

Теперь зайдём с помощью графического входа нв cl.example.com и попробуем запустить клиентское приложение «Платформа 1C:Предприятие» работающее на Linux.

Перед запуском установим язык GNOME 3 на Русский и добавим русский способ ввода. Выйдем и снова войдём уже с русским интерфейсом.
Запустим толстый клиент через меню запуска приложений.

1С_client_firstrun_on_Linux.png
Клиентская часть работает на Linux!

1С_client_attach_to_server_Linux.png
Клиент подключается к базе.

Итак клиентская часть платформы 1С:Предприятие работает. Теперь настало время взяться за серверную часть.

Задача 3: Установка и настройка СУБД для сервера Платформы 1С:Предприятие на Linux

Поставим СУБД на сервер. Подключим репозиторий и поставим и преднастроим СУБД.

https://postgrespro.ru/products/1c

https://postgrespro.ru/products/1c_build

C:VMsipa-labvagrant (master -> origin)
λ vagrant ssh srv
[vagrant@srv ~]$ sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.6
...
[vagrant@srv ~]$

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

[vagrant@srv ~]$ sudo -s
[root@srv vagrant]# su - postgres
-bash-4.2$ vi .bash_profile
-bash-4.2$

Открываем файл, в котором зададим необходимые переменные окружения:

Добавляем в этот файл переменные:

export PATH=/usr/pgsql-9.6/bin:$PATH  
export MANPATH=/usr/pgsql-9.6/share/man:$MANPATH

Пример результата измененного файла:

[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/pgsql/9.6/data
export PGDATA

export PATH=/usr/pgsql-9.6/bin:$PATH
export MANPATH=/usr/pgsql-9.6/share/man:$MANPATH

# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source /var/lib/pgsql/.pgsql_profile

Инициализируем служебные базы данных с русской локализацией (под пользователем postgres).

-bash-4.2$ initdb --locale=ru_RU.UTF-8
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "ru_RU.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "russian".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgsql/9.6/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    pg_ctl -D /var/lib/pgsql/9.6/data -l logfile start

-bash-4.2$ logout

Запуск сервера PostgreSQL 9.6.


[root@srv vagrant]# systemctl enable postgresql-9.6
postgresql-9.6.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig postgresql-9.6 on
[root@srv vagrant]# systemctl start postgresql-9.6
[root@srv vagrant]# systemctl status postgresql-9.6
● postgresql-9.6.service - SYSV: PostgreSQL database server.
   Loaded: loaded (/etc/rc.d/init.d/postgresql-9.6; bad; vendor preset: disabled)
   Active: active (exited) since Thu 2018-10-04 03:44:45 +07; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4162 ExecStart=/etc/rc.d/init.d/postgresql-9.6 start (code=exited, status=0/SUCCESS)

Oct 04 03:44:43 srv.example.com systemd[1]: Starting SYSV: PostgreSQL database server....
Oct 04 03:44:45 srv.example.com postgresql-9.6[4162]: Starting postgresql-9.6 service: [  OK  ]
Oct 04 03:44:45 srv.example.com systemd[1]: Started SYSV: PostgreSQL database server..
[root@srv vagrant]#

Изменение настроек сервера PostgreSQL

В файле /var/lib/pgsql/9.6/data/pg_hba.conf изменим строку

host all all 0.0.0.0/0 trusted
на
host all all 0.0.0.0/0 md5

для возможности пользователю postgres авторизовываться по паролю.

Далее в файле /var/lib/pgsql/9.6/data/postgresql.conf изменяем настройки под наши нужды. Редактируемые настройки:

shared_buffers = 512MB
temp_buffers = 16MB
work_mem = 128MB
maintenance_work_mem = 192MB
effective_cache_size = 3GB

Внимание! Подбор данных настроек производится индивидуально и зависит как от характеристик сервера, на котором будет работать сервер PostgreSQL, так и от характеристик информационных баз, которые будут обрабатываться на этом сервере.

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

[root@srv vagrant]# su - postgres
Last login: Thu Oct  4 03:41:52 +07 2018 on pts/0
-bash-4.2$ psql
psql (9.6.10)
Type "help" for help.

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'password';   #вместо 'password' поставьте нужный пароль
ALTER ROLE
postgres=# help;
You are using psql, the command-line interface to PostgreSQL.
Type:  copyright for distribution terms
       h for help with SQL commands
       ? for help with psql commands
       g or terminate with semicolon to execute query
       q to quit
postgres=# q
-bash-4.2$ logout
[root@srv vagrant]#

Рестарт сервера PostgreSQL

[root@srv vagrant]# systemctl stop postgresql-9.6
[root@srv vagrant]# systemctl start postgresql-9.6
[root@srv vagrant]# systemctl status postgresql-9.6
● postgresql-9.6.service - SYSV: PostgreSQL database server.
   Loaded: loaded (/etc/rc.d/init.d/postgresql-9.6; bad; vendor preset: disabled)
   Active: active (exited) since Thu 2018-10-04 04:02:59 +07; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4379 ExecStop=/etc/rc.d/init.d/postgresql-9.6 stop (code=exited, status=0/SUCCESS)
  Process: 4415 ExecStart=/etc/rc.d/init.d/postgresql-9.6 start (code=exited, status=0/SUCCESS)

Oct 04 04:02:57 srv.example.com systemd[1]: Starting SYSV: PostgreSQL database server....
Oct 04 04:02:59 srv.example.com postgresql-9.6[4415]: Starting postgresql-9.6 service: [  OK  ]
Oct 04 04:02:59 srv.example.com systemd[1]: Started SYSV: PostgreSQL database server..
[root@srv vagrant]#

Ура СУБД PostgreSQL 9.6 установлена, преднастроена и работает!
Теперь к базе на srv.example.com можно подключаться под пользователем postgres c паролем password.

Задача 4: Установка компонентов сервера Платформы 1С:Предприятие на Linux

Поставим пакеты сервера. Для упрощения настройки и экономии ресурсов тестовой среды и веб-часть и Серверную часть и СУБД будет ставить на один сервер srv.example.com.
Вы можете легко расширить тестовую среду отредактировав Vagrantfile, запустить и преднастроить дополнительные сервера.
Для того, чтобы СУБД PostgreSQL запустилась и работала оптимально и без проблем, временно остановите srv.example.com командой vagrant halt srv и увеличьте количество ресурсов, выделяемых машине. Памяти увеличьте да 6GB, ядра поставьте 4. Запустите машину командой vagrant up srv.

Внимание! Если вы выключите и снова включите машину не через vagrant, то каталог /vagrant будет пуст и вы не сможете поставить пакеты.
В таком случае снова остановите сервер через vagrant halt srv и запустите его через vagrant up srv.

Поставим пакеты сервера 1С:Предприятие и веб сервер apache

[root@srv vagrant]# # Lets disable SELINUX May be some time later i will not disable SELinux but not this night Dan Walsh https://stopdisablingselinux.com/ , i am sorry but you need to weed some more time.
[root@srv vagrant]# sed -i --follow-symlinks 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux && cat /etc/sysconfig/selinux
[root@srv vagrant]# setenforce 0
[root@srv vagrant]# ls -al /vagrant/distrib/all/
total 517188
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 02:04 .
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 02:10 ..
-rwxrwxrwx. 1 vagrant vagrant 155291374 Sep 16 09:10 1C_Enterprise83-client-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  22308081 Sep 16 09:10 1C_Enterprise83-client-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  32932813 Sep 16 09:10 1C_Enterprise83-common-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant   6272534 Sep 16 09:10 1C_Enterprise83-common-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant 237057486 Sep 16 09:10 1C_Enterprise83-server-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  75461942 Sep 16 09:10 1C_Enterprise83-server-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant    230780 Sep 16 09:10 1C_Enterprise83-ws-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant     18415 Sep 16 09:10 1C_Enterprise83-ws-nls-8.3.13-1513.x86_64.rpm
[root@srv vagrant]# mv  /vagrant/distrib/all/1C_Enterprise83-client-*.rpm /vagrant/distrib/8.3.13.1513_clientz.rpm64/

[root@srv vagrant]# ls -al /vagrant/distrib/all/
total 343748
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 04:08 .
drwxrwxrwx. 1 vagrant vagrant      4096 Oct  4 02:10 ..
-rwxrwxrwx. 1 vagrant vagrant  32932813 Sep 16 09:10 1C_Enterprise83-common-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant   6272534 Sep 16 09:10 1C_Enterprise83-common-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant 237057486 Sep 16 09:10 1C_Enterprise83-server-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant  75461942 Sep 16 09:10 1C_Enterprise83-server-nls-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant    230780 Sep 16 09:10 1C_Enterprise83-ws-8.3.13-1513.x86_64.rpm
-rwxrwxrwx. 1 vagrant vagrant     18415 Sep 16 09:10 1C_Enterprise83-ws-nls-8.3.13-1513.x86_64.rpm
[root@srv all]# yum localinstall *.rpm
Loaded plugins: fastestmirror
...
Installing:
 1C_Enterprise83-common         x86_64     8.3.13-1513       /1C_Enterprise83-common-8.3.13-1513.x86_64          79 M  
 1C_Enterprise83-common-nls     x86_64     8.3.13-1513       /1C_Enterprise83-common-nls-8.3.13-1513.x86_64      11 M  
 1C_Enterprise83-server         x86_64     8.3.13-1513       /1C_Enterprise83-server-8.3.13-1513.x86_64         459 M  
 1C_Enterprise83-server-nls     x86_64     8.3.13-1513       /1C_Enterprise83-server-nls-8.3.13-1513.x86_64     172 M  
 1C_Enterprise83-ws             x86_64     8.3.13-1513       /1C_Enterprise83-ws-8.3.13-1513.x86_64             530 k  
 1C_Enterprise83-ws-nls         x86_64     8.3.13-1513       /1C_Enterprise83-ws-nls-8.3.13-1513.x86_64         135 k
...
Installed:
  1C_Enterprise83-common.x86_64 0:8.3.13-1513             1C_Enterprise83-common-nls.x86_64 0:8.3.13-1513
  1C_Enterprise83-server.x86_64 0:8.3.13-1513             1C_Enterprise83-server-nls.x86_64 0:8.3.13-1513
  1C_Enterprise83-ws.x86_64 0:8.3.13-1513                 1C_Enterprise83-ws-nls.x86_64 0:8.3.13-1513

Complete!
[root@srv all]#

Теперь поставим шришты «Microsoft’s Core Fonts» на наш сервер.
Или может появиться такое окошко при первом подключении.

1C_mscorefonts_notfound

Почитать об этих шрифтах можно тут http://mscorefonts2.sourceforge.net

[vagrant@srv x86_64]$ sudo yum install -y epel-release
[vagrant@srv x86_64]$ sudo yum install -y curl cabextract xorg-x11-font-utils fontconfig
[vagrant@srv x86_64]$ sudo yum install https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Запуск сервера 1С.

[root@srv all]# systemctl enable srv1cv83
srv1cv83.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig srv1cv83 on
[root@srv all]# systemctl start srv1cv83
[root@srv all]# systemctl status srv1cv83
  srv1cv83.service - SYSV: Starts and stops the 1C:Enterprise daemons
   Loaded: loaded (/etc/rc.d/init.d/srv1cv83; bad; vendor preset: disabled)
   Active: active (exited) since Thu 2018-10-04 04:12:16 +07; 20s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4584 ExecStart=/etc/rc.d/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)

Oct 04 04:12:11 srv.example.com systemd[1]: Starting SYSV: Starts and stops the 1C:Enterprise daemons...
Oct 04 04:12:11 srv.example.com su[4597]: (to usr1cv8) root on none
Oct 04 04:12:16 srv.example.com srv1cv83[4584]: Starting 1C:Enterprise 8.3 server: OK
Oct 04 04:12:16 srv.example.com systemd[1]: Started SYSV: Starts and stops the 1C:Enterprise daemons.
[root@srv all]#

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

Failed at step EXEC spawning /etc/rc.d/init.d/srv1cv83: Exec format error
Чтобы устранить эту ошибку, необходимо в скрипте инициализации сервера указать интерпретатор (например shell или bash), для этого необходимо добавить в начало файла /etc/init.d/srv1cv83 строку:

Затем надо перезагрузить systemd для поиска новых или измененных юнитов:

И снова попытаться запустить сервер 1С:Предприятие

systemctl restart srv1cv83.service

Но в нашем примере всё заработало с первого раза и без ошибок.

Установка дополнительных пакетов для корректной работы сервера 1С.

В документации сервера 1С:Предприятия описана утилита config_system, которая необходима для анализа готовности системы к запуску сервера 1С, в частности она помогает обнаружить отсутствующие необходимые пакеты для корректной работы сервера 1С. К сожалению, анализ rmp пакетов (rmp -ql) показал отсутствие данной утилиты в составе дистрибутива сервера 1С версии 8.3.9.1818. На всякой случай поставим пакеты и перезапустим сервисы.

[root@srv all]# yum install fontconfig-devel ImageMagick
...
[root@srv all]# systemctl stop srv1cv83
[root@srv all]# systemctl start srv1cv83
[root@srv all]# systemctl status srv1cv83
  srv1cv83.service - SYSV: Starts and stops the 1C:Enterprise daemons
   Loaded: loaded (/etc/rc.d/init.d/srv1cv83; bad; vendor preset: disabled)
   Active: active (exited) since Thu 2018-10-04 04:17:04 +07; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5841 ExecStop=/etc/rc.d/init.d/srv1cv83 stop (code=exited, status=0/SUCCESS)
  Process: 5900 ExecStart=/etc/rc.d/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)

Oct 04 04:16:59 srv.example.com systemd[1]: Starting SYSV: Starts and stops the 1C:Enterprise daemons...
Oct 04 04:16:59 srv.example.com su[5913]: (to usr1cv8) root on none
Oct 04 04:17:04 srv.example.com srv1cv83[5900]: Starting 1C:Enterprise 8.3 server: OK
Oct 04 04:17:04 srv.example.com systemd[1]: Started SYSV: Starts and stops the 1C:Enterprise daemons.
[root@srv all]#

Откроем порт для подключения к серверу.

[root@srv all]# systemctl disable firewalld
[root@srv all]# systemctl stop firewalld
[root@srv all]# systemctl mask firewalld

Поставим Веб сервер Платформы 1С:Предприятие

[vagrant@srv ~]$ sudo yum install httpd

[vagrant@srv ~]$ cd /opt/1C/v8.3/x86_64/
[vagrant@srv x86_64]$ ./webinst

1C:Предприятие 8. Утилита публикации веб-клиента

    Публикация:

    webinst [-publish] websrv -wsdir VirtualDir -dir Dir -connstr connStr [-confPath confPath]

    Публикация на основе существующего vrd файла:

    webinst [-publish] websrv [-wsdir VirtualDir] -descriptor vrdPath -dir Dir [-connstr connStr] [-confPath confPath]

    Удаление публикации:

    webinst -delete websrv -wsdir VirtualDir [-dir Dir] [-connstr connStr] [-confPath confPath]

    Удаление публикации по существующему vrd файлу:

    webinst -delete websrv [-wsdir VirtualDir] -descriptor vrdPath [-dir Dir] [-connstr connStr] [-confPath confPath]

    Ключи:

        -publish: опубликовать, ключ по умолчанию
        -delete: удалить публикацию
        websrv
            -apache2: публикация Веб-клиента для Apache 2.0
            -apache22: публикация Веб-клиента для Apache 2.2
            -apache24: публикация Веб-клиента для Apache 2.4
        -wsdir VirtualDir: виртуальный каталог
        -dir Dir: физический каталог, в который будет отображен виртуальный
        -descriptor vrdPath: путь к существующему vrd файлу
        -connstr connStr: строка соединения ИБ
        -confPath confPath: полный путь к конфигурационному файлу Apache

[vagrant@srv x86_64]$ sudo ./webinst -publish -apache24 -wsdir demo -dir '/var/www/html/demo/' -connstr 'Srvr="srv.example.com:1542";Ref="te st-base"' -confPath /etc/httpd/conf/httpd.conf

Publication successful
[vagrant@srv ~]$ sudo -s
[root@srv vagrant]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@srv vagrant]# systemctl start httpd
[root@srv vagrant]# systemctl status httpd
  httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-10-04 06:01:29 +07; 5s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 4526 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─4526 /usr/sbin/httpd -DFOREGROUND
           ├─4527 /usr/sbin/httpd -DFOREGROUND
           ├─4528 /usr/sbin/httpd -DFOREGROUND
           ├─4529 /usr/sbin/httpd -DFOREGROUND
           ├─4530 /usr/sbin/httpd -DFOREGROUND
           └─4531 /usr/sbin/httpd -DFOREGROUND

Oct 04 06:01:29 srv.example.com systemd[1]: Starting The Apache HTTP Server...
Oct 04 06:01:29 srv.example.com systemd[1]: Started The Apache HTTP Server.
[vagrant@srv ~]$ firewall-cmd --add-service=http --permanent
[vagrant@srv ~]$ firewall-cmd --add-service=https --permanent
[vagrant@srv ~]$ firewall-cmd --reload

Сервер 1С:Предприятие поставлен.

Упражнение 3: Создание кластера и СУБД и проверка работоспособности

Переключимся на Windows10 рабочую станцию wincl.domain.com. И запустим утилиту администрирования серверов Платформы 1С:Предприятия.

1C_Server_admin_mmc
утилиту администрирования серверов Платформы 1С:Предприятия. Запуск.

Необходимо указать имя сервера (прописанное в hosts) и порт 1540 (используется по умолчанию):

1C_mmcadmin_new_connection
Меню подключения к серверу 1С.

1C_mmcadmin_new_centralserver
Свойства подключения к серверу 1С.

1C_mmcadmin_new_centralserver
Окно свойств локального кластера srv.example.com

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

  • произвольное имя кластера
  • имя центрального сервера, на котором располагается кластер (прописанный в hosts)
  • порт 1541 (используется по умолчанию)

Создание базы на кластере сервера 1С.
Необходимо указать:

  • имя базы на кластере 1С
  • имя сервера баз данных (разрешаемое в IP адрес, имя сервера)
  • тип СУБД ( В данной практике выберите PostgeSQL)
  • имя базы данных на сервере СУБД
  • пользователь сервера СУБД (в нашем случае postgres)
  • пароль указанного пользователя сервера СУБД

При необходимости можно отметить пункт «Создать базу с случае ее отсутствия»

1C_mmcadmin_new_database
Администратор Серверов: Создание базы в кластере srv.example.com

1C_winclient
Подключение к серверу из Windows. Сервер: srv.example.com База: Base1

1C_winclient_opened_DB_with_Weи
Подключение к 1С:Предприятие Windows клиентом: Открыта Демо база и работает веб клиент

1C_LinuxClientt_opened_DB_with_Web
Подключение к 1С:Предприятие Linux клиент: Открыта Демо база и работает веб клиент

*nix, Серверное администрирование


Рекомендация: подборка платных и бесплатных курсов 3D max — https://katalog-kursov.ru/

В статье рассматриваются нюансы установки и настройки терминального сервера по протоколу RDP для работы с базами 1с на платформе 8.3 на базе дистрибутива Xubuntu 14.04 с учетом возможностей последней версии сервера xrdp и опыта реальной эксплуатации.

Не так давно (в конце декабре 2016 года) вышел в свет очередной релиз сервера xrdp версии 0.9.1. Одновременно с этим была выпущена стабильная версия одного из «бекендов» xrdp — xorgxrdp v 0.2.0. Эти версии мы и будем использовать далее при установке.

Небольшое, но важное отступление

В составе дистрибутивов linux в-основном содержится устаревшая версия сервера xrdp версии 0.6.x, в которой имеются баги, которые мешают нормально работать с 1с (например, не работает нормально буфер обмена с русскими символами).

В основном, когда рассматривается установка терминального сервера на базе протокола rdp на linux, рассматриваются варианты установки сервера xrdp со сборкой X11Rdp бекенда с помощью специальных скриптов, например, X11RDP-o-Matic (для ubuntu) — статья на хабре, статья на infostart.

Использование бекэнда X11Rdp несет в себе несколько минусов:

  • Достаточно долгое время сборки
  • Сложно решить проблему с переключением языков. После переподключения к сеансу переключение языков может перестать работать. Автор регестрировал проблему на сайте разработчиков — гарантированное решение было найдено автором только для бекенда xorgxrdp правкой исходно кода (далее этот метод используется в статье)
  • Скорость отрисовки может оказаться недостаточно быстрой для комфортной работы пользователей

Использование бекэнда xorgxrdp позволяет указанных проблем избежать.

В статье рассматривается установка на Xubuntu версии 14.04 LTS, а не более свежей версии 16.04 LTS, по причине падения производительности при прорисовке удаленного экрана. Есть зарегистрированная проблема по данной ситуации. Кому-то помогало отключение compositor в настройках, но автору статьи не удалось добиться такой же скорости прорисовки, как на версии Xubuntu 14.04.

Рекомендации по установке операционной системы

Для установки используем 32-битную версию ОС Xubuntu 14.04. Ссылка на образ.

Система может быть установлена как на хост, на и в виртуальную среду. Я обычно предпочитаю виртуализацию KVM, рабочие сервера ставились на ней.

При разбивке дисков использовалась классическая схема (не LVM), файловая система ext4. В виртуальную машину подключено 3 диска фиксированного размера:

  • 22 Гбайта: 18 Гигабайт точка монтирования /, остальное под swap
  • 5 Гбайт: точка монтирования /var
  • 5 Гбайт: точка монтирования /tmp

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

Для сервера необходимо установить статический IP-адрес.

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

sudo apt-get install openssh-server
sudo restart ssh

При активированном firewall открываем порт 22:

firewall-cmd --add-port 22/tcp --permanent
firewall-cmd --reload

Установка и настройка сервера xrdp with xorgxrdp backend

На сайте разработчиков есть инструкция для установки на debian 8, используем ее за основу.

Устанавливаем необходимые зависимости:

sudo apt-get install git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev git

Создаем каталог для загрузки дистрибутивов:

mkdir -p ~/xrdp-xorg
cd ~/xrdp-xorg
BD=`pwd`
cd "${BD}"

Клонируем из репозитория текущую последнюю сборку xrdp и собираем с кодеком rfxcodec:

git clone git://github.com/neutrinolabs/xrdp
cd xrdp
git submodule init
git submodule update
cd librfxcodec
./bootstrap
./configure
make
cd ..
./bootstrap
./configure --enable-fuse --enable-rfxcodec --disable-ipv6
make

Устанавливаем xrdp в систему:

sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
sudo update-rc.d xrdp defaults

Скачиваем дистрибутив xorg-xrdp бекенда:

// Build and install xorgxrdp
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz
cd "${BD}"
tar xvfz xorgxrdp-0.2.0.tar.gz
cd "${BD}"/xorgxrdp-0.2.0

Устанавливаем жесткое правило переключения раскладки с русского на английский язык сочетанием клавиш Ctrl+Shift для решения проблемы переключения раскладок. Корректность проверяется созданием сессии — 1-я проверка, отключаемся, подключаемся еще раз в ту же сессию — заново еще раз проверяем.

В терминале присваиваем значения временных переменных:

kb_model="pc105"
kb_layout="us,ru"
kb_options="grp:ctrl_shift_toggle"

Делаем замену кода в исходном файле:

sed -ri.bak "s/(set.model)[^;]+/1 = "$kb_model"/;s/(set.layout)[^;]+/1 = "$kb_layout"/;s/(set.options)[^;]+/1 = "$kb_options"/" xrdpkeyb/rdpKeyboard.c

Компилируем и устанавливаем в систему xorg-xrdp бекэнд:

./bootstrap
./configure
make
sudo make install

Желательно в файле /etc/xrdp/xrdp.ini поменять местами блоки [X11rdp] и [Xorg], чтобы у пользователя по умолчанию был правильный бэкэнд. При подключении к серверу нужно выбирать Xorg в списке сессий.

При необходимости изменения порта по умолчанию с 3389 на другой, редактируем файл /etc/xrdp/xrdp.ini: в разделе [Globals] меняем значение переменной port=3389 на требуемый.

При активированном firewall открываем порт 3389(либо тот, на который стандартный был изменен):

firewall-cmd --add-port 3389/tcp --permanent
firewall-cmd --reload

После настроек перезапускаем службу

service xrdp restart

Теперь можете подключиться к серверу через стандартного клиента с windows либо с linux любым клиентом, который поддерживает протокол rdp.

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

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

Установка клиента 1С: Предприятие версии 8.3.9

В связи с тем, что в последних версиях платформы компания 1с довела нативного клиента для ОС на базе linux до состояния, с которым можно более менее комфортно работать, будем использовать именно его, а не пытаться установить wine, а поверх клиента для ОС Windows.

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

sudo apt-get install libgsf-1-114
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install imagemagick

Скачиваем в папку с сайта 1с дистрибутив клиента и сервера:

sudo dpkg -i *.deb
sudo apt-get -f install

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

sudo update-rc.d srv1cv83 disable

Если используется сетевой hasp-ключ, то пропишем параметры поиска:

sudo mkdir /opt/1C/v8.3/i386/conf
sudo su
echo [NH_COMMON] >/opt/1C/v8.3/i386/conf/nethasp.ini
echo  NH_TCPIP = Enabled>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo [NH_TCPIP]>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo  NH_SERVER_ADDR = 192.168.0.100>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo  NH_TCPIP_METHOD = UDP>>/opt/1C/v8.3/i386/conf/nethasp.ini

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

Корректная настройка с временными файлами, создаваемыми платформой 1С

В процессе работы столкнулись с проблемой, когда у одного пользователя внешняя обработка заполнения табличной части работает, а у другого нет — выдается сообщение о нарушении прав доступ. Проблема заключается в том, что платформа 1С создает временные файл /tmp/PrnForm.tmp, т.е. путь до файла одинаковый у разных пользователей. Соответственно, первый пользователь, который воспользовался обработкой, неявно создал во временной папке файл, на который есть доступ на изменение только у него. Другой пользователь уже не может переписать файл.

Решение заключается в правильной настройке общесистемной umask, отнесение пользователей к одинаковой группе, а также правильной настройкой прав на временную папку /tmp.

Редактируем общесистемную маску. Правим файл:

/etc/login.defs 

в нем меняем значение на:

umask 002

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

Меняем права на папку tmp

chown -R root:Users /tmp
chmod g+s /tmp

Если используется обмен с сайтом Битрикс, то аналогичные настройки нужно сделать для папки /var/log/bitrix.

Вариант решения подобной проблемы применительно 1С описан в статье.

Решение проблемы с невозможностью выгрузки деклараций из баз ЗУП 2.5 и Бух 2.0

Есть одна неприятная особенность, которая может помешать бухгалтерам на клиенте 1C для linux выгружать декларации из зарплатной базы и бухгалтерии — после выбора файла и попытке выгрузить будет выдаваться сообщение вида «Нет доступа к каталогу [НазваниеКаталога]. Проверьте корректность имени каталога выгрузки!

Решение найдено и заключается в необходимости замены кода „Кат = Новый Файл(ПутьДляВыгрузки + “NUL»);» на «Кат = Новый Файл(ПутьДляВыгрузки);» в «Обработка.ОбщиеОбъектыРегламентированнойОтчетности.Форма.НастройкаПараметровСохраненияРегламентированногоОтчета.Форма.Модуль». К сожалению, для таких изменений придется конфигурацию снимать с поддержки.

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

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

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

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

Для печати на удаленные принтеры удобно использовать схему построения виртуальной частной сети, в этом случае решается проблема даже с теми удаленными точками, на которых нет фиксированного IP-адреса. Доступ к принтеру будет доступен по IP-адресу внутри VPN-сети. Как вариант, предлагаю использовать NeoRouter Free. Настройка данного продукта выходит за рамки данной статьи.

Возможные альтернативы

К сожалению, стабильно работающих бесплатных альтернатив на текущий момент я не вижу. Был достаточно успешный опыт использования связки OpenSuse 11.2+FreeNX (от etersoft) + WineEtersoft (купленный) для работы с конфигурациями на базе платформ 8.1, но на текущий момент такая связка для новых установок потеряла актуальность — не все пакеты можно найти для установки, на более свежих версиях ОС Linux и конфигурациях 1С скорость отрисовки ужасная.

Было достаточно много времени потрачено на тестирование других продуктов типа x2Go, но там также есть много НО: при подключении со свежих версий ОС типа Windows 8, Windows 10 есть артефакты при отрисовке изображения и т.п. В общем, если для административных функций альтернативные решения еще как-то подходят, то для реальной работы с решениями фирмы 1С не очень.

Заключение

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

В целом же при желании сэкономить на лицензиях Windows можно обойтись и решениями на базе LINUX, тем более в последнее время разработка XRDP идет ударными темпами. В марте этого года планируется выпуск версии 0.9.2 — это следует из опубликованных Release notes.

Дополнение 31.03.2017

Коллеги, обращаю внимание, что вчера разработчики xrdp выпустили новую версию xrdp 0.9.2 и xordxrdp 0.2.1.
Исходя из Release notes теперь RemoteFX кодек теперь поддерживается по-умолчанию, поэтому по идее теперь не нужно его собирать отдельно, как я указывал в статье. Также по-умолчанию теперь используется бекенд xorgxrdp. Чуть позже проверю, как теперь происходит установка и сделаю правки в статью.

Понравилась статья? Поделить с друзьями:
  • Сервер терминалов на windows server 2019 без домена
  • Сервер майнкрафт на windows server 2012 r2
  • Сервер лицензирования недоступен windows server 2019
  • Сервер терминалов на windows server 2019 активация лицензирование
  • Сервер кадров камеры windows неожиданно прервана