Яндекс

OpenUDS на Astra Linux 1.7

VDI сервис OpenUDS на Astra Linux 1.7

(11 Votes)

OpenUDS  - это сервер управления виртуальными рабочими местами, создаем и управляем им на Astra-Linux:

OpenUDS Astra linux

OpenUDS реализует:
  • Виртуальные рабочие столы.

  • Доступ к сетевым сервисам и сетевой инфраструктуре.

  • Виртуализация приложений.

Можно использовать как инструмент, который решает следующие проблемы:
  • Запуск всевозможных облачных окружений клиента и приложений. 

  • Заменяем существующие терминальные решения.

Что мы получаем:
  • Универсальную или кастом пользовательскую среду с безопасными удаленными рабочими местами , независисящими от железа.

Этим решением мы можем импортозаместить VMware Horizon, Cisco Desktop Virtualisation Solution with VMware View, Citrix XenApp и XenDesktop и другие продукты.

Фичи:
  • Мы можем подключитьтся к виртуальным рабочим столам по протоколам RDP, SPICE, X2Go, HTML5.

  • С помощью обычного браузера пользователь может получить доступ к VDI.

  • Позже рассмотрим интеграцию с ProxmoxVE на AstraLinux, о развертывании которой мы писали в этой статье,  также возможна интеграция со следующими открытыми облачными платформами, такими как  OpenNebula на Astra Linux, OpenStack, oVirt.

Далее по порядку:

1. В терминале (Alt+t) переходим под root
sudo su

Установим необходимые для работы пакеты

sudo apt -y install gnupg wget apt-transport-https ca-certificates

2. Добавим репозиторий Astra Linux 1.7:
cat << EOF > /etc/apt/sources.list
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce
EOF

Подразумеваем, что изначально ОС Astra Linux обновлена, если нет, то выполняем

apt update

astra-update -r -A

После обновления перегружаемся по требованию

sudo reboot

После обновления возможно криво переустановится графическое окружение fly, это фича Astra Linux

Переустановим на всякий случай:

sudo apt install --reinstall fly-all-main -fy

Удалим устаревшие и неиспользуемые пакеты:

sudo apt autoremove -fy

3. Разрешим установку пакетов со сторонних репозиториев

Комментируем содержимое /etc/apt/preferences.d/smolensk
cat << EOF > /etc/apt/preferences.d/smolensk
#Package: *
#Pin: release n=1.7_x86-64
#Pin-Priority: 900
EOF

4. Вначале установим имя хоста системы на доменное имя (FQDN), которое мы будем использовать

hostnamectl set-hostname vdi.entnet.ru

5. В файл hosts добавим имя хоста:

Определим ip адрес:

ifconfig | grep "inet" | grep "broadcast" |  awk '{print $2}'

Отредактируем /etc/hosts:

mcedit /etc/hosts

Установим имя нашего сервера в файле конфигурации hosts:

192.168.1.XXX   vdi.entnet.ru    vdi

где 192.168.1.XXX — IP-адрес нашего сервера; vdi — имя сервера; entnet.ru — наш домен, если используется.

6. Рестартанем графическую сессию:

sudo systemctl restart fly-dm

7. База данных MariaDB. Установим версию моложе, поскольку по требованиям OpenUDS необходима версия не ниже 10.4, а в репозитории Astra Linux 1.7.5 имеется только 10.3

Скачаем архив и подключим его в виде файлового репозитория:

mkdir -p /tmp/mariadb

wget -O /tmp/mariadb-10.4.33.tar https://dlm.mariadb.com/3701215/MariaDB/mariadb-10.4.33/repo/debian/mariadb-10.4.33-debian-buster-amd64-debs.tar

tar -C /tmp/mariadb -xf /tmp/mariadb-10.4.33.tar

cd /tmp/mariadb/mariadb-10.4.33-debian-buster-amd64-debs/

./setup_repository

sudo apt-get update

sudo apt install mariadb-server -fy

sudo systemctl enable --now mariadb.service

sudo mysql_secure_installation

8. Создаем базу данных

sudo mysql -u root

MariaDB> CREATE DATABASE dbuds CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'entnet';
MariaDB> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit;

9. Устанавливаем необходимые пакеты:
sudo apt install dialog apt-transport-https gnupg2 nginx-full nginx-extras curl -fy

Удаляем, всё, что связано с apache (TODO проверить)

sudo apt purge apache* -fy

rm -R /var/lib/apache2

10. Ну и, после завершения настроек, перезапускаем демоны и службу а также добавим их в автозапуск:

systemctl restart nginx

systemctl enable nginx

11. Поскольку мы имеем в наличии только пакеты .rpm, будем преобразовывать .rpm в .deb при помощи пакета alien:

