Здесь подробно распишу процесс установки (терминального сервера) GUI (lxde или xfce4) + XRDP + 1С на vps или vds c OS Linux Debian (x64) на борту.
У нас есть сервер:
1 CPU
1 Gb RAM
40 Gb HDD/SSD
Важно: Все проделывалось на виртуальной машине VMware, на рабочий сервер это все не ставилось, но думаю, что все должно работать аналогично.
Устанавливаем на наш сервер Debian (на момент написания статьи, использовался [Debian Jessie 8.7] debian-8.7.1-amd64-netinst.iso) / или Ubuntu.
Языки (локали):
Если хотим узнать какой язык установлен на сервере, и изменить его:
env | grep LANG
Для установки русской локали (языка) как системного — командуем (этот пункт не обязателен!!!):
export LANG=ru_RU.UTF-8
и делаем реконфиг локали:
dpkg-reconfigure locales
Система попросит Вас выбрать язык — вы выбираете необходимые языки используемые в Вашей системе и далее выбираете язык по умолчанию.
После чего необходимо перезагрузиться
reboot
Если вы выполняете команды под обычным юзером, перед каждой командой нужно приписывать слово sudo, например, для перезагрузки сервера из-под обычного пользователя, используйте команду
sudo reboot
Устанавливаем графическую оболочку LXDE
apt-get update && apt-get upgrade
apt-get install lxde
! ИЛИ !
Устанавливаем графическую оболочку XFCE
Для установки Xfce сделайте следующие шаги:
apt-get update && apt-get upgrade
apt-get install xfce4
Это поставит метапакет, который установит основные пакеты Xfce, для его работы.
Так же можно поставить дополнения для окружения рабочего стола Xfce4:
apt-get install xfce4-goodies
После установки LXDE / XFCE можем перезагрузиться:
reboot
Снова обновляем все пакеты:
apt-get update && apt-get upgrade
Производим настройки клавиатуры в LXDE
Добавляем Keyboard layout plugin на панель и добавляем в нее языки, затем копируем настройки от настроенного пользователя USER в скелет конфиги для создания новых юзеров с такими же параметрами:
cp -R -f -b ~USER/.config/ /etc/skel/ cp -R -f -b ~USER/Desktop/ /etc/skel/
Устанавливаем xrdp, vnc-server и др. зависимости, но здесь xrdp старой версии (v.0.6.x):
apt install xrdp
[ пакет xrdp установит следующие зависимости: vnc4server x11-apps xbase-clients xbitmaps xinit vnc-java mesa-utils x11-xfs-utils ]
Удаляем xrdp, при этом его конфиги останутся.
apt remove xrdp
(останавливаем сервисы xrdp
service xrdp stop
Теперь собираем xrdp v.0.9.1 (последней версии) от neutrinolabs:
Устанавливаем зависимости для сборки сервера xrdp (оф. документация):
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
Я же себе устанавливаю следующие пакеты:
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 nasm libpixman-1-dev
далее
1 вариант — Забираем себе последний релиз xrdp и распаковываем его:
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.1/xrdp-0.9.1.tar.gz tar xvfz xrdp-0.9.1.tar.gz
2 вариант — Или забираем сорсы с последними изменениями из git:
mkdir git cd git git clone git://github.com/neutrinolabs/xrdp cd xrdp
Начинаем компиляцию:
./bootstrap
В оф. документации предлагают такой конфиг:
./configure --enable-fuse --disable-rfxcodec --enable-mp3lame --enable-pixman --disable-painter --disable-ipv6
Для своей системы я делаю такой:
./configure --enable-fuse --disable-rfxcodec --enable-pixman --disable-painter --disable-ipv6
Компилируем и устанавливаем:
make make install
Старые сервисы убираем и создаем символические ссылки на новые сервисы:
mv /usr/sbin/xrdp /usr/sbin/xrdp_old mv /usr/sbin/xrdp-sesman /usr/sbin/xrdp-sesman_old ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
Конфигурируем xrdp
Сгенерируйте свой сертификат /etc/xrdp/{cert,key}.pem если не хотите использовать установленный по умолчанию от xrpd org.
sudo xrdp-keygen xrdp auto 2048
Отредактируйте /etc/xrdp/xrdp.ini и /etc/xrdp/sesman.ini под ваши нужды.
Запускаем xrdp
systemctl enable xrdp
service xrdp start
Компилируем X11rdp:
cd xorg/X11R7.6 ./buildx.sh /opt/X11rdp sudo ln -s /opt/X11rdp/bin/X11rdp /usr/bin
Он очень долго компилируется, вот мой собранный пакет для Debian 8.7 (x64) — x11rdp_0.9.1+master-1_amd64.deb
Перезагружаем все сервисы:
sudo systemctl daemon-reload sudo systemctl enable xrdp-sesman sudo systemctl enable xrdp sudo systemctl start xrdp-sesman sudo systemctl start xrdp
Версии 1C i386 ставится немного сложнее чем под архитектуру x64 на Debian x86_64, но в моем случае нужна именно версия i386:
Просмотреть список поддерживаемых архитектур можно командой:
dpkg --print-architecture
В нашем случае будет только одна amd64, для добавления требуемой архитектуры i386 выполните:
dpkg --add-architecture i386
После чего обязательно обновите список пакетов:
apt-get update
Теперь установим требуемые для работы сервера 1С библиотеки и утилиты нужной разрядности:
apt-get install imagemagick:i386 apt-get install unixodbc:i386
— после данной команды (apt-get install imagemagick:i386), в процессе установки, скорее всего вылетит ошибка:
Errors were encountered while processing: imagemagick E: Sub-process /usr/bin/dpkg returned an error code (1)
Решаем проблему и выполняем:
apt-get install imagemagick-6.q16:i386 apt-get install imagemagick:i386 apt-get autoremove
Доустанавливаем также необходимый пакет:
apt-get install unixodbc:i386
Шрифты:
Требуемый пакет шрифтов Microsoft True Type является универсальным для всех архитектур, поэтому его устанавливаем как обычно, без указания архитектуры.
Пакет так просто следующей командой не установится:
apt-get install ttf-mscorefonts-installer
Решаем проблему:
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb dpkg -i ttf-mscorefonts-installer_3.6_all.deb apt-get install xfonts-utils cabextract apt-get -f install dpkg -i ttf-mscorefonts-installer_3.6_all.deb
2. Вариант — самое время вспомнить про getlibs, скрипт для DEB-совместимых систем, который позволяет автоматически устанавливать 32-разрядные библиотеки на 64-разрядные системы. Скачаем данный скрипт со страницы разработчика на GitHub, настоятельно рекомендуем не использовать для получения скрипта иных источников. Разместим его, скажем, в домашней папке и сделаем исполняемым.
wget https://gist.githubusercontent.com/linuxundich/5536156/raw/getlibs cd ~ chmod +x getlibs ./getlibs -p libgsf-1-114 apt-get install libgsf-1-114
лечим
Сервер 1С:s
Обязательно:
sudo dpkg -i 1c-enterprise83-common_8.3.10-1877_i386.deb
Опционально для поддержки дополнительных языков:
sudo dpkg -i 1c-enterprise83-common-nls_8.3.10-1877_i386.deb
Обязательно:
sudo dpkg -i 1c-enterprise83-server_8.3.10-1877_i386.deb
Опционально для поддержки дополнительных языков:
sudo dpkg -i 1c-enterprise83-server-nls_8.3.10-1877_i386.deb
Опционально для работы веб-клиента:
sudo dpkg -i 1c-enterprise83-ws_8.3.10-1877_i386.deb
Опционально для поддержки дополнительных языков:
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.10-1877_i386.deb
Опционально для функционирования хранилища конфигураций:
sudo dpkg -i 1c-enterprise83-crs_8.3.10-1877_i386.deb
Клиент 1С:
1c-enterprise83-client_8.3.10-1877_i386.deb 1c-enterprise83-client-nls_8.3.10-1877_i386.deb 1c-enterprise83-thin-client_8.3.10-1877_i386.deb 1c-enterprise83-thin-client-nls_8.3.10-1877_i386.deb
Ругается на libwebkitgtk-1.0-0 ? тогда выполняем:
apt-get -f install
Далее следуют заметки, которые использовались для данной статьи. Этот хлам ниже будет позднее подчищен (:
http://sysadmins.ru/topic441283-20.html
ставим
https://interface31.ru/tech_it/2015/09/ustanovka-32-razryadnogo-servera-1spredpriyatie-na-64-razryadnuyu-platformu-linux-ubuntudebian.html
INFO: http://forum.infostart.ru/forum71/topic123922/
Установка недостающих шрифтов
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo apt-get —purge —reinstall install ttf-mscorefonts-installer
dpkg -i 1c-enterprise83-client_8.3.9-2033_amd64.deb
Ругается на libwebkitgtk-1.0-0, тогда выполняем:
apt-get -f install
Продолжаем установку 1с:
dpkg -i 1c-enterprise83-client-nls_8.3.9-2033_amd64.deb
FAQ:
Samba File Server установка:
sudo apt-get install samba sudo apt-get install smb4k
DNS server: http://diff.org.ua/archives/3083
Русская раскладка клавиатуры:
https://github.com/neutrinolabs/xrdp/wiki/Example-of-xrdp_keyboard.ini-for-russian-keyboard
Для того чтобы подключаться к одной и той же сессии нужно в /etc/xrdp/xrdp.ini в секцию [Global] добавить параметр «fork=no», а значение параметра KillDisconnected в /etc/xrdp/sesman.ini выставить равным «0»
Убрать шелл для обычных юзеров:
usermod -s /bin/false user1
Проблема с wicd-client wicd daemon
sudo gpasswd -a netdev
Необходимые пакеты для системы:
sudo apt-get install mc openssh-server chkconfig subversion libtool automake automake1.7 automake1.9 git libssl-dev libpam0g-dev libx11-dev libxfixes-dev xxkb libpam-mount clamtk smbfs python-software-properties pulseaudio-esound-compat paprefs
# устанавливаем xrdp
cd
mkdir git
cd git
mkdir neutrinolabs
cd neutrinolabs
git clone git://github.com/neutrinolabs/xrdp
cd xrdp
./bootstrap
./configure —enable-fuse
make
СОБРАННЫЙ МНОЙ X11rdp 0.9.1 For Debian 8.7 Jessie x86_64 (64-bit)
./DEV-X11rdp-o-matic.sh —interactive —withjpeg —withkerberos —withpamuserpass —withfreerdp —nocpuoptimize
1 http://www.cb-net.co.uk/linux/getting-x11rdp-working-on-debian-8-jessie-with-the-help-of-x11rdp-o-matic/
+
2 https://github.com/neutrinolabs/xrdp/wiki/Building-on-Debian-8
http://masterprint.at.ua/publ/linux_debian_ubuntu/nastrojka_xrdp_na_xubuntu_xfse/7-1-0-41
http://pro1c.org.ua/index.php?showtopic=22988
c-nergy.be/blog/?p=5357
Спасибо за информацию!
Сделал донат от души!