用guacamole替换openstack中vnc控制台远程桌面

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

转载于:https://my.oschina.net/readerror/blog/837834

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值