Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| computers:guacamole [2023/02/02 04:26] – jon | computers:guacamole [2025/03/14 19:45] (current) – jon | ||
|---|---|---|---|
| Line 18: | Line 18: | ||
| macOS and VNC on Guacamole is a little choppy, even over a wire. I an hoping there is a safe port of RDP that could be leveraged safely for use on macOS. | macOS and VNC on Guacamole is a little choppy, even over a wire. I an hoping there is a safe port of RDP that could be leveraged safely for use on macOS. | ||
| + | |||
| + | Debian 12 comes shipped with Tomcat 10, any automated script installers out there will probably fail unless they specifically rebuild with Tomcat 9. Apache Foundation is still behind the times and has not gotten Guacamole to work with Tomcat 10. I've had to stay back at Debian 11 for now, with the possibility of shifting over to Rocky/Alma Linux as an alternative. | ||
| SSH connections via Guacamole are a little outdated in terms of the libssh2 package used. It requires ssh-dss, or ssh-rsa, both of which are depreciated, | SSH connections via Guacamole are a little outdated in terms of the libssh2 package used. It requires ssh-dss, or ssh-rsa, both of which are depreciated, | ||
| Line 39: | Line 41: | ||
| https:// | https:// | ||
| + | ===== Hardening the Tomcat instance ===== | ||
| + | |||
| + | Sourced from - https:// | ||
| + | |||
| + | ==== Redirect the root index ==== | ||
| + | |||
| + | Rename index.html to index.html.backup | ||
| + | |||
| + | vim index.jsp | ||
| + | |||
| + | Add this line: | ||
| + | |||
| + | < | ||
| + | |||
| + | Now, this doesn' | ||
| + | |||
| + | ==== Hiding the server details/ | ||
| + | |||
| + | Make a page on the root level of the application directory named error.jsp | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Then in your global config under web.xml add these lines to the bottom of the config before the </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Restart tomcat for this to take effect. | ||
| + | |||
| + | ===== Exporting the config ===== | ||
| + | |||
| + | ChatGPT did help with this.. but it has worked for me shifting over from a Pi to a VM. This is based on the MysticRyuujin installer which is getting long in the tooth, but is still reliable up to Debian 11. | ||
| + | |||
| + | Apache Guacamole Migration Plan (Debian, MySQL-Based Setup) | ||
| + | Step 1: Backup the MySQL Database | ||
| + | On the old server: | ||
| + | |||
| + | Find Guacamole' | ||
| + | |||
| + | < | ||
| + | |||
| + | Note down the values for mysql-database, | ||
| + | |||
| + | Dump the database using --single-transaction to avoid locking issues: | ||
| + | |||
| + | < | ||
| + | (Enter the password when prompted) | ||
| + | |||
| + | Copy the dump file to the new server: | ||
| + | |||
| + | < | ||
| + | |||
| + | Step 2: Backup Configuration Files | ||
| + | Copy essential Guacamole configuration files: | ||
| + | |||
| + | < | ||
| + | scp guac_config_backup.tar.gz youruser@newserver:/ | ||
| + | |||
| + | Step 3: Install Guacamole on the New Server | ||
| + | Run the installer on the new server: | ||
| + | |||
| + | < | ||
| + | cd guac-install | ||
| + | sudo ./ | ||
| + | |||
| + | Don’t log in yet. Restore the old database first. | ||
| + | |||
| + | Step 4: Restore the Database | ||
| + | On the new server: | ||
| + | |||
| + | Temporarily grant full privileges to guacamole_user: | ||
| + | |||
| + | < | ||
| + | Inside MySQL, run: | ||
| + | |||
| + | < | ||
| + | FLUSH PRIVILEGES; | ||
| + | EXIT;</ | ||
| + | |||
| + | Import the database dump: | ||
| + | |||
| + | < | ||
| + | |||
| + | Revert guacamole_user permissions to limit access: | ||
| + | |||
| + | < | ||
| + | |||
| + | Run: | ||
| + | |||
| + | < | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE ON guacamole_db.* TO ' | ||
| + | FLUSH PRIVILEGES; | ||
| + | EXIT;</ | ||
| + | |||
| + | Step 5: Restore Configuration Files | ||
| + | Extract and move the config backup: | ||
| + | |||
| + | < | ||
| + | sudo systemctl daemon-reload</ | ||
| + | |||
| + | Step 6: Restart Services and Verify | ||
| + | Restart Guacamole services: | ||
| + | |||
| + | < | ||
| + | sudo systemctl restart tomcat9</ | ||
| + | Then, log in via the web interface—all users, connections, | ||