http://guacamole.incubator.apache.org/doc/gug/
http://blog.csdn.net/cherrybomb1111/article/details/52785893
http://www.it610.com/article/2681892.htm
http://www.chasewright.com/guacamole-with-mysql-on-ubuntu/
#guacamole安装,启动
要让guacamole运行起来要跑通以下服务:
guacamole-server(包含guacd,跑一个docker容器开放一个端口4822就ok)
http://guacamole.incubator.apache.org/doc/gug/guacamole-docker.html
这里我是在172.24.54.138这台虚拟机上跑,所以后面的guacamole.properties中guacd-hostname设置为172.24.54.138,端口默认4822
docker run --name some-guacd -d --restart=always -p 4822:4822 guacamole/guacd
guacamole-client(官方是一个war包,用tomcat来跑)
下载:http://guacamole.incubator.apache.org/releases/0.9.11-incubating/
guacamole-0.9.11-incubating.war
guacamole-auth-jdbc-0.9.11-incubating.tar.gz
###设置tomcat的环境变量(非常重要)
GUACAMOLE_HOME=D:\JavaProjects\guacamole-client-0.9.11-incubating\guacamole-home
ubuntu的是这样的:
echo 'GUACAMOLE_HOME="/etc/guacamole"' >> /etc/default/tomcat8
这里我用的是intellij IDEA来配置的tomcat []
###拷贝文件到D:\JavaProjects\guacamole-client-0.9.11-incubating\guacamole-home(/etc/guacamole)
guacamole-home可以是一个自己创建的文件夹里面包含guacamole-client的配置文件和插件调用的jar包等等
我用了官方的mysql插件做身份权限管理所以包含以下文件
.\extensions\guacamole-auth-jdbc-mysql-0.9.11-incubating.jar
.\lib\mysql-connector-java-5.1.40-bin.jar
.\schema\001-create-schema.sql
.\schema\002-create-admin-user.sql
.\logback.xml
.\guacamole.properties
# guacamole.properties
# Hostname and port of guacamole proxy
guacd-hostname: 172.24.54.138
guacd-port: 4822
# MySQL properties
mysql-hostname: 172.24.54.144
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole
mysql-password: guacamole
# Location to read extra .jar's from
#lib-directory: /var/lib/guacamole/classpath
# Authentication provider class
#auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
# Properties used by BasicFileAuthenticationProvider
#basic-user-mapping: /etc/guacamole/user-mapping.xml
# Auth provider class
#auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider
mysql
把以下两个sql初始化文件导入新建立的database中
.\schema\001-create-schema.sql
.\schema\002-create-admin-user.sql
sed -i 's/127.0.0.1/0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf service mysql restart
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
apt-get update
apt-get install iptables-persistent -y
service iptables restart
mysql -uroot -proot -P3306 -h127.0.0.1<<EOF
drop DATABASE guacamole;
CREATE DATABASE guacamole character set utf8;
CREATE USER 'guacamole'@'%' IDENTIFIED BY 'guacamole';
SET PASSWORD FOR 'guacamole'@'%' = PASSWORD('guacamole');
GRANT ALL ON guacamole.* TO 'guacamole'@'%';
exit;
mysql -uguacamole -pguacamole -P3306 -h172.24.54.144 guacamole < 001-create-schema.sql
mysql -uguacamole -pguacamole -P3306 -h172.24.54.144 guacamole < 002-create-admin-user.sql
之后用tomcat把war包跑起来 用默认账号guacadmin 密码guacadmin 访问webUI即可 http://127.0.0.1:8080/#/
RESTful API 接口: http://127.0.0.1:8080/api
openstack中启动一个虚拟机绑定一个浮动IP,加入guacamole中即可
(附) 编译安装guacamole-server(复杂、不推荐)
yum install libpng* freerdp freerdp-devel libvncserver libvncserver-devel gcc* gcc++ make automake libtool
wget -O guacamole-server.tar.gz "http://apache.org/dyn/closer.cgi?action=download&filename=incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz"
tar zxvf guacamole-server.tar.gz
cd guacamole-server-0.9.11-incubating
apt-get install --fix-missing autoconf
#yum install gcc-c++
#yum install automake
#yum install gtk+*
#yum install libtool
#yum -y install cairo-devel
#yum -y install libjpeg-turbo-devel
#yum -y install libjpeg-devel
#yum -y install libpng-devel
#yum -y install uuid-devel
#yum -y install freerdp-devel
#yum -y install pango-devel
#yum -y install libssh2-devel
#yum -y install libtelnet-devel
#yum -y install libvncserver-devel
#yum -y install pulseaudio-libs-devel
#yum -y install openssl-devel
#yum -y install libvorbis-devel
apt-get install -f -y install libpng12-dev
apt-get install -f -y install libcairo2-dev
apt-get install -f -y install libjpeg62-turbo-dev
apt-get install -f -y install libjpeg62-dev
apt-get install -f -y install libossp-uuid-dev
apt-get install -f -y install libavcodec-dev
apt-get install -f -y install libavutil-dev
apt-get install -f -y install libswscale-dev
apt-get install -f -y install libfreerdp-dev
apt-get install -f -y install libpango1.0-dev
apt-get install -f -y install libssh2-1-dev
apt-get install -f -y install libtelnet-dev
apt-get install -f -y install libvncserver-dev
apt-get install -f -y install libpulse-dev
apt-get install -f -y install libssl-dev
apt-get install -f -y install libvorbis-dev
apt-get install -f -y install libwebp-dev
apt-get install -y build-essential
apt-get install -y automake
autoreconf -fi
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
guacd start
# mysql
mysql -uroot -proot -e 'CREATE DATABASE `guacamole` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;'
mysql -uroot -proot -e "INSERT INTO mysql.user(HOST, USER, PASSWORD) VALUES ('%', 'guacamole', PASSWORD('guacamole') ); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "grant all on guacamole.* to guacamole@'%' identified by 'guacamole';"
mysql -uroot -proot -e 'flush privileges;'
wget -O guacamole-client.tar.gz "http://apache.org/dyn/closer.cgi?action=download&filename=incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz"
tar -xzf guacamole-client.tar.gz
cd guacamole-client-0.9.11-incubating/
apt install maven
mvn package