user-mapping.xml文件在guacamole,无效登录中不起作用

最近,我在http://guac-dev.org/上的手册中遵循了Guacamole的安装说明。 我的系统是Ubuntu 14.04。

首先,我安装了基本的必需依赖项:

$ apt-get install -y apache2 libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libpulse-dev libssl-dev libvorbis-dev maven tomcat7 $ apt-get install -y libvncserver-dev 

然后,我下载了guacamole-server-0.9.8.tar.gzguacamole-0.9.8.war并按照手册中的说明安装了它们:

 $ tar xf guacamole-server-0.9.8.tar.gz $ cd guacamole-server-0.9.8 $ ./configure $ make $ make install $ cp guacamole-0.9.8.war /var/lib/tomcat7/webapps/guacamole.war $ mkdir /etc/guacamole 

我创建了/etc/guacamole/guacamole.properties ,包含以下内容:

 guacd-hostname: localhost # although the guide says it should be guacd-host, but the example shown in http://guac-dev.org/doc/gug/configuring-guacamole.html is guacd-hostname guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml 

/etc/guacamole/user-mapping.xml包含以下内容:

   vnc localhost 5901 123456   vnc 192.168.1.111 5901 123456   

然后我重启了tomcat7和guacd:

 $ /etc/init.d/tomcat7 restart $ /etc/init.d/guacd restart 

GUACAMOLE_HOME环境变量为空:

 $ echo $GUACAMOLE_HOME 

/home/没有.guacamole目录,也没有/var/lib/tomcat7/webapps/guacamole 。 当我访问http://localhost:8080/guacamole ,我输入了用户名“wangx”和密码“wangxiang”,显示无效登录。

我怎么解决这个问题? 我应该在哪里找到guacamole.propertiesuser-mapping.xml文件? 我做错什么了吗?

感谢您的关注。

根据手册中的说明:

 ... $ mkdir /etc/guacamole 

鳄梨/etc/guacamole不会自动从/etc/guacamole读取。 它将从GUACAMOLE_HOME读取,但这不是环境变量 – 它是Guacamole配置目录的占位符, 可以通过相同名称的环境变量确定,但是还有其他可能的位置。 来自Guacamole手册中的GUACAMOLE_HOME描述 :

GUACAMOLE_HOME

Guacamole默认从其自己的配置目录中读取文件,仅在找不到此目录时才使用类路径。 找到此目录时,Guacamole将按顺序尝试:

  1. 系统属性guacamole.home指定的目录。
  2. 环境变量GUACAMOLE_HOME指定的目录。
  3. 目录.guacamole ,位于运行servlet容器的用户的主目录中。

该目录将在文档的其他位置称为GUACAMOLE_HOME

Guacamole使用GUACAMOLE_HOME作为配置文件的主要搜索位置,如guacamole.properties 。 …

您的guacamole.propertiesuser-mapping.xml看起来很好,但Guacamole将无法找到这些文件,除非它们位于GUACAMOLE_HOME 。 解决此问题的一种非常简单的方法是将Tomcat用户主目录中的.guacamole符号链接到/etc/guacamole 。 对于Ubuntu上的“tomcat7”包,Tomcat用户的主目录是/usr/share/tomcat7

 $ ln -s /etc/guacamole/ /usr/share/tomcat7/.guacamole 

或者,您可以创建.guacamole目录,并创建一个指向guacamole.properties的符号链接。 由于您的user-mapping.xml的位置是在guacamole.properties显式指定的,因此您无需将其放在GUACAMOLE_HOME

 $ mkdir /usr/share/tomcat7/.guacamole $ ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/ 

在进行这些更改后,请务必重新启动Tomcat,并且应该开始工作。