Apache Guacamole: установка и настройка — различия между версиями

Материал из OrticonWiki
Перейти к: навигация, поиск
м (Admin переименовал страницу Установка Apache Guacamole в Apache Guacamole: установка и настройка без оставления перенаправления)
 
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
Для Ubuntu 22.04
 
Для Ubuntu 22.04
Устанавливаем следующие пакеты
 
 
<br>
 
<br>
<code>sudo apt install build-essential libcairo2-dev libjpeg-turbo8-dev \
+
# '''Устанавливаем следующие пакеты:'''
    libpng-dev libtool-bin libossp-uuid-dev libvncserver-dev \
+
#:<code>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</code>
    freerdp2-dev libssh2-1-dev libtelnet-dev libwebsockets-dev \
+
# '''Загружаем исходный код:'''
    libpulse-dev libvorbis-dev libwebp-dev libssl-dev \
+
#:<code>wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz</code>
    libpango1.0-dev libswscale-dev libavcodec-dev libavutil-dev \
+
# '''Распаковываем и переходим в каталог:'''
    libavformat-dev</code>
+
#:<code>tar -xvf guacamole-server-1.5.5.tar.gz</code>
 +
#:<code>cd guacamole-server-1.5.5</code>
 +
# '''Собираем сервер из исходников:'''
 +
#:<code>sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots</code>
 +
#:<code>sudo make</code>
 +
#:<code>sudo make install</code>
 +
# '''Обновляем кэш установленной библиотеки и перезагружаем systemd:'''
 +
#:<code>sudo ldconfig</code>
 +
#:<code>sudo systemctl daemon-reload</code>
 +
# '''Запускаем сервис guacd:'''
 +
#:<code>sudo systemctl start guacd</code>
 +
#:<code>sudo systemctl enable guacd</code>
 +
# '''Устанавливаем веб-приложение Guacamole:'''
 +
#:<code>sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user</code>
 +
# '''Загружаем клиент Guacamole и перемещаем клиент в каталог Tomcat с последующим перезапуском служб:'''
 +
#:<code>sudo wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war</code>
 +
#:<code>sudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.war</code>
 +
#:<code>sudo systemctl restart tomcat9 guacd</code>
 +
# '''Установка и настройка СУБД MYSQL :'''
 +
#:<code>sudo apt install mysql-server</code>
 +
#:<code>sudo mysql_secure_installation</code> -> Настраиваем согласно политики безопасности
 +
# '''Для первоначального заполнения бд ставим  MySQL Connector/J:'''
 +
#:<code>wget https://wiki.orticongroup.ru/files/Distrib/mysql/mysql-connector-j_9.0.0-1ubuntu22.04_all.deb</code>
 +
#:<code>sudo dpkg -i mysql-connector-j_9.0.0-1ubuntu22.04_all.deb</code>
 +
# '''Далее требуется загрузить плагин JDBC auth для Apache Guacamole, распаковать и переместить файл guacamole-auth-jdbc-mysql-1.5.5.jar в каталог /etc/guacamole/extensions/:'''
 +
#:<code>wget https://wiki.orticongroup.ru/files/Distrib/guacamole/guacamole-auth-jdbc-1.5.5.tar.gz</code>
 +
#:<code>tar -xf guacamole-auth-jdbc-1.5.5.tar.gz</code>
 +
#:<code>sudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/</code>
 +
# '''Заходим в MYSQL, создаем пользователя и бд для guacamole:'''
 +
#:<code>sudo mysql</code>
 +
#:<code>CREATE DATABASE guacamole_db;</code>
 +
#:<code>CREATE USER 'gu_user'@'localhost' IDENTIFIED BY 'password';</code>
 +
#:<code>GRANT ALL PRIVILEGES ON guacamole_db.* TO 'gu_user'@'localhost';</code>
 +
#:<code>FLUSH PRIVILEGES;</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]]

Текущая версия на 11:07, 15 октября 2024

Для 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