Jump to content

Терминальный сервер на Linux Ubuntu Server 14.04


witddd

Recommended Posts

  Установка и настройка сервера удаленных рабочих столов под управлением 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.04
https://www.youtube.com/watch?v=RV2i9NeEB_E   - Установка графических пакетов Linux Ubuntu Server 14.04
https://www.youtube.com/watch?v=RAwzxwEfoX0  - Установка xRDP на Linux Ubuntu Server 14.04

Следующие видео про установку 1с на Linux и настройку внешнего вида.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...