设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 610|回复: 0

安装 kvm 管理面板WebVirtMgr

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168233

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2017-3-7 14:27:14 | 显示全部楼层 |阅读模式
系统环境
ubuntu 14.04, nginx, supervisor, kvm, WebVirtMgr, 公网 IP (内网IP需要端口映射或外网 nginx 代理)
如果没有安装 supervisor 和 nginx, 先安装 nginx 和 supervisor
[Bash shell] 纯文本查看 复制代码
apt-get install nginx supervisor

安装 kvm
请先参考 使用 kvm 安装虚拟机.md 安装 kvm, 主要命令如下
[Bash shell] 纯文本查看 复制代码
apt-get update
apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

安装完成后就可以使用 virsh 命令行工具管理 kvm 虚拟机了,下边介绍安装 WebVirtMgr 网页管理控制台

安装 WebVirtMgr
参考https://github.com/retspen/webvirtmgr/wiki/Install-WebVirtMgr

安装依赖
[Bash shell] 纯文本查看 复制代码
apt-get install git python-pip python-libvirt python-libxml2 novnc

下载并配置 WebVirtMgr
[Bash shell] 纯文本查看 复制代码
mkdir -p /var/www
cd /var/www
git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
pip install -r requirements.txt
./manage.py syncdb
./manage.py collectstatic

配置 nginx,如果有安全证书请使用 https,去掉 # 注释
[Bash shell] 纯文本查看 复制代码
server {
listen 80;
#listen 443 ssl;

server_name kvm.example.com;
#ssl_certificate certs/kvm.example.com.chained.crt;
#ssl_certificate_key certs/kvm.example.com.key;

access_log /var/log/nginx/$host.access.log;

location /static/ {
root /var/www/webvirtmgr/webvirtmgr;
expires max;
}

location / {
proxy_pass [url=http://127.0.0.1:8000;]http://127.0.0.1:8000;[/url]
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
client_max_body_size 1024M; # Set higher depending on your needs
}
}

配置 supervisor,新建 /etc/supervisor/conf.d/webvirtmgr.conf 文件
[Bash shell] 纯文本查看 复制代码
[program:webvirtmgr]
command=/usr/bin/python /var/www/webvirtmgr/manage.py run_gunicorn -c /var/www/webvirtmgr/conf/gunicorn.conf.py
directory=/var/www/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr.log
redirect_stderr=true
user=www-data

[program:webvirtmgr-console]
command=/usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-console -d
directory=/var/www/webvirtmgr
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
user=www-data


修改 webvirtmgr
如果只是自己用,修改 webvirtmgr/conf/gunicorn.conf.py 文件, 修改 workers = get_workers() 为 workers = 1
为了避免安全隐患,修改 vnc 监听单口仅为 127.0.0.1,修改 vrtManager/create.py 文件,将
[Bash shell] 纯文本查看 复制代码
<graphics type='%s' port='-1' autoport='yes' listen='0.0.0.0'>
    <listen type='address' address='0.0.0.0'/>
</graphics>

修改为
[Bash shell] 纯文本查看 复制代码
<graphics type='%s' port='-1' autoport='yes'/>

这样从网页控制台新建的虚拟机的 vnc 默认会监听在 127.0.0.1,只有本地的 websocket 代理可以访问,否则监听在 0.0.0.0 会被任何人通过 vnc 接入。

修改 webvirtmgr 不能访问 127.0.0.1 vnc 的 bug, 修改 console/webvirtmgr-console 文件,修改
[Bash shell] 纯文本查看 复制代码
elif console_socket or re.match('^127\.', console_host):


[Bash shell] 纯文本查看 复制代码
elif console_socket or (re.match('^127\.', console_host) and conntype != CONN_SOCKET):

如果使用安全的 wss 或 nginx 中使用了 https, 则需要修改 webvirtmgr/settings.py 文件,修改如下内容
[Bash shell] 纯文本查看 复制代码
WS_HOST = '0.0.0.0'
WS_PUBLIC_HOST = 'kvm.example.com'
WS_CERT = '/etc/nginx/certs/kvm.example.com.pem'

如果没有 pem 文件,pem 文件可通过 cat kvm.example.com.key kvm.example.com.crt > kvm.example.com.pem 生成。

修改用户权限
[Bash shell] 纯文本查看 复制代码
usermod -a -G libvirtd www-data
chown -R www-data:www-data /var/www/webvirtmgr

启动服务
[Bash shell] 纯文本查看 复制代码
service supervisor restart
service nginx restart

网页控制台测试
使用 netstat -natp 查看,确保 0.0.0.0:80 127.0.0.1:8000 端口已打开
本地使用浏览器访问 kvm.example.com 测试控制台是否安装成功。
登陆时用户名和密码为使用 ./manage.py syncdb 命令创建的用户名和密码。


使用tcp认证连接服务器(使用脚本)

访问kvm.example.com 点击new connection
[Bash shell] 纯文本查看 复制代码
curl [url=http://retspen.github.io/libvirt-bootstrap.sh]http://retspen.github.io/libvirt-bootstrap.sh[/url] | sudo sh
saslpasswd2 -a libvirt fred


使用TCP连接,label填写ip地址,FQDN/IP 填写ip地址,用户名填写第三步设置tcp认证所增加的账号,这里的用户名不用加@hostname,点击添加完成。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-7-17 17:35 , Processed in 0.370082 second(s), 37 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表