sudo apt install alien -fy

12. Установим python версией не ниже 3.11 (TODO посмотреть требования)

sudo apt update

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget pkg-config default-libmysqlclient-dev gcc-astra -fy

13. Выходим из под рута!

exit

14. Скачиваем архив, распаковываем

wget -O /tmp/Python-3.11.8.tgz https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz

tar -xf /tmp/Python-3.11.8.tgz

cd Python-3.11.8

./configure --enable-optimizations

make -j 4

sudo make altinstall

15. Проверяем версию python:

python3.11 --version

16. Узнаем путь, где установлена данная версия:

which python3.11

Обновляем альтернативы

sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.11 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 2

17. Доустанавливаем необходимые пакеты

sudo apt install python3-pip -fy

sudo apt install gunicorn3 -fy

18. Пропишем симлинк для gunicorn

sudo ln -s /usr/bin/gunicorn3 /usr/bin/gunicorn.py3

sudo apt-get --assume-yes install gcc libxml2-dev python3-dev

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev libxmlsec1-dev -fy

19. Скачаем пакеты .rpm:

wget -O /tmp/openuds-server.rpm https://git.altlinux.org/tasks/337181/build/400/x86_64/rpms/openuds-server-3.6.0-alt10.noarch.rpm

wget -O /tmp/openuds-server-nginx.rpm https://git.altlinux.org/tasks/337181/build/400/x86_64/rpms/openuds-server-nginx-3.6.0-alt10.noarch.rpm

20. Для преобразования файла .rpm в файл .deb используется опция -d. На выходе получится DEB-пакет:

sudo alien -d --scripts /tmp/openuds-server.rpm

sudo alien -d --scripts /tmp/openuds-server-nginx.rpm

Ответ должен быть примерно такой: openuds-server-nginx.deb generated

21. Установим данные пакеты:

sudo dpkg -i  *.deb

22. Отредактируем файл конфигурации сервера OpenUDS внесем туда свой пароль, отредактируем временную зону на свое усмотрение и выставим русский язык:

 sudo mcedit /etc/openuds/settings.py

'PASSWORD': 'entnet',  # Not used with sqlite3.

TIME_ZONE = 'Europe/Moscow'

LANGUAGE_CODE = 'ru'

23. Создадим пользователя openuds

sudo /usr/sbin/groupadd -r -f openuds

sudo /usr/sbin/groupadd -r -f _webserver

sudo /usr/sbin/useradd -M -r -g openuds -G _webserver -c 'OpenUDS Brocker Daemon' -s /bin/false  -d /var/lib/openuds openuds

24. Зададим пароль пользователю openuds

sudo passwd openuds

25. Важно! Перейдем под пользователя openuds ! Сделать это мы сможем из-под root.
sudo su

su -s /bin/bash - openuds

25.1. Установим необходимые для миграции зависимости:

python -m pip install python-dev-tools --user --upgrade --no-warn-script-location
wget requirements.txt https://github.com/VirtualCable/openuds/raw/master/server/requirements.txt
python -m pip install -r requirements.txt --no-warn-script-location 
python -m pip install gunicorn==19.9.0 --no-cache-dir
python -m pip install selectors --no-cache-dir
python -m pip install namedtupled --no-cache-dir
python -m pip install collection --no-cache-dir
python -m pip install Mapping --no-cache-dir
python -m pip install Django==4.0  --no-cache-dir
python -m pip install Service --no-cache-dir
#python -m pip install requests==2.25.0 --no-cache-dir
python -m pip install urllib3==2.2.1 --no-cache-dir
python -m pip install chardet --no-cache-dir
python -m pip install certifi --no-cache-dir
python -m pip install requests --no-cache-dir
python -m pip install dateutils --no-cache-dir
python -m pip install bitarray --no-cache-dir
python -m pip install Pillow --no-cache-dir
python -m pip install ovirtsdk4 --no-cache-dir
python -m pip install ovirt-engine-sdk-python --no-cache-dir
python -m pip install defusedxml --no-cache-dir
python -m pip install dnspython --no-cache-dir
python -m pip install pyrad --no-cache-dir
python -m pip install python-ldap --no-cache-dir
python -m pip install pyotp --no-cache-dir
python -m pip install qrcode --no-cache-dir
python -m pip install paramiko --no-cache-dir
python -m pip install weasyprint --no-cache-dir
python -m pip install matplotlib --no-cache-dir
python -m pip install pyldap --no-cache-dir
python -m pip install matplotlib --no-cache-dir
python -m pip install python-ldap --no-cache-dir
python -m pip install dateutils --no-cache-dir

25.2. Заполним базу первоначальными данными

cd /usr/share/openuds

