Apache Guacamole: установка и настройка — различия между версиями
Материал из OrticonWiki
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 38: | Строка 38: | ||
#:<code>CREATE DATABASE guacamole_db;</code> | #:<code>CREATE DATABASE guacamole_db;</code> | ||
#:<code>CREATE USER 'gu_user'@'localhost' IDENTIFIED BY 'password';</code> | #:<code>CREATE USER 'gu_user'@'localhost' IDENTIFIED BY 'password';</code> | ||
− | #:<code>GRANT | + | #:<code>GRANT ALL PRIVILEGES ON guacamole_db.* TO 'gu_user'@'localhost';</code> |
#:<code>FLUSH PRIVILEGES;</code> | #:<code>FLUSH PRIVILEGES;</code> | ||
#:<code>quit</code> | #:<code>quit</code> | ||
+ | # '''В извлеченном каталоге плагина JDBC нужно выполнить следующие SQL-скрипты по созданной бд "guacamole_db" :''' | ||
+ | #:<code>cd guacamole-auth-jdbc-1.5.5/mysql/schema/</code> | ||
+ | #:<code>cat *.sql | mysql -u root -p guacamole_db/</code> либо <code>cat *.sql | mysql -u gu_user -p guacamole_db</code> | ||
+ | # '''Создаем файл подключения Guacamole к MYSQL и вносим следующие параметры:''' | ||
+ | #:<code>sudo nano /etc/guacamole/guacamole.properties</code> | ||
+ | #*'''пример содержимого файла:'''<br><code>mysql-hostname: 127.0.0.1</code><br><code>mysql-port: 3306</code><br><code>mysql-database: guacamole_db</code><br><code>mysql-username: gu_user</code><br><code>mysql-username: [password]</code> -> Пароль в скобках | ||
+ | # '''Перезапускаем службы:''' | ||
+ | #:<code>sudo systemctl restart tomcat9 guacd mysql</code> | ||
+ | Сервис Guacamole готов к работе и доступен по адресу http://ip-address:8080/guacamole<br> | ||
+ | ;Добавление пользователей в данный сервис идет через файл '''user-mapping.xml:''':<code>sudo nano /etc/guacamole/user-mapping.xml</code> | ||
+ | :'''Прим. содержимого файла:''' | ||
+ | ::<code><user-mapping></code> | ||
+ | ::::<code><authorize username="admin" password="16d7a4fca7442dda3ad93c9a726597e4" encoding="md5"></code> | ||
+ | :::::::<code><connection name="RDP-srv"></code> | ||
+ | :::::::::<code><protocol>rdp</protocol>></code> | ||
+ | :::::::::<code><param name="hostname">192.168.10.2</param></code> | ||
+ | :::::::::<code><param name="port">3389</param></code> | ||
+ | :::::::::<code><param name="ignore-cert">true</param></code> | ||
+ | :::::::::<code><param name="remote-app">||notepad</param></code> '''->Указывается в тех случаях, если опубликованы приложения по RDP протоколу.''' | ||
+ | :::::::<code></connection></code> | ||
+ | :::::::<code><connection name="SSH-srv"></code> | ||
+ | :::::::::<code><protocol>ssh</protocol>></code> | ||
+ | :::::::::<code><param name="hostname">192.168.10.2</param></code> | ||
+ | :::::::::<code><param name="port">22</param></code> | ||
+ | :::::::::<code><param name="ignore-cert">true</param></code> | ||
+ | :::::::<code></connection></code> | ||
+ | ::::<code></authorize></code> | ||
+ | ::<code></user-mapping></code> | ||
+ | :'''Чтобы узнать хэш пароля'''(в данном случае пароль - password)''', нужно выполнить следующую команду:''' | ||
+ | ::<code>echo -n password | openssl md5</code> | ||
+ | : Получим результат <code>MD5(stdin)= 5f4dcc3b5aa765d61d8327deb882cf99</code> | ||
+ | :Значение '''5f4dcc3b5aa765d61d8327deb882cf99''', помещаем в переменную '''password''' тега '''authorize'''. | ||
+ | Перезапускаем службу tomcat: <code>sudo systemctl restart tomcat9</code> | ||
+ | |||
+ | |||
[[Category:IT]] | [[Category:IT]] |
Текущая версия на 12:24, 11 ноября 2024
Для Ubuntu 22.04
- Устанавливаем следующие пакеты:
sudo apt install build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libvncserver-dev freerdp2-dev libssh2-1-dev libtelnet-dev libwebsockets-dev libpulse-dev libvorbis-dev libwebp-dev libssl-dev libpango1.0-dev libswscale-dev libavcodec-dev libavutil-dev libavformat-dev
- Загружаем исходный код:
- Распаковываем и переходим в каталог:
tar -xvf guacamole-server-1.5.5.tar.gz
cd guacamole-server-1.5.5
- Собираем сервер из исходников:
sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
sudo make
sudo make install
- Обновляем кэш установленной библиотеки и перезагружаем systemd:
sudo ldconfig
sudo systemctl daemon-reload
- Запускаем сервис guacd:
sudo systemctl start guacd
sudo systemctl enable guacd
- Устанавливаем веб-приложение Guacamole:
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user
- Загружаем клиент Guacamole и перемещаем клиент в каталог Tomcat с последующим перезапуском служб:
sudo wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war
sudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.war
sudo systemctl restart tomcat9 guacd
- Установка и настройка СУБД MYSQL :
sudo apt install mysql-server
sudo mysql_secure_installation
-> Настраиваем согласно политики безопасности
- Для первоначального заполнения бд ставим MySQL Connector/J:
wget https://wiki.orticongroup.ru/files/Distrib/mysql/mysql-connector-j_9.0.0-1ubuntu22.04_all.deb
sudo dpkg -i mysql-connector-j_9.0.0-1ubuntu22.04_all.deb
- Далее требуется загрузить плагин JDBC auth для Apache Guacamole, распаковать и переместить файл guacamole-auth-jdbc-mysql-1.5.5.jar в каталог /etc/guacamole/extensions/:
wget https://wiki.orticongroup.ru/files/Distrib/guacamole/guacamole-auth-jdbc-1.5.5.tar.gz
tar -xf guacamole-auth-jdbc-1.5.5.tar.gz
sudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/
- Заходим в MYSQL, создаем пользователя и бд для guacamole:
sudo mysql
CREATE DATABASE guacamole_db;
CREATE USER 'gu_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON guacamole_db.* TO 'gu_user'@'localhost';
FLUSH PRIVILEGES;
quit
- В извлеченном каталоге плагина JDBC нужно выполнить следующие SQL-скрипты по созданной бд "guacamole_db" :
cd guacamole-auth-jdbc-1.5.5/mysql/schema/
cat *.sql | mysql -u root -p guacamole_db/
либоcat *.sql | mysql -u gu_user -p guacamole_db
- Создаем файл подключения Guacamole к MYSQL и вносим следующие параметры:
sudo nano /etc/guacamole/guacamole.properties
- пример содержимого файла:
mysql-hostname: 127.0.0.1
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: gu_user
mysql-username: [password]
-> Пароль в скобках
- Перезапускаем службы:
sudo systemctl restart tomcat9 guacd mysql
Сервис Guacamole готов к работе и доступен по адресу http://ip-address:8080/guacamole
- Добавление пользователей в данный сервис идет через файл user-mapping.xml:
sudo nano /etc/guacamole/user-mapping.xml
- Прим. содержимого файла:
<user-mapping>
<authorize username="admin" password="16d7a4fca7442dda3ad93c9a726597e4" encoding="md5">
<connection name="RDP-srv">
<protocol>rdp</protocol>>
<param name="hostname">192.168.10.2</param>
<param name="port">3389</param>
<param name="ignore-cert">true</param>
<param name="remote-app">||notepad</param>
->Указывается в тех случаях, если опубликованы приложения по RDP протоколу.
</connection>
<connection name="SSH-srv">
<protocol>ssh</protocol>>
<param name="hostname">192.168.10.2</param>
<param name="port">22</param>
<param name="ignore-cert">true</param>
</connection>
</authorize>
</user-mapping>
- Чтобы узнать хэш пароля(в данном случае пароль - password), нужно выполнить следующую команду:
echo -n password | openssl md5
- Получим результат
MD5(stdin)= 5f4dcc3b5aa765d61d8327deb882cf99
- Значение 5f4dcc3b5aa765d61d8327deb882cf99, помещаем в переменную password тега authorize.
Перезапускаем службу tomcat: sudo systemctl restart tomcat9