系统类型版本:centos7 64位
结果:最终跑通了项目并且实现了虚拟驱动器的文件传输功能,添加了中文支持
反思总结:
先查看官方文档的Q&A,找找有没有类似的错误,然后如果有错误日志或者现成的解决方案,直接尝试用解决方案或者搜索错误日志的方式,更加容易搜索到解决方案。
除非确实不方便,否则用开发者自己的开发环境类型版本、部署环境类型版本更加不容易出现bug或者兼容性问题,这次的这个就是因为作者的部署环境是 ubuntu 14.04 ,而我使用的 centos7 64位,所以才出现了这样的兼容性问题。
搭建环境:
jdk mysql 都是用的yum的方式安装的,教程里提到的和我的版本不一样,所以我手动去 Guacamole 的官网找了 1.0.0 的相关文件的下载地址,打开chrome控制台,找到了下载地址,有些是一些文件提供商,有些是清华大学的tuna的镜像源(https://mirrors.tuna.tsinghua.edu.cn/)
yum 安装 mysql:
# yum install -y mariadb mariadb-server # systemctl start mariadb
yum 安装 jdk 1.8
https://blog.csdn.net/a360616218/article/details/76736988
tomcat安装时使用的源:
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.14/bin/
tomcat 版本:
[root@localhost translations]# /usr/local/tomcat/bin/catalina version -bash: /usr/local/tomcat/bin/catalina: No such file or directory [root@localhost translations]# /usr/local/tomcat/bin/catalina.sh version Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Server version: Apache Tomcat/8.5.37 Server built: Dec 12 2018 12:07:02 UTC Server number: 8.5.37.0 OS Name: Linux OS Version: 3.10.0-957.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_191-b12 JVM Vendor: Oracle Corporation [root@localhost translations]#
java 版本:
[root@localhost translations]# java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) [root@localhost translations]#
参照的搭建方法链接:
https://www.jianshu.com/p/ebaba8ca17de (主要)
https://blog.csdn.net/Yg854879464/article/details/82151314 (这个主要参照 guacamole.properties文本内容 ,不过目前跑通了的是下面这个)
[root@localhost ~]# cat /etc/guacamole/guacamole.properties # Hostname and port of guacamole proxy guacd-hostname: localhost guacd-port: 4822 enable-websocket: true enable-clipboard-integration: true # auth-provider: net.sourceforge.guacamole.net.auth.noauth.NoAuthenticationProvider # noauth-config: /etc/guacamole/noauth-config.xml auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider basic-user-mapping: /etc/guacamole/user-mapping.xml # MySQL properties mysql-hostname: localhost mysql-port: 3306 mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: some_password [root@localhost ~]#
https://blog.csdn.net/cloudmq/article/details/80852944 (这个是 mysql 类型的配置方式的入口)
https://blog.csdn.net/cloudmq/article/details/80838192 (这个是 mysql 类型的配置方式)
https://blog.csdn.net/ccc_12345/article/details/76842312 (这个是 mysql 类型的配置方式)
mysql 方式配置时注意:(这里输入完了回车,出现 enter password后 直接回车就行了)
root@ubuntu:/etc/guacamole/sqlauth/guacamole-auth-jdbc-0.9.14/mysql/schema# ls 001-create-schema.sql 002-create-admin-user.sql upgrade root@ubuntu:/etc/guacamole/sqlauth/guacamole-auth-jdbc-0.9.14/mysql/schema# cat ./*.sql | mysql -u root -p guacamole_db 这里输入完了回车,出现 enter password后 直接回车就行了 Enter password: root@ubuntu:/etc/guacamole/sqlauth/guacamole-auth-jdbc-0.9.14/mysql/schema#
http://guacamole.apache.org/doc/gug/ (官方文档)
https://www.realks.com/archives/322 (rdp连接配置说明 其实这些参数,包括那些别的教程的、官方的参数,指的都是web配置面板的那些参数)
http://guacamole.apache.org/doc/gug/configuring-guacamole.html#rdp (rdp配置说明(官方))
https://www.cnblogs.com/redirect/p/10066735.html (guacamole实现RDP的下载)
https://sourceforge.net/p/guacamole/discussion/1110834/thread/9b3cc822/ (如何启动rdp文件传输 (主程回答了))
https://www.jianshu.com/p/d67cd6ba9595 (搭建及添加中文支持)
首先同时参照几种方式进行搭建,要搭建mysql方式的,因为xml方式的功能少,不实用,而且配置远程终端的密码时,如果有特殊符号 $ & 等时,将会登录失败。
注意,登录后默认用户名和密码均为:guacadmin
部署时的注意事项:./configure 的时候会报错(configure: error: no acceptable C compiler found in $PATH),安装gcc即可,(百度一下错误提示,就能找到安装gcc的命令)(yum install gcc) 参考:https://blog.csdn.net/duguduchong/article/details/8699774
要直接安装 mysql 的方式
注意统一版本(我安装时统一为 1.0.0 版本)
注意教程里说的不必要安装的依赖也必须安装,否则根本连不上,安装后成功连接上(那里面都包含了freerdp,都是必须装的,不知道那篇安装教程的博主为什么说是非必须的依赖)
重点:虚拟驱动器问题,这个baidu和google都找不到资料(这个中英文描述的,甚至用上了虚拟驱动器的关键字(G on Guacamole RDP),都没几个人回答,英文答案也是没人解决),看官方文档说是不能实现基础功能就可以看错误日志,百度和google了错误日志(包含 Failed to load guacdr plugin ),才仅在 Glyptodon,Inc。是Apache Guacamole的商业服务提供商(https://jira.glyptodon.com/secure/Dashboard.jspa) 的问答区的问题 (https://jira.glyptodon.com/browse/GUAC-1036?page=com.atlassian.jira.plugin.system.issuetabpanels) 和 sourceforge 的 Apache Guacamole项目下的 Discussion 即 Home/Browse/Apache Guacamole/Discussion ( https://sourceforge.net/p/guacamole/discussion/1110834/thread/76764d35/ ) 找到了解决方法(这个 sourceforge 的问题,主程回答了解决方法,问题提供者最后给出了正确的(只适用于他自己环境的bash命令,但是具有同类型的参考价值)bash命令),
果然,先查看官方文档的Q&A,找找有没有类似的错误,然后如果有错误日志或者现成的解决方案,直接尝试用解决方案或者搜索错误日志的方式,更加容易搜索到解决方案。
然后我把两个答案的内容结合我的实际环境(centos7),尝试着,竟然成功了!
在设置了两个软链接之后,重启guacamole的服务和tomcat(方法在下面的history里都有),然后再去面板重新设置保存一下,即可在远程桌面看到虚拟驱动器,
下面是从安装centos的配置网卡起,经过搭建环境的过程和解决各种问题和虚拟驱动器问题的linux history:
[root@localhost translations]# history 1 vi /etc/sysconfig/network-scripts/ifcfg-ens192 2 ping www.baidu.com 3 service network restart 4 ping www.baidu.com 5 vi /etc/sysconfig/network-scripts/ifcfg-ens192 6 service network restart 7 ifconfig 8 ip addr 9 ping www.baidu.com 10 ls 11 ping 192.168.1.30 12 yum install -y java-1.8.0-openjdk-devel.x86\_64 13 java -version 14 yum install wget 15 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M15/bin/apache-tomcat-9.0.0.M15.tar.gz 16 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz 17 tar -zxvf apache-tomcat-8.5.37.tar.gz 18 mv apache-tomcat-8.5.37 /usr/local/tomcat 19 cd /etc/init.d/ 20 vi tomcat 21 yum install -y cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel 22 wget http://mirrors.hust.edu.cn/apache/incubator/guacamole/0.9.10-incubating/source/guacamole-server-0.9.10-incubating.tar.gz 23 yum install -y freerdp-devel pango-devel libssh2-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel 24 wget http://mirror.bit.edu.cn/apache/guacamole/1.0.0/source/guacamole-server-1.0.0.tar.gz 25 tar -zxvf guacamole-server-1.0.0.tar.gz 26 cd guacamole-server-1.0.0 27 yum install gcc 28 ./configure --prefix=/usr/local/guacamole --with-init-dir=/etc/init.d 29 make 30 make install 31 ldconfig 32 wget http://mirror.bit.edu.cn/apache/guacamole/1.0.0/binary/guacamole-1.0.0.war 33 cp guacamole-1.0.0.war /usr/local/tomcat/webapps/guacamole.war 34 mkdir /etc