Apache Guacamole 1.6.0

Поделиться

https://guacamole.apache.org/

apt update
apt upgrade
reboot
apt install -y make

В настоящее время версия Tomcat10 не поддерживается

Добавление репозитория Debian11

echo "deb http://deb.debian.org/debian/ bullseye main" | sudo tee /etc/apt/sources.list.d/bullseye.list
apt update

apt install -y tomcat9 --no-install-recommends
или
apt install -y tomcat9

Удаления репозитория (Закоментируем вдруг понадобится)

sed -i 's/^/#/' /etc/apt/sources.list.d/bullseye.list
apt update

systemctl daemon-reload

Установка и настройка MariaDB

apt install -y mariadb-server mariadb-client
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
 - Рекомендуется отвечать утвердительно (то, что по умолчанию)

Подготовка к установке

Подготовка директорий

mkdir -p /etc/guacamole/{extensions,lib}
touch /etc/guacamole/guacamole.properties
mkdir /opt/guacd

Установа необходимых пакетов

apt install -y libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \
freerdp2-dev \
libpango1.0-dev \
libssh2-1-dev \
libtelnet-dev \
libvncserver-dev \
libwebsockets-dev \
libssl-dev \
libwebp-dev \
libvorbis-dev \
libpulse-dev

Сборка и установка

cd /opt/guacd
wget https://dlcdn.apache.org/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz
tar -xzf guacamole-server-1.6.0.tar.gz
cd guacamole-server-1.6.0/
./configure --with-systemd-dir=/etc/systemd/system/

guacamole-server version 1.6.0 - Результат вывода команды

Library status:

Protocol support:

Services / tools:

FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
Init scripts: no
Systemd units: /etc/systemd/system/

Type "make" to compile guacamole-server.

make
make install
ldconfig
systemctl daemon-reload

Настройка подключения БД

cd /opt/guacd
wget https://dlcdn.apache.org/guacamole/1.6.0/binary/guacamole-auth-jdbc-1.6.0.tar.gz
tar -xzf guacamole-auth-jdbc-1.6.0.tar.gz
cp /opt/guacd/guacamole-auth-jdbc-1.6.0/mysql/guacamole-auth-jdbc-mysql-1.6.0.jar /etc/guacamole/extensions/guacamole-auth-jdbc-mysql-1.6.0.jar
cd guacamole-auth-jdbc-1.6.0/

mysql -u root -p
или Unix Socket
mysql -u root

CREATE DATABASE guacamole_db;
\q
 - выход

cat /opt/guacd/guacamole-auth-jdbc-1.6.0/mysql/schema/*.sql | mysql -u root guacamole_db

mysql -u root
CREATE USER 'guacdadmin' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacdadmin';
FLUSH PRIVILEGES;
\q

nano /etc/guacamole/guacamole.properties

#SERVER
guacd-hostname: 127.0.0.1
guacd-port: 4822

#Setting MariaDB
auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacdadmin
mysql-password: password

Подключения коннектора для работы с БД

cd /opt/guacd
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-j-9.4.0.tar.gz
tar -xzf mysql-connector-j-9.4.0.tar.gz
cp /opt/guacd/mysql-connector-j-9.4.0/mysql-connector-j-9.4.0.jar /etc/guacamole/lib/mysql-connector-j-9.4.0.jar

Настройка Tomcat

cd /opt/guacd/
echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat9
ln -s /etc/guacamole /usr/share/tomcat9/.guacamole
wget https://dlcdn.apache.org/guacamole/1.6.0/binary/guacamole-1.6.0.war
rm -rf /var/lib/tomcat9/webapps/ROOT
cp /opt/guacd/guacamole-1.6.0.war /var/lib/tomcat9/webapps/ROOT.war
 - ждем пару минут, чтобы приложение успело распаковаться
или
cat /var/log/tomcat9/catalina.*.log - проверить логи

systemctl enable tomcat9
systemctl enable guacd

systemctl restart tomcat9
systemctl restart guacd

ufw allow 8080/tcp

Исправление ошибки для RDP

ps aux | grep -v grep| grep guacd
useradd -M -d /var/lib/guacd/ -r -s /sbin/nologin -c "Guacd User" guacd
mkdir /var/lib/guacd
chown -R guacd: /var/lib/guacd
sed -i 's/daemon/guacd/' /etc/systemd/system/guacd.service
systemctl daemon-reload
systemctl restart guacd

Примечание, возможно потребуется создать файл (если не сработало)
nano /etc/guacamole/guacd.conf
[server]
bind_host = 0.0.0.0
bind_port = 4822

nano /etc/hosts - коментируем IPv6

#::1 localhost ip6-localhost ip6-loopback

Перезагрузка

reboot

Диагностика

systemctl status tomcat9 guacd
systemctl restart tomcat9 guacd

Логин и пароль по умолчанию
http://ip-address:8080/
guacadmin
guacadmin