1. Pastikan AlmaLinux 10
Saya sarankan minimal AlmaLinux 10.2 karena 10.2 sudah dirilis 26 Mei 2026.
cat /etc/redhat-release
grep '^PRETTY_NAME=' /etc/os-release | cut -d= -f2- | tr -d '"'
2. Aktifkan EPEL
dnf install -y epel-release
dnf makecache
3. Cek FreeRDP SEBELUM install Guacamole
dnf list --showduplicates freerdp-devel
dnf info freerdp-devel
dnf install -y freerdp-devel
dnf list --available '*freerdp*
dnf install -y freerdp-devel
[root@teguhth ~]# rpm -qa | grep -i freerdp
freerdp-libs-3.10.3-12.el10_2.8.x86_64
freerdp-devel-3.10.3-12.el10_2.8.x86_64
[root@teguhth ~]#
4. Install dependency Guacamole
dnf install -y gcc gcc-c++ make autoconf automake libtool cairo-devel libjpeg-turbo-devel libpng-devel libuuid-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel openssl-devel libvorbis-devel libwebp-devel wget curl tar fontconfig-devel
dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-10.noarch.rpm
dnf install -y ffmpeg-devel
5. Install Java
Saya sarankan Java 21:
dnf install -y java-21-openjdk java-21-openjdk-devel
Cek:
java -version
6. Tomcat
dnf install -y tomcat9
systemctl status tomcat
systemctl restart tomcat
7. Download Guacamole Server 1.6.0
cd /usr/local/src
wget https://apache.org/dyn/closer.lua/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz?action=download
tar -xzf guacamole-server-1.6.0.tar.gz
mv guacamole-server-1.6.0.tar.gz\?action\=download guacamole-server-1.6.0.tar.gz
8. install
cd guacamole-server-1.6.0
./configure --with-systemd-dir=/etc/systemd/system
make -j$(nproc)
make install
ldconfig
9. Aktifkan guacd
systemctl daemon-reload
systemctl enable --now guacd
systemctl status guacd
ss -lntp | grep 4822
10. Download Guacamole WAR
cd /tmp
wget https://apache.org/dyn/closer.lua/guacamole/1.6.0/binary/guacamole-1.6.0.war?action=download
mv guacamole-1.6.0.war\?action\=download guacamole-1.6.0.war
cp guacamole-1.6.0.war /var/lib/tomcat/webapps/guacamole.war
11. restart tomcat
systemctl restart tomcat
12. Buat konfigurasi Guacamole
mkdir -p /etc/guacamole
[root@teguhth guacamole]# cat /etc/guacamole/guacd.conf
[server]
bind_host = 127.0.0.1
bind_port = 4822
[root@teguhth guacamole]#
ln -s /etc/guacamole /usr/share/tomcat/.guacamole
13. restart
systemctl restart guacd
systemctl restart tomcat
14. Buat user login
Untuk testing paling sederhana bisa menggunakan user-mapping.xml.
[root@teguhth guacamole]# cat /etc/guacamole/user-mapping.xml
<user-mapping>
<authorize username="admin" password="admin123">
<connection name="Windows Server - 10.10.10.7">
<protocol>rdp</protocol>
<param name="hostname">10.10.10.7</param>
<param name="port">3389</param>
<param name="username">Administrator</param>
<param name="password">xxxx</param>
<param name="ignore-cert">true</param>
</connection>
<connection name="Linux SSH - 10.10.10.22">
<protocol>ssh</protocol>
<param name="hostname">10.10.10.22</param>
<param name="port">22</param>
<param name="username">root</param>
<param name="password">xxxx</param>
</connection>
</authorize>
</user-mapping>
[root@teguhth guacamole]#
15. login
http://10.10.10.22:8080/guacamole/
http://10.10.10.23:8080/guacamole/
16. log trouble shoot sample jika tidak bisa rdp
./configure --with-rdp
make -j$(nproc)
make install
ldconfig
systemctl restart guacd
systemctl restart tomcat
17. log
journalctl -u guacd -f | grep -iE '10\.10\.10\.7|rdp|error|fail|connect'
[root@teguhth src]# ls
guacamole-server-1.6.0 guacamole-server-1.6.0.tar.gz
[root@teguhth src]# cd guacamole-server-1.6.0
[root@teguhth guacamole-server-1.6.0]# ./configure --help | grep -i rdp
--enable-allow-freerdp-snapshots
of FreeRDP
--with-rdp support RDP [default=check]
--with-freerdp-plugin-dir=<path>
install FreeRDP plugins to the given directory
RDP_CFLAGS C compiler flags for RDP, overriding pkg-config
RDP_LIBS linker flags for RDP, overriding pkg-config
[root@teguhth guacamole-server-1.6.0]#
[root@teguhth guacamole-server-1.6.0]#
[root@teguhth guacamole-server-1.6.0]# journalctl -u guacd -f | grep -iE '10\.10\.10\.7|rdp|error|fail|connect'
Aug 21 13:33:52 teguhth guacd[18643]: Connection "$7757a530-a305-42dc-a715-b6a783f0a926" removed.
Aug 21 13:33:52 teguhth guacd[18643]: guacd[18643]: INFO: Connection "$7757a530-a305-42dc-a715-b6a783f0a926" removed.
Aug 21 13:34:23 teguhth guacd[18643]: Creating new client for protocol "rdp"
Aug 21 13:34:23 teguhth guacd[18643]: guacd[18643]: INFO: Creating new client for protocol "rdp"
Aug 21 13:34:23 teguhth guacd[18702]: Support for protocol "rdp" is not installed
Aug 21 13:34:23 teguhth guacd[18702]: guacd[18702]: WARNING: Support for protocol "rdp" is not installed
Aug 21 13:34:23 teguhth guacd[18643]: Connection ID is "$1a6bb45b-faaa-43f5-81f9-97b12c981f60"
Aug 21 13:34:23 teguhth guacd[18643]: guacd[18643]: INFO: Connection ID is "$1a6bb45b-faaa-43f5-81f9-97b12c981f60"
Aug 21 13:34:23 teguhth guacd[18643]: Connection "$1a6bb45b-faaa-43f5-81f9-97b12c981f60" removed.
Aug 21 13:34:23 teguhth guacd[18643]: guacd[18643]: INFO: Connection "$1a6bb45b-faaa-43f5-81f9-97b12c981f60" removed.





No comments:
Post a Comment