• CentOS 7搭建KVM在线管理面板WebVirtMgr


    系统版本:CentOS 7.4

    WebVirtMgr版本:master分支的20180720版本,下载链接(链接:https://pan.baidu.com/s/1kl060hPHDGbwJUR_iMFb3Q  密码:iozj)

    用到的目录:/data/service/nginx,/data/service/nginx_vhost/,/data/service/webvirtmgr

    安装成功并成功运行的标志位:/var/log/supervisor/supervisord.log,/var/log/supervisor/webvirtmgr-console.log这两个日志文件会自动生成。

    说明:其实网上流传了很多安装的版本,基本都非常乱,要不是这里加一句没用的,就是那里根本不用这么复杂的配置,记住,一切的安装配置以官方文档为准,并且官方这么少的配置都能成功时,自己更应该注意有没有配置错误等问题。

    注意:整篇文章未改动过官方的过多配置,如果你运行不起来,那么90%都出在权限以及权限组上!下面安装的步骤都是使用root账号。

    一、准备工作

    0、准备操作:

    ##关闭selinux
    # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config   #修改配置文件则永久生效,但是必须要重启系统。
    ##生效命令
    # setenforce 0

    1、设置目录并安装nginx

    git clone http://github.com/easonjim/centos-shell.git
    cd centos-shell/directory
    sh init-directory.sh
    cd ../../
    cd centos-shell/nginx
    sh install-nginx_1.14.0.sh
    cd ../../

    2、安装kvm(这一步不要求按照这个,只需要安装成功即可)

    cd centos-shell/kvm
    sh install-kvm_centos_7.sh

    参考:https://www.cnblogs.com/EasonJim/p/9150733.html

    3、安装WebVirtMgr依赖

    yum install epel-release
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 这一步的epel源是关键,如果安装不成功,那么下面的依赖也会安装不成功 yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx yum -y install gcc python-devel pip install numpy

    4、正式安装WebVirtMgr并配置超级登录用户

    cd /data/service
    git clone git://github.com/retspen/webvirtmgr.git cd webvirtmgr pip install -r requirements.txt ./manage.py syncdb ./manage.py collectstatic

    说明:如果上面的版本不能安装,那么建议下载离线版本,随着时间的推移,不保证会不会改变。

    配置超级用户,信息类似如下:

    You just installed Django's auth system, which means you don't have any superusers defined.
    Would you like to create one now? (yes/no): yes (Put: yes)
    Username (Leave blank to use 'admin'): admin (Put: your username or login)
    E-mail address: username@domain.local (Put: your email)
    Password: xxxxxx (Put: your password)
    Password (again): xxxxxx (Put: confirm password)
    Superuser created successfully.

    如果想再增加多一个超级用户,可以再执行如下命令:

    ./manage.py createsuperuser

    配置信息类似如上所示。

    5、设置nginx

    vi /data/service/nginx_vhost/webvirtmgr.conf
    server {
        listen 8001;
    
        server_name $hostname;
        access_log /data/weblog/nginx/webvirtmgr_access_log;
    
        location /static/ {
            root /data/service/webvirtmgr/webvirtmgr;
            expires max;
        }
    
        location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
            proxy_send_timeout 600;
            client_max_body_size 1024M;
        }
    }
    service nginx restart

    6、配置supervisord服务

    设置权限

    chown -R nginx:nginx /data/service/webvirtmgr

    其实是在supervisord服务增加webvirtmgr进程的启动,依赖这个服务而已。

    # 开机自启
    systemctl enable supervisord

    增加进程启动配置

    vi /etc/supervisord.d/webvirtmgr.ini
    [program:webvirtmgr]
    command=/usr/bin/python /data/service/webvirtmgr/manage.py run_gunicorn -c /data/service/webvirtmgr/conf/gunicorn.conf.py
    directory=/data/service/webvirtmgr
    autostart=true
    autorestart=true
    logfile=/var/log/supervisor/webvirtmgr.log
    log_stderr=true
    user=nginx
    
    [program:webvirtmgr-console]
    command=/usr/bin/python /data/service/webvirtmgr/console/webvirtmgr-console
    directory=/data/service/webvirtmgr
    autostart=true
    autorestart=true
    stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
    redirect_stderr=true
    user=nginx

    重启服务

    service supervisord restart

    7、权限设置(重点),也是设置Local登录的一种方式

    增加权限组

    groupadd libvirtd

    增加用户到权限组

    usermod -a -G libvirtd root
    usermod -a -G libvirtd nginx

    设置kvm服务libvirtd启动权限

    vi /etc/libvirt/libvirtd.conf

    增加权限启动配置

    vi /etc/polkit-1/localauthority/50-local.d/50-org.libvirtd-group-access.pkla
    [libvirtd group Management Access]
    Identity=unix-group:libvirtd
    Action=org.libvirt.unix.manage
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes

    最后重启服务

    service libvirtd restart
    service supervisord start

    上面的权限检查:

    ①、确定是否已libvirtd组启动licvirtd服务

    ls -l /var/run/libvirt/libvirt-sock
    srwxrwx--- 1 root libvirtd 0 févr. 12 16:03 /var/run/libvirt/libvirt-sock

    ②、确定WebVirtMgr启动的用户

    ps -ef | grep run_gunicorn | awk 'NR==1{ print $1 }'
    nginx

    ③、确定用户已经加入到libvirtd组

    groups root
    libvirtd groups nginx
    libvirtd

    8、配置到这里基本全部配置完成,可以直接使用Local添加运行

    登录http://x.x.x.x:8001

    放心,如果按照以上配置绝对可以运行的起来,已经测试了100+台。

    参考:

    https://github.com/retspen/webvirtmgr/wiki/Install-WebVirtMgr(官方配置文档)

  • 相关阅读:
    从零开始学安全(四十四)●TCP三次握手四次挥手
    从零开始学安全(四十三)●Wireshark分析ICMP(IP)协议
    从零开始学安全(四十二)●利用Wireshark分析ARP协议数据包
    从零开始学安全(四十一)●初识Wireshark
    从零开始学安全(四十)●上传文件MIME类型绕过漏洞防御
    从零开始学安全(三十九)●FCK编辑器解析漏洞
    《Web安全深度剖析》
    从零开始学安全(三十八)●cobaltstrike生成木马抓肉鸡
    从零开始学安全(三十七)●VM汇编环境搭建
    C#继承练习2
  • 原文地址:https://www.cnblogs.com/EasonJim/p/9592751.html
Copyright © 2020-2023  润新知