witddd Posted February 21, 2018 Report Share Posted February 21, 2018 Установка и настройка сервера удаленных рабочих столов под управлением Linux Ubuntu server 14.04 по протоколу xRDP Доброго времени суток! В этой статье я хочу детально описать как установить и настроить сервер удаленных рабочих столов под управлением Linux Ubuntu server 14.04 Каждое решение имеет свои слабые и сильные стороны. Потому и данное решение не лишено их. Начнем с описания проблемы. Кто собственно уже решил для чего нужен данный сервер, тот может пропустить данный раздел. Сервер удаленных рабочих столов (его еще называют терминальным сервером) служит для совместной и централизованной работы группы пользователей в одном или нескольких приложениях. В моем случае это были базы 1С: 8.2 (8.3) Бухгалтерия, ЗУП, Склад. Собственно не особо важно, какая конфигурация. Ранее я пользовался, как и большинство моих коллег Windows Server начиная от 2003 до 2008, а также сторонними платными программами , например ViTerminal. Далее расскажу о том что мы получим в результате и о плюсах и минусах данного сервера, по сравнению с вышеперечисленными решениями. Ну начнем с минусов. - самым главным минусом, на мой взгляд, является то, что данный сервер не пробрасывает принтеры. Хотя в локальной сети эта проблема, собственно и не проблема, но для работы через интернет, данное решение приходиться сочетать с вэб-сервером. - Вторым минусом, главным образом для работадателя, является что не каждый специалист, может работать с Linux системами. - Третий минус. Дело в том что работа 1С в Linux не поддерживает COM объекты. Теперь о плюсах. - Работа Linux несравнимо более стабильна и устойчива. У меня частенько «моргает» свет и просто его отключают, зачастую это происходит в нерабочее время. Хотя и сервера автоматом выключаются, но бывает , что напряжение нештатное и тогда сервер не успевает выключиться. На файловых серверах Linux Ubuntu, я и вовсе, последние несколько лет не ставлю, бесперебойники. За все время а это с 2008 года из всех серверах под управление Linux Ubuntu начиная с версии 10.04 , до сегодняшнего момента у меня не было неодного сбоя или выхода из строя серверов по вине ОС , железо горело, но Linux – никогда! А вот с Windows , было… особенно файловые системы…. Если бы не резервные копии по ночам, то самый страшный позор сисадмина – потеря базы данных, не обошел бы меня. - Существенная экономия на компьютерном «железе». Под управлением Linux Ubuntu мой старый сервер ожил снова. До этого на нем стоял Windows Server 2003 64x /CPU xeon 3430 2.4 x 4 / 8M ОЗУ . База 8.2 была около 3.5 ГБт и вторая 1 ГБт. Одновременно работало до 7 пользователей. Это был мрак. Оборотка формировалась около 3 минут ну т.д. Покупка нового железа, требовала еще и покупки новой ОС и терминальных лицензий в общем смета за 150 000 рублей. Старая ОС не могла адресовать более 8 ГБт памяти. На Linux Ubuntu все заработало и оборотка на том же железе формировалась 5-8 секунд. - Как следствие быстродействие на том же «железе» существенно быстрее. - Ну и деньги… все бесплатно! Ни тебе серверной лицензии ни терминальных по пять штук, расширяй, подключай, хоть на «ушах ходи». Итак, собственно сама установка. Ссылка на дистрибутив:http://releases.ubuntu.com/14.04/ubuntu-14.04.5-server-amd64.iso Не буду описывать процесс установки, скажу только что выбрал из списка установленного ПО - OpenSSH server - Print server - Samba file server После установки традиционно: Код: [Выделить] sudo apt-get update sudo apt-get upgrade sudo apt-get install mc sudo reboot Далее нам будет нужна графическая оболочка. Статья которую я брал за основу:https://github.com/neutrinolabs/xrdp/wiki/Building-on-Debian-8 написана под Debian с оболочкой Gnome. Gnome Shell – мне не понравилась, да и пользователи будут несколько удивлены увидев, некое подобие смартфона. В итоге я остановился на Cinnamon. Потому как она сделана на основе Gnome и она проста и понятна пользователю. Можно добавить еще LXDE , но она не у всех работает. Можно поставить обе оболочки, с LXDE проще устанавливаются принтеры. Добавляем репозиторий: Код: [Выделить] sudo add-apt-repository ppa:embrosyn/cinnamon обновляем списки: Код: [Выделить] sudo apt-get update и устанавливаем графическую оболочку. Код: [Выделить] sudo apt-get install cinnamon sudo apt-get install xinit Код: [Выделить] sudo reboot Установка LXDE Код: [Выделить] sudo apt-get install xubuntu-desktop sudo reboot Запустится графическая оболочка. Теперь наш будущий сервер готов к установки пакетов необходимых для нормальной работы xRDP -Устанавливаем зависимости: Код: [Выделить] 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}” И клонируем репозиторий в данный католог: Код: [Выделить] git clone git://github.com/neutrinolabs/xrdp переходим в каталог xrdp Код: [Выделить] cd xrdp теперь нам надо осуществить сборку xrdp c кодеком rfxcodec: Код: [Выделить] 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: Код: [Выделить] wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz переходим в каталог с архивом Код: [Выделить] cd /root/xrdp-xorg/xrdp и распаковываем архив: Код: [Выделить] tar xvfz xorgxrdp-0.2.0.tar.gz переходим в папку с распакованными файлами: Код: [Выделить] cd /root/xrdp-xorg/xrdp/xorgxrdp-0.2.0 Проблема раскладки клавиатуры решается «жестким» привязыванием. Код: [Выделить] kb_model="pc105" kb_layout="us,ru" kb_options="grp:ctrl_shift_toggle" - для раскладки ctrl + shift kb_options="grp:alt_shift_toggle" - для раскладки alt + shift Ну как все поняли, нужно выбрать что то одно ) Меняем исходный код, предварительно посмотрев, что вы все же в каталоге с разархивированными файлами. Код: [Выделить] cd /root/xrdp-xorg/xrdp/xorgxrdp-0.2.0 Код: [Выделить] sed -ri.bak "s/(set.model)[^;]+/\1 = \"$kb_model\"/;s/(set.layout)[^;]+/\1 = \"$kb_layout\"/;s/(set.options)[^;]+/\1 = \"$kb_options\"/" xrdpkeyb/rdpKeyboard.c в этом же каталоге собираем и ставим Код: [Выделить] ./bootstrap ./configure make sudo make install теперь перезагружаем сервер. Код: [Выделить] sudo reboot Можно подключаться с компьютера под управление windows. Для более комфортной работы на клиентской машине выставить в подключении удаленных рабочих столов – экран-глубина цвета 16 бит. Еще одна проблема, с которой сталкивается пользователь это то что при подключении к удаленному рабочему столу Ubuntu раскладка на клавиатуре должна быть английской, я решаю эту проблему сохранением логина и пароля пользователя. Установка 1С на Linux - Скачать с сайта 1Cuser 2 архива. Сервер 64бит и Клиент 64бит для Deb пакетов - Распаковать все в отдельные папки. - Зайти в эти папки и установить пакеты dpkg *.deb. Начиная с серверного пакета. Для удобства путешествия по папкам рекомендую Mcommader, запускается командой: mc Установка зависимостей, кому необходимо, зависит от версии платформы 1С: Код: [Выделить] apt-get install –f У меня не все платформы завелись. Советую не использовать самую последнюю. В основном все платформы нормально заводиться, но процентов 20 все же не запускаются, не тратьте время просто скачайте на одну версию более раннюю. Установка шрифтов: Код: [Выделить] apt-get install msttcorefonts Проверяем. Должно ругнуться на отсутствие лицензий. Устанавливаем драйвер HASP. Для этого нужно включить 32 битность Код: [Выделить] dpkg --add-architecture i386 Код: [Выделить] sudo apt-get update Скачиваем драйвер отсюда.http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/14.04/ переходим в папку и устанавливаем. Код: [Выделить] sudo dpkg –I *.deb Проверяем. Перезапускаем службу Код: [Выделить] sudo service haspd restart Все заработало. Рекомендую отключить блокировку экрана. У меня пользователи не знают букв и потому я её отключил. 1С запустилось. Выключаем. Создаем или добавляем базу. Добавляем принтеры в локальной сети. Не буду описывать этот процесс, он не отличается от установки принтеров на обычную машину. Скажу только что войдя под Cinnamon потребовалась правка ручками, а пот LXDE просто тыкаем на принтер и все работает. Из терминала надо раз 5 набрать свой пароль. Добавляем пользователей Код: [Выделить] adduser buchgalterи т.д. пароль и т.д. снимаем блокировку экрана. Назначаем пользователю принтер по умолчанию. Тут почему то у многих вопрос: «Как назначить каждому пользователю свой принтер по умолчанию?» Отвечаю: В списке принтеров только один принтер «по умолчанию», он обозначен зелененькой галочкой. Если принтер данного пользователя отличен от него, но нужно нажать правой кнопкой мыши на нужном принтере и выбрать пункт: «Set As Default» , в выпадающим меню выбрать; «Set As My personal default printer». Теперь данный принтер будет использоваться «по умолчанию» только для данного пользователя и над ним появиться значок с сердечком. Далее есть еще одна проблема в 1С. При попытки второго пользователя войти в базу, вылезет блокировка файлов. ОШИБКА РЕЖИМА ДОСТУПА У ФАЙЛУ БАЗЫ ДАННЫХ ….путь Например, база данных находиться в папке /BASE/1C/buch Решается данная проблема достаточно просто. В терминале. Код: [Выделить] sudo apt-get bindfs далее переходим к редактированию файла /etc/fstab. Редактируем внимательно! Добавляем в конце файла строку или если несколько баз то несколько строк, желательно по одному. Код: [Выделить] bindfs#/BASE/1C/buch /BASE/1C/buch fuse perms=0777 0 0 баз может быть несколько. При желании можно указать пользователей на через запятую Код: [Выделить] bindfs#/BASE/1C/buch /BASE/1C/buch fuse=0777,mirror-only=buchgalter:buchgalter2:admin 0 0 cохраняем, перезагружаем. Заходить можно по имени, если кому надо по статичному IP, то правим настройки сетевой платы. Кому надо чтобы работало через интернет, то ставим апач Код: [Выделить] apt-get install apache2 Заходим в конфигуратор 1С и публикуем базу, не забыв выбрать версию apache 2.4 и путь до базы без кириллицы. В ходе установки может ругнуться на зависимости. Код: [Выделить] apt-get –f install Да, делать, как я скажу И потом установить и перезапустить службу HASP или перезагрузить. Вот вроде бы и все. У меня все стабильно работает уже несколько месяцев. Видео по теме. В данных видео пошаговая инструкция по установке и настройке сервера удаленных рабочих столов под 1С. https://www.youtube.com/watch?v=ErBinO5qIYw - демонстрация роботы сервера удаленных рабочих столовhttps://www.youtube.com/watch?v=lzfmFvR1WRs - Установка Linux Ubuntu 14.04 на виртуальную машину.https://www.youtube.com/watch?v=uLhYNMIdNOA - Настройка Samba и общих папок на Linux Ubuntu Server 14.04https://www.youtube.com/watch?v=RV2i9NeEB_E - Установка графических пакетов Linux Ubuntu Server 14.04https://www.youtube.com/watch?v=RAwzxwEfoX0 - Установка xRDP на Linux Ubuntu Server 14.04Следующие видео про установку 1с на Linux и настройку внешнего вида. Сообщить модератору Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.