В статье рассматриваются нюансы установки и настройки терминального сервера по протоколу 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.
Подключение к 1С онлайн — RDP
Использование бекэнда X11Rdp несет в себе несколько минусов:
- Достаточно долгое время сборки
- Сложно решить проблему с переключением языков. После переподключения к сеансу переключение языков может перестать работать. Автор регестрировал проблему на сайте разработчиков — гарантированное решение было найдено автором только для бекенда 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
Для сервера необходимо установить статический 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, используем ее за основу.
Удаленный рабочий стол RDP. Подробная настройка. Windows 7, 8, 10
Устанавливаем необходимые зависимости:
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 «$»
Клонируем из репозитория текущую последнюю сборку 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 /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 «$» tar xvfz xorgxrdp-0.2.0.tar.gz cd «$»/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. Чуть позже проверю, как теперь происходит установка и сделаю правки в статью.
- *nix
- Серверное администрирование
Источник: habr.com
1С через RDP
Один из самых удобных способов совместной работы в 1С Предприятие 8.3 нескольким бухгалтерам, является давно зарекомендовавшая себя технология удаленного рабочего стола от Microsoft, RDP — Remote Desktop Protocol.
Подключение к 1С по RDP происходит через ярлык, который можно скачать с нашего сайта. У каждого пользователя при этом будет свой ярлык на свой отдельный рабочий стол. У каждого пользователя будет своя папка Мои документы, и свое отдельное окно 1С.
Создать таких пользователей, вы можете от 2 до 50-60 учетных записей в зависимости от тарифа и мощности виртуального или выделенного терминального сервера.
Настройка 1С для RDP
Настройка сервера для подключения к 1С по RDP находиться полностью на нашей стороне.
1С в RDP
1C в RDP без рабочего стола расширяет возможности компании, предприятия предоставляет пользователям, сотрудникам удаленный доступ к базам данных, функционалу программного комплекса. Подключение 1C через RDP – это решение, которое использует мелкий, средний и крупный бизнес, а также промышленные предприятия и холдинги.
Преимущества работы в 1C через RDP
Главный плюс удаленного рабочего стола – использование ресурсов сервера для обработки данных. Запуск 1C через RDP повышает производительность ПО без увеличения мощности локальных компьютеров. Ресурсы ПК нужны только для вывода изображения на монитор. Это означает, что даже слабые компьютеры не будут тормозить, виснуть при обработке данных.
Если правильно настроить RDP 1C, то можно использовать тонкий клиент или компьютер без жесткого диска. Носитель информации не нужен, так как она переносится на виртуальный или физический сервер. На ПК устанавливается легкая операционная система, например Linux. Также можно использовать ОС Astra, в основе которой лежит ядро Линукс.
Подключение к RDP дает и другие преимущества:
- быстрое создание единого рабочего пространства без модернизации локального оборудования;
- возможность обмена данными со Сбербанком, другими финансовыми организациями;
- возможность подключить эквайринговый терминал;
- количество пользователей или клиентов зависит от характеристик сервера, может превышать 60;
- быстрый доступ к 1C через RDP, не требующий дополнительных настроек. Запуск 1C RDP осуществляется через ярлык на рабочем столе устройства;
- возможность использования сторонних программ. Они интегрируются через штатный протокол 1C;
- сохранение функционала 1C, персоналу не нужна продолжительная переподготовка для работы.
Клиент удаленного стола поддерживает все операционные системы, включая Android. Поэтому RDP клиент 1C доступен со смартфонов, других мобильных устройств. Для комфортной работы в 1C c RDP необходимо только стабильное Интернет-соединение.
Ярлык RDP 1C размещается на рабочем столе компьютера, мобильного устройства. Для каждого клиента создается папка для документов. Специалисты компании «Интегрус» подключат, настроят RDP 1C 8, сделают мелкий шрифт 1C RDP больше, чтобы пользователям было комфортно работать.
Как увеличить шрифт в 1C RDP
Мелкий шрифт 1C RDP снижает комфорт работы. Для решения проблемы нужно настроить параметры экрана на локальном компьютере, так как разрешение автоматически подтягивается на удаленное рабочее место. Но это неудобно тем, что на рабочем столе компьютера отображаются увеличенные значки, названия папок и файлов.
Автоматический перенос мелкого шрифта в 1C через RDP формально исправили в поздних версиях Windows Server. Но фактически проблема осталась не решенной. Для ее решения не нужно менять настройки экрана, достаточно внести изменения в реестр. Специалисты компании «Интегрус» сделают это оперативно, повысят комфорт работы на удаленных рабочих местах.
Что такое RemoteApp, преимущества и недостатки этого решения
Удаленное приложение позволяет использовать сервер для обработки информации. RemoteApp дает возможность работать с удаленных устройств. Но на экране пользователя отображаются не все ресурсы сервера, а только определенная программа. При этом работа через удаленное приложение не требовательна к пропускной способности сети. Для использования такого решения нужна установка специального софта.
Физический или виртуальный сервер
Создать удаленный рабочий стол можно на собственном сервере, а также используя облачные технологии. Первое решение требует финансовых вложений на покупку, обслуживание оборудования. Удаленный сервер RDP 1C – дешевое функциональное решение, которое подойдет мелкому и крупному бизнесу.
Работа в 1C через физический или виртуальный сервер позволяет эффективно решать следующие задачи:
- настраивать резервное копирование;
- выгружать любой файл, базы данных в разных форматах;
- подключать программы для упрощения работы с отчетностью, ее отправки;
- интегрироваться онлайн-кассу;
- быстро заходить на рабочий стол с разных устройств, не иметь привязки к стационарному компьютеру;
- удобство администрирования 1C RDP;
- обеспечивать надежную защиту базы данных от вредоносных программ;
- быстро обрабатывать большой объем информации, оперативно выполнять вычисления, независимо от количества активных пользователей.
Windows 1C RDP позволяет подключать терминалы для сбора данных Urovo, других производителей. Это решение автоматизирует процесс получения информации о целевой аудитории, ускоряет и упрощает ее обработку.
Также можно интегрировать сервис Adfox. Он создан для размещения рекламы на сайтах, отличается широким функционалом. Через RDP можно в Adfox управлять рекламными кампаниями, отслеживать их эффективность.
Для работы в 1C 8.3 через удаленный рабочий стол нужно настроить статический IP-адрес. Затем в «Диспетчере серверов» добавляются роли через вкладку «Служба удаленных рабочих столов». Чтобы начать работать после настройки, необходима активация через лицензию. Кроме того, нужно подключение к интернету.
Как подключить к 1C удаленный рабочий стол с помощью Windows
RDP подключение 1C выполняется через штатные средства Windows. Для этого используется утилита «Подключение к удаленному рабочему столу 1С». В Windows 10 она находится в меню «Пуск». Подключение к RDP выполняется и через командную строку.
Для настройки RDP 1C в окне «Компьютер» нужно ввести адрес сервера и номер порта удаленного стола. Затем указывается логин и пароль пользователя. Если все сделано правильно, то пользователь получает доступ к ресурсам сервера, включая 1C.
Как правильно настроить подключение по RDP
Настройки повышают комфорт работы в 1C на удаленном рабочем столе. Они открывают доступ к буферу обмена, принтерам, которые подключены к локальному компьютеру. Можно перебросить логические диски с ПК.
Подключение 1C к удаленному рабочему столу через физический сервер требует установки ОС Windows Server. При этом нужно учитывать конфигурацию сервера. Стартовая версия позволяет подключать 15 удаленных пользователей.
Устанавливать операционную систему на сервер можно со съемного носителя, например флешки. Чтобы сэкономить время, избежать ошибок, доверяйте установку ОС опытным специалистам.
Ключи 1C RDP
Чтобы работать в 1C 8.3 через удаленный рабочий стол, однопользовательский или базовый ключ не подойдет. Он позволяет организовывать до трех рабочих мест. В ключ интегрирована защита HASP. При запуске терминальной версии она его блокирует, а программа сообщает о наличии ошибки.
Работа в 1C через RDP требует ключ на пять рабочих мест. Не рекомендуется получать доступ 1C RDP пиратскими, незаконными методами. Это может привести к санкциям, к тому, что рабочее место периодически будет отключаться.
Специалисты компании «Интегрус» подберут техническое решение под требования клиента, сделают работу в 1C через удаленный рабочий стол комфортной. Для запуска и начала работы нужно сделать несколько кликов. После установки ОС на физический или виртуальный сервер, настройки удаленного рабочего места бухгалтеру, руководителю подразделения, компании, предприятия нужно только ввести логин, пароль, начать работу.
Присоединяйтесь к нам, чтобы каждую неделю получать полезные и рабочие материалы для улучшения вашего бизнеса.
Кейсы и стратегии от экспертов рынка.
Источник: integrus.ru