Перейти к содержимому

witddd

Members
  • Публикации

    1
  • Зарегистрирован

  • Посещение

  1. Установка и настройка сервера удаленных рабочих столов под управлением 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 и настройку внешнего вида. Сообщить модератору
×