Webvirtmgr на Debian Jessie. Веб интерфейс для Linux KVM: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
imported>Vix Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 92: | Строка 92: | ||
# Description: Nova NoVNC proxy | # Description: Nova NoVNC proxy | ||
### END INIT INFO | ### END INIT INFO | ||
-- | |||
'''Настраиваем доступ по ключу ssh''' | |||
su -s /bin/bash www-data | |||
ssh-keygen | |||
ssh-copy-id user@192.168.0.5 | |||
you need to accept add key | |||
exit | |||
'''Настраиваем доступ на хост для webvirtmgr через nginx''' | |||
mcedit /etc/nginx/sites-available/webkvm | |||
# пример рабочего конфиг-файла | |||
server { | |||
listen 192.168.0.5:88; | |||
server_name $hostmane; | |||
location /static/ { | |||
root /varwww/webvirtmgr/webvirtmgr; # or /srv instead of /var | |||
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; # Set higher depending on your needs | |||
} | |||
} | |||
ln -s /etc/nginx/sites-available/webkvm /etc/nginx/sites-enable/webkvm | |||
systemctl restart nginx | |||
Открываем порты | Открываем порты | ||
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT | iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT | ||
iptables -I INPUT 2 -s 192.168.10.0/24 -d 192.168.10.1 -i eth0 -p tcp -m state --state NEW -m multiport --dports 80,6080, | iptables -I INPUT 2 -s 192.168.10.0/24 -d 192.168.10.1 -i eth0 -p tcp -m state --state NEW -m multiport --dports 80,6080,88,16509 -j ACCEPT | ||
invoke-rc.d iptables save | invoke-rc.d iptables save | ||
Веб интерфейс будет доступен по адресу http://example.com: | Веб интерфейс будет доступен по адресу http://example.com:88 | ||
'''Источники:''' | '''Источники:''' |
Текущая версия от 10:17, 21 апреля 2021
Установка необходимых пакетов:
aptitude update aptitude install git python-pip python-libvirt python-libxml2 novnc supervisor qemu-kvm libvirt-bin virtinst sasl2-bin bridge-utils insserv nginx
Настраиваем KVM
vim /etc/default/libvirtd:
libvirtd_opts="-d -l"
vim /etc/libvirt/libvirtd.conf:
listen_tls = 0 listen_tcp = 1
invoke-rc.d libvirtd restart
Делаем сетевой мост для KVM
vim /etc/network/interfaces:
auto br0 allow-hotplug br0 iface br0 inet static address 192.168.10.1 gateway 192.168.10.1 bridge_ports eth0 bridge_stp off bridge_maxwait 0
invoke-rc.d networking stop && invoke-rc.d networking start
Настраиваем webvirtmgr
cd /var/www git clone git://github.com/retspen/webvirtmgr.git
или просто скачиваем архив: webvirtmgr
cd webvirtmgr pip install -r requirements.txt ./manage.py syncdb ./manage.py collectstatic vim conf/gunicorn.conf.py: bind = '0.0.0.0:8000'
chown -R www-data:www-data /var/www/webvirtmgr
Добавляем пользователя, который получит доступ к веб интерфейсу
/var/www/webvirtmgr/manage.py createsuperuser
Потом для того же пользователя
saslpasswd2 -a libvirt user
Статус пользователей
sasldblistusers2 -f /etc/libvirt/passwd.db
vim /etc/supervisor/conf.d/webvirtmgr.conf:
[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 directory=/var/www/webvirtmgr autostart=true autorestart=true stdout_logfile=/var/log/supervisor/webvirtmgr-console.log redirect_stderr=true user=www-data
invoke-rc.d supervisor restart invoke-rc.d supervisor restart
invoke-rc.d novnc stop insserv -r novnc vim /etc/insserv/overrides/novnc:
#!/bin/sh ### BEGIN INIT INFO # Provides: nova-novncproxy # Required-Start: $network $local_fs $remote_fs $syslog # Required-Stop: $remote_fs # Default-Start: # Default-Stop: # Short-Description: Nova NoVNC proxy # Description: Nova NoVNC proxy ### END INIT INFO --
Настраиваем доступ по ключу ssh
su -s /bin/bash www-data ssh-keygen ssh-copy-id user@192.168.0.5 you need to accept add key exit
Настраиваем доступ на хост для webvirtmgr через nginx
mcedit /etc/nginx/sites-available/webkvm # пример рабочего конфиг-файла server { listen 192.168.0.5:88; server_name $hostmane; location /static/ { root /varwww/webvirtmgr/webvirtmgr; # or /srv instead of /var 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; # Set higher depending on your needs } }
ln -s /etc/nginx/sites-available/webkvm /etc/nginx/sites-enable/webkvm systemctl restart nginx
Открываем порты
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -I INPUT 2 -s 192.168.10.0/24 -d 192.168.10.1 -i eth0 -p tcp -m state --state NEW -m multiport --dports 80,6080,88,16509 -j ACCEPT invoke-rc.d iptables save
Веб интерфейс будет доступен по адресу http://example.com:88
Источники: