Установка и настройка
Установка
Примечание
Данное руководство описывает установку RemoteApp на Debian10.
Примечание
Для работы приложения необходмо иметь установленные и настроенные: Mariadb, Apache2 с плагином WSGI, Redis.
Важно
Сначала необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Перед началом установки сохраните список установленных ранее пакетов, это позволит Вам безболезненно восстановить систему в случае ее повреждения. Для этого выполните следующие команды:
mkdir -p /tmp/rollback/remoteapp pip3 freeze > /tmp/rollback/remoteapp/pip_before.txt
После чего в каталоге
/tmp/rollback/remoteappбудет находиться файлpip_before.txtс перечнем установленных приложений.Установите пакет RemoteApp:
pip3 install remoteapp
Сохраните список установленных пакетов после установки для возможности отката изменений:
pip3 freeze > /tmp/rollback/remoteapp/pip_after.txt
Настройте переменные окружения:
export PIP_INDEX_URL=http://pypi.accentos.ru/simple/ export PIP_TRUSTED_HOST=pypi.accentos.ru
Настройка
Добавьте пользователя:
adduser --system --group --disabled-login aos
Создайте каталог для конфигурационных файлов с нужными правами:
mkdir /etc/remoteapp chown -R aos:aos /etc/remoteapp
Создайте каталог для файлов логов с нужными правами. Например:
mkdir /var/log/remoteapp/ chown -R aos:aos /var/log/remoteapp/
Создайте каталог для файлов удаленного подключения с нужными правами. Например:
mkdir /var/lib/remoteapp/ chown -R aos:aos /var/lib/remoteapp/
Создайте базу данных на примере MySQL, настройте права, тип базы и остальные параметры:
# Зайдите в базу данных, используя пароль пользователя root mysql -uroot -p # Создайте базу данных remoteapp CREATE DATABASE remoteapp; # Дайте права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных remoteapp GRANT ALL PRIVILEGES ON remoteapp.* TO 'aos'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON remoteapp.* TO 'aos'@'%' IDENTIFIED BY 'password'; # Осуществите выход из базы данных
Выполните команду
remoteapp-configureдля настройки файлов служб systemd:remoteapp-configure
Выполните миграцию базы данных:
FLASK_APP=remoteapp.cloudapi.app flask db upgrade
В конфигурационном файле укажите адрес облака, с которым будет работать приложение. При необходимости измените другие параметры.
Включите и запустите службы systemd:
systemctl daemon-reload systemctl enable ra-api.service systemctl start ra-api.service systemctl enable ra-listener.service systemctl start ra-listener.service
Создайте шаблоны для формирования файлов. Для этого выполните следующие команды:
ra-client create type type=mstsc template=default ext=rdp os_type=appv ra-client create pub type=win configure=windows ext=reg
os_type– тип операционной системы, которая будет использоваться для подключения. Возможные варианты:linux - для Linux приложений,
rdp - для получения рабочего стола Windows,
appv - для получения Windows приложения.
Создайте симлинки на конфигурацию remoteapp для Apache:
ln -s /etc/apache2/conf-available/remoteapp-web.conf /etc/apache2/conf-enabled/remoteapp-web.conf systemctl restart apache2
После запуска служб функционал приложения доступен на порту 8080 через любой браузер:
http://HOST_IP:8080
Файл конфигурации
Конфигурационный файл представлен в ini формате и состоит из следующих секций и параметров:
Секция |
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|---|
|
|
Параметр, который указывает установленный уровень логирования. Подробное описание уровней доступно в разделе Уровни логирования. |
INFO |
|
|
Имя и путь до файла логирования. |
|
|
|
Настройка подключения к базе данных. |
|
|
|
Наибольшее количество подключений, которые будут постоянно храниться в пуле. |
|
|
|
Максимальное количество дополнительных соединений, которые могут быть созданы при достижении предела максимального числа активных соединений. |
|
|
|
Какой интервал времени (в секундах) должен пройти перед тем, как подключения к базе данных будут перезагружены. |
|
|
|
Сколько времени (в секундах) подключение к базе данных должно попытаться установить перед тем, как оно будет считаться неудачным. |
|
|
|
Какой интервал времени должен пройти перед повторной попыткой установить подключение к базе данных в случае неудачи. |
|
|
|
Максимальное количество попыток установить подключение к базе данных. |
|
|
|
URL-адрес облака, с которым будет работать приложение. |
|
|
|
Имя пользователя для создания и регистрации приложений. |
|
|
|
URL-адрес, на котором запущена служба API remoteapp. |
|
|
|
Порт, на котором запущена служба API remoteapp. |
|
|
|
Путь к шаблонам для формирования файлов удаленного коннекта. |
|
|
|
Путь к файлам удаленного коннекта. |
|
|
|
Настройка подключения к Redis. |
|
|
|
Длительность сессии Redis (в секундах). |
|
|
|
Установка secure флага для получения cookies браузера по HTTPS. |
|
|
|
Строка подключения к RabbitMQ. |
|
|
|
Виртуальный хост RabbitMQ службы Nova. |
|