25.3. Проверим корректность

python3 manage.py check

25.4. Мигрируем данные

python3.11 manage.py migrate

25.5. Ну и выходим из-под пользователя openuds

exit

26. Поправим код для корректной работы модуля Mapping

sudo mcedit /usr/local/lib/python3.11/collections/__init__.py

Добавляем в этот файл

from collections.abc import Mapping

Картинку прилепить

27. Запускаем gunicorn:

sudo systemctl enable --now openuds-web.service

28. Запускаем nginx:

Включаем сайт OpenUDS

sudo ln -s /etc/nginx/sites-available.d/openuds.conf /etc/nginx/sites-enabled/openuds.conf

29. Создадим папку для ключей ssl

mkdir -p /etc/ssl/openuds

В нее мы положим уже имеющиеся (если есть) либо выпустим бесплатные сертификаты, как в статье Устанавливаем и автоматически продлеваем сертификаты ssl при помощи Lets Encrypt и Certbot на Astra Linux

Например

vdi.entnet.ru.crt - открытый ключ

vdi.entnet.ru.key - закрытый ключ

Редактируем файл конфигурации веб сервера (прописываем в нем путь к ssl ключам)

sudo mcedit /etc/nginx/sites-enabled/openuds.conf

В нем пропишем пути к ssl ключам:

ssl_certificate /etc/ssl/openuds/vdi.entnet.ru.crt;

ssl_certificate_key /etc/ssl/openuds/vdi.entnet.ru.key;

ssl сертификаты

Удаляем файл конфигурации веб сервера по дефолту

sudo rm /etc/nginx/sites-enabled/default

Включаем службу в автозапуск

sudo systemctl enable --now nginx.service

Перегружаем веб-сервер

sudo systemctl restart nginx.service

29. Включаем и запускаем менеджер задач OpenUDS

sudo systemctl enable --now openuds-taskmanager.service

30. Ну и перезапустим все службы

systemctl restart mysql openuds-web.service openuds-taskmanager.service nginx

31. Удалим ненужный уже источник установки mariadb:

sudo rm /etc/apt/sources.list.d/mariadb.list

sudo apt update

32. Отправляем сервер в перезагрузку, так как  не создается файл /run/openuds/socket

sudo reboot

После перезагрузки открываем в браузере сайт управления OpenUDS

Примечание: Имя/пароль по умолчанию: root/udsmam0 

 

Админ панель OpenUDS Astra Linux

 

Добавить комментарий

Будьте взаимовежливы и корректны.

Все сообщения проходят премодерацию.

Рекламные сообщения и комментарии с ссылками, не несущими смысловую нагрузку по тематике материала будут удаляться.


На развитие проекта

Вход
hacklink serp takip teknik seo rehberi icerik optimizasyonu yerel seo google algoritma guncellemeleri backlink stratejileri backlink nedir dofollow nofollow backlink guest post backlink anchor text optimizasyonu broken link building core web vitals seo schema markup site hizi optimizasyonu mobile first indexing xml sitemap robots txt seo uyumlu icerik anahtar kelime arastirmasi eeat google kalite google analytics seo rakip analizi seo seo raporlama metrikleri google my business seo yerel arama siralama hacklink panel jojobet matbet matbet matbet holiganbet holiganbet güncel Holiganbet güncel giriş Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram meritking meritking Jojobet Pusulabet matbet jojobet Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram Jojobet Telegram giriş Jojobet Telegram güncel роуминг МТС в Дубае jojobet Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel jojobet giriş jojobet jojobet jojobet galabet giriş galabet Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel matbet matbet matbet matbet matbet matbet matbet matbet matbet kavbet kavbet kavbet betebet interbahis interbahis kingroyal kingroyal kingroyal kingroyal kingroyal interbahis kingroyal interbahis interbahis kingroyal Casibom Casibom giriş Casibom güncel kingroyal kingroyal giriş jojobet Meritking Meritking giriş Meritking güncel Holiganbet Holiganbet giriş Holiganbet güncel Jojobet Jojobet giriş Jojobet güncel Betebet Betebet giriş Betebet güncel holiganbet Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel interbahis kingroyal piabet Holiganbet Holiganbet giriş Holiganbet güncel betlike betticket meritking meritking giriş meritking mobil adres meritking güncel betebet betebet nesinecasino nesinecasino giriş nesinecasino güncel Piabellacasino Piabellacasino giriş Piabellacasino güncel Bahiscasino Bahiscasino giriş Bahiscasino güncel Timebet Timebet giriş Timebet güncel Betebet Betebet giriş Betebet güncel Betebet Betebet giriş Betebet güncel grandpashabet Betasus Betasus giriş Betasus güncel marsbahis