Apache Guacamole: установка и настройка
Материал из OrticonWiki
Версия от 12:24, 11 ноября 2024; Admin (обсуждение | вклад)
Для 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.gzcd guacamole-server-1.5.5
- Собираем сервер из исходников:
sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshotssudo makesudo make install
- Обновляем кэш установленной библиотеки и перезагружаем systemd:
sudo ldconfigsudo systemctl daemon-reload
- Запускаем сервис guacd:
sudo systemctl start guacdsudo 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.warsudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.warsudo systemctl restart tomcat9 guacd
- Установка и настройка СУБД MYSQL :
sudo apt install mysql-serversudo mysql_secure_installation-> Настраиваем согласно политики безопасности
- Для первоначального заполнения бд ставим MySQL Connector/J:
wget https://wiki.orticongroup.ru/files/Distrib/mysql/mysql-connector-j_9.0.0-1ubuntu22.04_all.debsudo 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.gztar -xf guacamole-auth-jdbc-1.5.5.tar.gzsudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/
- Заходим в MYSQL, создаем пользователя и бд для guacamole:
sudo mysqlCREATE 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.1mysql-port: 3306mysql-database: guacamole_dbmysql-username: gu_usermysql-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