Установка и настройка¶
Установка¶
Примечание
Данное руководство описывает установку 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
формате и состоит из следующих секций и параметров:
Секция | Параметр | Описание | Значение по умолчанию |
---|---|---|---|
DEFAULT |
log_level |
Параметр, который указывает установленный уровень логирования. Подробное описание уровней доступно в разделе Уровни логирования. | INFO |
DEFAULT |
api_logfile |
Имя и путь до файла логирования. | /var/log/remoteapp/api.log |
DEFAULT |
db_url |
Настройка подключения к базе данных. | mysql+pymysql://aos:password@localhost:3306/remoteapp |
DEFAULT |
max_pool_size |
Наибольшее количество подключений, которые будут постоянно храниться в пуле. | 5 |
DEFAULT |
max_overflow |
Максимальное количество дополнительных соединений, которые могут быть созданы при достижении предела максимального числа активных соединений. | 50 |
DEFAULT |
pool_recycle |
Какой интервал времени (в секундах) должен пройти перед тем, как подключения к базе данных будут перезагружены. | 3600 |
DEFAULT |
pool_timeout |
Сколько времени (в секундах) подключение к базе данных должно попытаться установить перед тем, как оно будет считаться неудачным. | 30 |
DEFAULT |
retry_interval |
Какой интервал времени должен пройти перед повторной попыткой установить подключение к базе данных в случае неудачи. | 2 |
DEFAULT |
max_retries |
Максимальное количество попыток установить подключение к базе данных. | 5 |
DEFAULT |
cloud_url |
URL-адрес облака, с которым будет работать приложение. | localhost |
DEFAULT |
cloud_admin |
Имя пользователя для создания и регистрации приложений. | remote |
DEFAULT |
api_ip |
URL-адрес, на котором запущена служба API remoteapp. | 127.0.0.1 |
DEFAULT |
api_port |
Порт, на котором запущена служба API remoteapp. | 8001 |
DEFAULT |
templates |
Путь к шаблонам для формирования файлов удаленного коннекта. | /etc/remoteapp/templates |
DEFAULT |
ra_files |
Путь к файлам удаленного коннекта. | /var/lib/remoteapp |
DEFAULT |
redis_url |
Настройка подключения к Redis. | redis://:password@localhost:6379/0 |
DEFAULT |
session_lifetime |
Длительность сессии Redis (в секундах). | 86400 |
DEFAULT |
session_cookie_secure |
Установка secure флага для получения cookies браузера по HTTPS. | False |
DEFAULT |
messaging_url |
Строка подключения к RabbitMQ. | amqp://aos:password@localhost:5672/aos |
DEFAULT |
nova_rabbit_vhost |
Виртуальный хост RabbitMQ службы Nova. | / |