在CentOS上安装和配置Guacamole
Posted 清风$waj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOS上安装和配置Guacamole相关的知识,希望对你有一定的参考价值。
一、环境说明
- 操作系统:CentOS 6.4 x86_64
- 主机IP:192.168.38.20
- 登录账户:root
二、安装编译和运行环境
1. 关闭防火墙
在Shell中运行以下命令:
chkconfig iptables off
service iptables stop
2. 修改SELinux运行模式
在Shell中运行以下命令:
setenforce 0
vi /etc/selinux/config
将上述配置文件中的:
SELINUX=enforcing
修改为:
SELINUX=permissive
3. 安装GCC套件
在Shell中运行以下命令:
yum groupinstall -y "Development Tools"
4. 下载JDK
至下面的网页下载JDK,此处下载的是jdk-8u45-linux-x64.tar.gz
安装包,存放在/root/Downloads
目录中:
5. 卸载系统自带的OpenJDK
在Shell中运行以下命令:
rpm -qa | grep java
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
6. 解压缩安装JDK
在Shell中运行以下命令:
cd /root/Downloads
tar xvzf jdk-8u45-linux-x64.tar.gz
mv jdk1.8.0_45 /usr/local/Java
7. 配置JDK环境变量
在Shell中运行以下命令:
vi /etc/profile
在上述配置文件的最后,另起新行输入:
JAVA_HOME=/usr/local/Java
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
保存上述配置文件,生效配置文件:
source /etc/profile
8. 测试JDK安装结果
在Shell中运行以下命令:
java -version
若上述命令的输出如下所示,则表示安装成功:
9. 下载Tomcat
在Shell中运行以下命令:
cd /root/Downloads
wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
10. 解压缩安装Tomcat
在Shell中运行以下命令:
tar xvzf apache-tomcat-8.0.23.tar.gz
mv apache-tomcat-8.0.23 /usr/local/Tomcat
cd /usr/local/Tomcat/bin
chmod +x *.*
11. 创建Tomcat服务控制脚本
在Shell中运行以下命令:
vi /etc/init.d/tomcat
在这个新建的文件中输入以下内容:
#!/bin/bash
# description: Tomcat Start Stop Restart Status
# processname: tomcat
# chkconfig: 234 20 80
# description: Tomcat is a Java application Server.
# Source function library
. /etc/init.d/functions
# System environment variables
CATALINA_HOME=/usr/local/Tomcat
TOMCAT_USER=root
LOCKFILE=/var/lock/subsys/tomcat
RETVAL=0
start(){
echo "Starting Tomcat: "
su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
return $RETVAL
}
stop(){
echo "Shutting down Tomcat: "
$CATALINA_HOME/bin/shutdown.sh
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status tomcat
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit $?
保存上述文件,然后在Shell中执行以下命令:
chmod 755 /etc/init.d/tomcat
chkconfig --add /etc/init.d/tomcat
chkconfig tomcat on
以下四条命令可用于控制Tomcat服务:
service tomcat start # 启动Tomcat服务
service tomcat stop # 停止Tomcat服务
service tomcat restart # 重启Tomcat服务
service tomcat status # 查看Tomcat服务状态
12. 配置catalina.sh脚本
在Shell中运行以下命令:
vi /usr/local/Tomcat/bin/catalina.sh
在#!/bin/sh
这行下面添加系统环境变量:
JAVA_HOME=/usr/local/Java
PATH=$JAVA_HOME/bin:$PATH
CATALINA_HOME=/usr/local/Tomcat
CATALINA_BASE=/usr/local/Tomcat
CATALINA_PID=/var/run/tomcat.pid
CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParallelGC"
注意:必须在CATALINA_OPTS
环境变量中显式指定使用并行垃圾收集器(-XX:+UseParallelGC
选项),否则JVM可能会根据服务器配置默认使用串行垃圾收集器,这种垃圾收集器的性能和效率较低。
13. 测试Tomcat安装
在Shell中运行以下命令:
service tomcat start
在浏览器中访问以下URL:
若打开页面如下所示,则表示安装成功:
14. 安装VNC服务端
在Shell中运行以下命令:
yum install -y tigervnc-server
15. 配置VNC服务器
在Shell中运行以下命令:
vi /etc/sysconfig/vncservers
在上述文件中作出以下修改:
① 将# VNCSERVERS="2:myusername"
修改为VNCSERVERS="1:root"
② 将# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
修改为VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
上述配置会为远程用户root提供一个分辨率为800×600的远程桌面,连接端口号为5901。
16. 设置VNC登录密码
在Shell中运行以下命令:
vncserver
运行上述命令之后会提示输入密码,此处设置密码为password。
17. 重启VNC服务
在Shell中运行以下命令:
chkconfig vncserver on
service vncserver restart
三、安装和配置Guacamole
1. 导入第三方软件源
在Shell中运行以下命令:
rpm -Uvh http://mirrors.ustc.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm vi /etc/yum.repos.d/epel.repo
将上述配置文件中的:
# baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
改为:
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
2. 安装Guacamole依赖软件包
在Shell中运行以下命令:
# 安装Cairo
yum install -y cairo cairo-devel
# 安装libpng
yum install -y libpng libpng-devel
# 安装FreeRDP
yum install -y freerdp freerdp-devel
# 安装Pango
yum install -y pango pango-devel
# 安装libssh2
yum install -y libssh2 libssh2-devel
# 安装libtelnet
yum install -y libtelnet libtelnet-devel
# 安装libVNCServer
yum install -y libvncserver libvncserver-devel
# 安装libpulse
yum install -y pulseaudio pulseaudio-libs pulseaudio-libs-devel
# 安装libssl
yum install -y openssl openssl-devel
# 安装libvorbis
yum install -y libvorbis libvorbis-devel
# 安装OSSP UUID
yum install -y uuid uuid-devel
3. 下载Guacamole源码包
在Shell中运行以下命令:
cd /root/Downloads
wget http://jaist.dl.sourceforge.net/project/guacamole/current/source/guacamole-server-0.9.7.tar.gz
git clone https://github.com/cmujedi/guacamole.git
4. 编译Guacamole
在Shell中运行以下命令:
tar -xvzf guacamole-server-0.9.7.tar.gz
cd guacamole-server-0.9.7/
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
5. 配置Guacamole服务
在Shell中运行以下命令:
chown root.root /etc/init.d/guacd
chmod 755 /etc/init.d/guacd
chkconfig --add guacd
chkconfig guacd on
以下四条命令可用于控制guacd服务:
service guacd start # 启动guacd服务
service guacd stop # 停止guacd服务
service guacd restart # 重启guacd服务
service guacd status # 查看guacd服务状态
6. 下载Guacamole客户端
在Shell中运行以下命令:
cd /root/Downloads
wget http://jaist.dl.sourceforge.net/project/guacamole/current/binary/guacamole-0.9.7.war
mkdir /var/lib/guacamole
mv /root/Downloads/guacamole-0.9.7.war /var/lib/guacamole/guacamole.war
7. 新建Guacamole配置文件
在Shell中运行以下命令:
mkdir /etc/guacamole
mkdir /root/.guacamole
cp /root/Downloads/guacamole/doc/example/guacamole.properties/etc/guacamole/guacamole.properties
cp /root/Downloads/guacamole/doc/example/user-mapping.xml/etc/guacamole/user-mapping.xml
ln -s /etc/guacamole/guacamole.properties /root/.guacamole/
8. 配置guacamole.properties文件
在Shell中运行以下命令:
vi /etc/guacamole/guacamole.properties
将上述文件的basic-user-mapping
属性设置为:
/etc/guacamole/user-mapping.xml
9. 配置user-mapping.xml文件
在Shell中运行以下命令:
vi /etc/guacamole/user-mapping.xml
在上述XML文件的user-mapping节点内添加如下内容:
<authorize username="root" password="password">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5901</param>
<param name="password">password</param>
<param name="color-depth">32</param>
</authorize>
其中的密码值要和之前安装VNC Server时为相应用户设置的密码相同。
10. 部署Guacamole客户端
在Shell中运行以下命令:
ln -s /var/lib/guacamole/guacamole.war /usr/local/Tomcat/webapps
11. 重启Tomcat
在Shell中运行以下命令:
service tomcat restart
12. 启动guacd
在Shell中运行以下命令:
service guacd start
四、验证Guacamole安装
在WEB浏览器中输入以下URL:
http://192.168.38.20:8080/guacamole/
然后,在登录页面中输入之前配置好的用户名/密码(root/password)即可通过WEB页面连接至VNC。
以上是关于在CentOS上安装和配置Guacamole的主要内容,如果未能解决你的问题,请参考以下文章