по материалам
Введение
Сконфигурируем рабочее место программиста 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 и за одно потренируемся управлять системой.
- В домашней папке пользователя создадим каталог DISTR/1CSRV (дистрибутив сервера 1С). Все дальнейшие манипуляции с архивами и дистрибутивами сервера 1С будем выполнять в этой папке.
user@PC:~$ mkdir ~/DISTR/1CSRV/
- Скопируем архив 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/
- Распакуем архив 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 прописал имя сервера иначе выдавалсь ошибка при выполнении операции с информационной базой. сейчас нет). Значит напишу пошагово для наглядности: При всем при этом, конфигуратор запускается в толстом клиенте. С тонким клиентом ситуация другая. Там открывается база, но совершенно другая, идентификация проходит, клиент запускается, но подключается совершенно не та база, которую прописали в настройках.
__________________
0 |
7 / 7 / 2 Регистрация: 17.10.2009 Сообщений: 325 |
|
17.09.2015, 11:37 [ТС] |
21 |
Значит поднять тестовую систему Какую тестовую систему? В смысле на винде поднять тестовый сервер 1с, и играться с ним?
__________________
0 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
17.09.2015, 11:44 |
22 |
fredwriter, в смысле на Linuxe или в виртуальной машине, в которой будет установлен 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 |
пробовать выгрузку развернуть локально и посмотреть, как сработает Не понял, можно поподробнее?
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. Запуск выполнен без использования аппаратной лицензии (ключа защиты). Отключить использование аппаратной лицензии (ключа защиты)? кнопки Добавлено через 21 минуту
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. И прописать в нём адрес сервака с менеджером лицензий. Добавлено через 50 секунд
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 секунд
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: Создание кластера и СУБД и проверка работоспособности
- Упражнение 1: Подготовка разрешения имён в сети и размещение дистрибутивов на серверах для последующей установки
Описание тестовой среды
Предположительное время: 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: Подготовка разрешения имён в сети и размещение дистрибутивов на серверах для последующей установки
Перед установкой и настройкой непосредственно компонентов платформы нужно будет
- Загрузить файлы дистрибутива с оффициального сайта и перенести в виртуальные машины для установки
- Настроить разрешение имен в тестовой среде
Лабораторная работа предполагет наличие у вас регистрации на оффициальном сайте поставщика программного продукта, а также ранее прикреплённые к вашей учетной записи зарегистрированные программные продукты и из лицензии, используемые в настоящей работе. Практики также предполагают у вас начилие USB-ключа защиты.
Зайдите на оффициальную страницу поставщика дистрибутива https://releases.1c.ru/project/Platform83
из раздела «Технологическая платформа 8.3» и загрузите файлы дистрибутива.
Нам нужны:
8.3.*.*_windows64full.rar
— Платформа 1С:Предприятие 64x для Windows8.3.*.*_rpm32-64.zip
— rpm-пакеты сервера 1C:Предприятие для GNU/Linux8.3.*.*_clientz.rpm64.zip
— rpm-пакетытонкого
итолстого
клиентов Платформа 1C:Предприятие для GNU/Linux1cv8.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
. Вы должны увидеть примерно следующее.
Задача 2: Настроить разрешение имен в тестовой среде
Изначально тестовая среда создавалась для лабораторной работы «Интеграция GNU/Linux IPA с Microsoft Active Directory».
В начальном состоянии виртуальные машины не могут разрешать имена доменов example.com.
Повторим часть действий по настройке тестовой среды
- Настроим IPA домен:Поставим и настроим разрешение имён для сети
*.example.com
- Настроим взаимный 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 из-под Администратора
Добавьте настройку перенаправления 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С:Предприятие на Windows 10 и проверка её работы с демонстрационной базой
- Установка клиента Платформы 1С:Предприятие на Linux и проверка её работы с демонстрационной базой
- Установка компонентов сервера Платформы 1С:Предприятие на Linux
- Установка и настройка СУБД для сервера Платформы 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С:Предприятие. Вы должны получить примерно такое окно программы.
Так мы проверили, что клиентские приложения на 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 на Русский и добавим русский способ ввода. Выйдем и снова войдём уже с русским интерфейсом.
Запустим толстый клиент через меню запуска приложений.
Клиентская часть работает на Linux!
Клиент подключается к базе.
Итак клиентская часть платформы 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» на наш сервер.
Или может появиться такое окошко при первом подключении.
Почитать об этих шрифтах можно тут 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С:Предприятия.
утилиту администрирования серверов Платформы 1С:Предприятия. Запуск.
Необходимо указать имя сервера (прописанное в hosts) и порт 1540 (используется по умолчанию):
Меню подключения к серверу 1С.
Свойства подключения к серверу 1С.
Окно свойств локального кластера srv.example.com
Для создания нового кластера необходимо указать:
- произвольное имя кластера
- имя центрального сервера, на котором располагается кластер (прописанный в hosts)
- порт 1541 (используется по умолчанию)
Создание базы на кластере сервера 1С.
Необходимо указать:
- имя базы на кластере 1С
- имя сервера баз данных (разрешаемое в IP адрес, имя сервера)
- тип СУБД ( В данной практике выберите PostgeSQL)
- имя базы данных на сервере СУБД
- пользователь сервера СУБД (в нашем случае postgres)
- пароль указанного пользователя сервера СУБД
При необходимости можно отметить пункт «Создать базу с случае ее отсутствия»
Администратор Серверов: Создание базы в кластере srv.example.com
Подключение к серверу из Windows. Сервер: srv.example.com База: Base1
Подключение к 1С:Предприятие Windows клиентом: Открыта Демо база и работает веб клиент
Подключение к 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. Чуть позже проверю, как теперь происходит установка и сделаю правки в статью.