Перейти к содержанию

witddd

Members
  • Постов

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

  • Посещение

Сообщения, опубликованные witddd

  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.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 и настройку внешнего вида.
×
×
  • Создать...