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

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

Рекомендуемые сообщения

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×