tomcat - Guacamole 新安装

标签 tomcat guacamole

我仔细阅读了文档,对它从安装到配置的直接过程感到有点不安: https://guacamole.incubator.apache.org/doc/gug/configuring-guacamole.html

它开始谈论像 guacamole.properties 中的 GUACAMOLE_HOME 之类的东西,但我真的不觉得它曾经被清楚地解释过这些东西应该存储或定义在哪里。我实际上不确定那些是配置服务器还是客户端。因此,我不确定是否应该在进行更改后重新启动 guacd 服务或 tomcat8 服务,或者我应该在哪里查看日志文件以进行诊断.

根据文档:

    GUACAMOLE_HOME

    Guacamole reads files from its own configuration directory by default,
 resorting to the classpath only when this directory cannot be found. When
 locating this directory, Guacamole will try, in order:

        The directory specified within the system property guacamole.home.

        The directory specified within the environment variable GUACAMOLE_HOME.

        The directory .guacamole, located within the home directory of 
        the user running the servlet container

.

我以 root 身份安装该服务,所以我不确定我是否应该将这些文件放在/root/.guacamole 文件夹中,或者我是否应该创建一个/home/tomcat8/.guacamole 文件夹?

我是 tomcat 的新手,过去 20 年我是 apache 管理员,所以有些事情让我感到困惑。我使用 grep 搜索代码库,但找不到 GUACAMOLE_HOME 或对 guacamole.properties 的引用以尝试进一步了解要做什么。

所有这一切似乎真的应该通过安装脚本完成,但由于不是,我在 Github 上使用了这个脚本: https://github.com/MysticRyuujin/guac-install/blob/master/guac-install.sh

在故障排除中,我能够连接到 :8080 上的 Tomcat 服务器,但无法让 Guacamole 显示在端口 :4822 上。我将文件复制到 /var/lib/tomcat8/webapps/ROOT/ 目录中,并且能够让它在端口 8080 上工作,但令我困扰的是它没有尊重其中的内容在 github 脚本中创建的 /etc/guacamole/guacamole.properties 文件:

# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port: 4822    

我打开端口使用:

iptables -I INPUT -p tcp -m tcp --dport 4822 -j ACCEPT

/var/lib/tomcat8/webapps/ROOT 中是否有我应该查看的配置文件?我如何知道正在使用哪个 guacamole.properties 文件,或者它是否只是从某处提取一些默认设置而根本看不到该文件?

更新

我对源代码进行了一些更改并重新构建:

src/guacd/conf-file.c

conf->bind_host = "guachost";
conf->bind_port = strdup("4822");
conf->pidfile = NULL;        
conf->foreground = 0;                 
conf->max_log_level = GUAC_LOG_INFO;

src/guacd/man/guacd.conf.5

[server]

bind_host = guachost 
bind_port = 4822    

然后我在 /etc/hosts 文件中放置了一个条目以查看它是否可以工作。现在当我启动服务时,我可以在 /var/log/syslog 文件中看到:

Nov 29 10:32:15 cessna systemd[1]: Starting LSB: Guacamole proxy daemon...
Nov 29 10:32:15 cessna guacd[27692]: Guacamole proxy daemon (guacd) version 0.9.9 started
Nov 29 10:32:15 cessna guacd[27689]: Starting guacd: guacd[27692]: INFO:#011Guacamole proxy daemon (guacd) version 0.9.9 started
Nov 29 10:32:15 cessna guacd[27689]: SUCCESS
Nov 29 10:32:15 cessna systemd[1]: Started LSB: Guacamole proxy daemon.
Nov 29 10:32:15 cessna guacd[27694]: Listening on host 192.168.1.25, port 4822

之前它总是说它是 127.0.0.1,但我仍然无法连接到该端口上的 Web 界面。我现在不确定这是告诉 Tomcat 监听 4822 的 Tomcat 问题,还是 Guacamole 设置中的问题。我仍然可以在 :8080 访问它,但我想控制它而不是让它决定它想要什么。理想情况下,它会监听所有接口(interface)/IP 地址并按端口过滤。

最佳答案

也许这是这个版本的新功能,但我发现应该有一个文件:/etc/guacamole/guacd.conf,这是您为服务指定主机和端口的地方.

#
# guacd configuration file
#

[daemon]

pid_file = /var/run/guacd.pid
log_level = info

[server]

bind_host = localhost
bind_port = 4822

#
# The following parameters are valid only if
# guacd was built with SSL support.
#

[ssl]

server_certificate = /etc/ssl/certs/guacd.crt
server_key = /etc/ssl/private/guacd.key

如果您对源代码进行了我上面所做的更改,则需要撤消该更改,否则您无法指定 bind_host

我修改了设置脚本并在脚本末尾添加了一些指令以帮助设置 Tomcat 和 Apache。

https://github.com/ajhalls/Server-Setup-Scripts/blob/master/Guacamole-Setup.sh

关于tomcat - Guacamole 新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871315/

相关文章:

java - 如何在 x64 windows7 上为 tomcat 分配超过 1 GB 的内存

javascript - Guacamole VNC 文件传输

vnc - 无法使用 Guacamole 反向 VNC 连接

java - Guacamole vnc 查看器 - 如何使用?

java - 部署过程中出现错误 : Exception while loading the app :

java - OpenShift 返回带有标题 text/plain 而不是 text/html 的响应

Java 属性类

java - 如何在 Maven 中设置部署到服务器/与服务器目标同步?

javascript - 直接从 Javascript Guacamole 客户端连接到 guacd?

javascript - 在我的 React 应用程序中集成 guacamole-common-js