Apache Guacamole: установка и настройка

Материал из OrticonWiki
Версия от 11:07, 15 октября 2024; Admin (обсуждение | вклад) (Admin переименовал страницу Установка Apache Guacamole в Apache Guacamole: установка и настройка без оставления перенаправления)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Для Ubuntu 22.04

  1. Устанавливаем следующие пакеты:
    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
  2. Загружаем исходный код:
    wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz
  3. Распаковываем и переходим в каталог:
    tar -xvf guacamole-server-1.5.5.tar.gz
    cd guacamole-server-1.5.5
  4. Собираем сервер из исходников:
    sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
    sudo make
    sudo make install
  5. Обновляем кэш установленной библиотеки и перезагружаем systemd:
    sudo ldconfig
    sudo systemctl daemon-reload
  6. Запускаем сервис guacd:
    sudo systemctl start guacd
    sudo systemctl enable guacd
  7. Устанавливаем веб-приложение Guacamole:
    sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user
  8. Загружаем клиент 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
  9. Установка и настройка СУБД MYSQL :
    sudo apt install mysql-server
    sudo mysql_secure_installation -> Настраиваем согласно политики безопасности
  10. Для первоначального заполнения бд ставим 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
  11. Далее требуется загрузить плагин 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/
  12. Заходим в 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
  13. В извлеченном каталоге плагина 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
  14. Создаем файл подключения 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] -> Пароль в скобках
  15. Перезапускаем службы:
    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