En esta entrada vamos a ver como instalar un panel web para la gestión de nuestras maquinas virtuales en nuestro serviidor host, esto nos permitará tanto crearlas, como borrarlas, dotarlas de mas capacidad, etc.

1- Para ello lo primero que vamos a hacer es instalar los siguientes paquetes necesarios para ponerlo en marcha:

# apt-get install git python-pip python-libvirt python-libxml2 novnc supervisor apache2

2- Ahora lo que vamos a hacer es clonar los repositorios de github en nuestro servidor y ejecutaremos los siguientes scripts de python de la siguiente manera:

$ git clone git://github.com/retspen/webvirtmgr.git
$ cd webvirtmgr
# pip install -r requirements.txt (lo hacemos como root)
$ ./manage.py syncdb
$ ./manage.py collectstatic

Si queremos añadir ortro usuario a parte del que creamos con los scripts anterioes podemos hacerlo con el siguiente comando:

$ ./manage.py createsuperuser

3- El siguiente paso es crear el virtualhost para que a través del navergador podamos acceder a las maquinas virtuales.

Antes que nada debemos de activar en apache los siguentes modulos:

# a2enmod proxy
# a2enmod proxy_http

Leugo creamos el virtualhost con el siguiente contenido:

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin admin@example.com
ServerName domino.com
ServerAlias dominio.com

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/


# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Habilitamos el sitio y recargamos apache:

# a2ensite vm.conf
# service apache2 restart

4- A continuación debemos de ejecutar los programas para que la interfaz web y para la consola con los comandos que tenemos abajo:

$ screen python manage.py run_gunicorn -c /ruta/webvirtmgr/conf/gunicorn.conf.py
$ screen python /ruta/webvirtmgr/console/webvirtmgr-console

Nota: Se deben ejecutar con el usuario que ha creado los repositorios en el servidor.

Para asegurarnos de que cada vez que reiniciamos el servidor estos comandos se ejecuta lo mentemos en el crontab del usuario con el que hemos hecho la operación de la siguiente forma:

Abrimos el crontab:

$ contrab e

Y luego añadimos las siguientes líneas:

@reboot python manage.py run_gunicorn -c /srv/webvirtmgr/conf/gunicorn.conf.py
@reboot python /srv/webvirtmgr/console/webvirtmgr-console

5- Por último accedemos al panel web por fin con el nombre de dominio que le hemos otorgado, nos logueamos con el usuaro y contraseña que hicimos al principio:

Una vez dentro hacemos clic en “add connection” y luego en el botón “local socket” y escribimos el nombre que queramos para la conexión y le pinchamos en “Add“:

 

Y ya tenemos nuestra conexión a las maquinas virtuales de nuestro servidor, haciendo clic en el nombre de la conexión nos llevará a todas las máquinas que tenemos creada y al panel donde podemos crear más y donde veremos los recursos, las imagens, hacer snapshot, apagar, encender y multitud de cosas.

 

 

Categories: KVMLinux

Related Posts

Linux

Actulización de Debian Jessie 8 a Debian Stretch 9

  En la siguiente entrada vamos a ver como actualizar nuestra versión de Debian Jessie a Debian Stretch, el proceso es algo muy sencillo y se hace en pequeños pasos como vamos a ver ahora: Read more…

Bases de Datos

OwnCloud en Alta Disponibilidad.

INSTALACION DE OWNCLOUD EN ALTA DISPONIBILIDAD Lo que vamos a hacer a continuación es crear una alta disponibilidad para Owncloud. Owncloud es un sistema de almacenamiento y aplicaciones en línea. nuestro objetivo es lograr un Read more…

Linux

Como obtener un certificado HTTPS para tu dominio inmediatamente con let’s encrypt

En una entrada anterior explicamos como conseguir un certificado https para un dominio. Resultó ser un proceso que requería de un servidor de correo y esperar varios días, pero hace poco ha aparecido un nuevo Read more…