0

我浏览了文档,从安装到配置,有点不安: 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 上工作,但它不尊重在/etc/guacamole/guacamole.propertiesgithub 脚本中创建的文件中的内容,这让我很困扰:

# 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 问题,还是鳄梨酱设置中的某个问题。我仍然可以在 :8080 访问它,但我想控制它,而不是让它决定它想要什么。理想情况下,它将侦听所有接口/ IP 地址并按端口过滤。

4

1 回答 1

0

也许这对这个版本来说是新的,但我发现应该有一个文件:/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

于 2016-11-29T19:12:29.770 回答