Repositorio de la práctica 1 de Cloud Computing Servicios y aplicaciones, trabajando con OpenNebula.
|
|
9 vuotta sitten | |
|---|---|---|
| README.md | 9 vuotta sitten | |
| index.php | 9 vuotta sitten | |
| web.png | 9 vuotta sitten |
En este documento se van a detallar las actividades que se han realizado paso por paso durante la realización de las tareas descritas en el guión de la práctica 1, este documento siempre es accesible desde su repositorio en Gogs.
Para este paso vamos a pasar a detallar cada máquina virtual que vamos a crear en OpenNebula.
Vamos a detallar cómo hemos creado una instáncia de Ubuntu mediante línea de órdenes. En primer lugar es necesario conectarnos mediante ssh al servidor y loguearnos en OpenNebula desde línea de órdenes para ello sólo tenemos que ejecutar este par de comandos
ssh mmcXXXXXXXX@docker.ugr.es
oneuser login mccXXXXXXXX --ssh --force
Una vez hemos accedido al servidor y nos hemos logueado en OpenNebula podemos realizar varias acciones, en nuestro caso particular vamos a observar las imágenes que están disponibles en OpenNebula con este comando:
oneimage list
Y se nos mostrarán las imágenes de las que dispone el servidor en nuestro caso podemos fijarnos en la siguiente:
ID USER GROUP NAME DATASTORE SIZE TYPE PER STAT RVMS
10 oneadmin users Ubuntu-14.04 default 10G OS No used 2
Esta línea nos indica que existe una imagen de Ubuntu que en líneas generales es lo que estabamos buscando, ahora es necesario crear una plantilla para crear una instancia con esa imagen pero antes es necesario crear una red virtual o saber su identificador si ya está creada, en este caso ya está creada y lo podemos observar con el comando:
onevnet list
Y se nos mostrará la lista de todas las redes virtuales a las que tenemos acceso buscamos la que hace referencia a nosotros, en nuestro caso es la vnet con ID: 221 una vez tenemos todos los datos vamos a crear la plantilla con este comando:
onetemplate create --name "Plantilla_Ubuntu14" --cpu 1 --vcpu 1 --memory 512
--arch x86_64 --disk 10 --nic 221 --ssh --net_context
Vamos a detallar los parámetros que hemos escrito:
La ejecución del comando nos ha retornado el identificador de la plantilla que en este caso es 596, para instanciar una máquina virtual asociada a esta plantilla sólo es necesario lanzarla con el siguiente comando:
onetemplate instantiate 596
Cuando el comando termina su ejecución nos devolverá un identificador de máquina virtual que en nuestro caso es 714, ya tenemos nuestra máquina desplegada vamos a pasar ahora a configurar el servicio web dentro de la misma, para ello accedemos a la máquina a través de estos comandos:
onevm show 714
ssh root@192.168.10.75
el primer comando nos retorna la información asociada a nuestra máquina virtual mientras que el segundo se conecta como root a la ip que hemos obtenido con el comando anterior. Ahora ejecutamos la instalación de nginx, ya que hemos instalado una versión de ubuntu para instalar nginx ejecutamos las siguientes ordenes:
apt-get update
apt-get install php5-common php5-cli php5-fpm php5-dev php5-cli php-pear
apt-get install nginx
pecl install mongo
Seguiremos este tutorial para configurar mongodb en php.
Ya deberíamos poder acceder a la página principal de nuestro servidor web, para ello accedemos al siguiente enlace, http://docker.ugr.es:15075 Una vez hemos comprobado que el servidor web funciona de manera correcta continuamos añadiendo una página php simple que se conectará a la base de datos de la máquina que vamos a crear a continuación.
de la misma forma que antes creamos la plantilla e instanciamos la máquina e instalamos mongodb, ejecutando los siguientes comandos:
onetemplate create --name "Plantilla_CentosCC" --cpu 1 --vcpu 1 --memory 512 --arch x86_64 --disk 8 --nic 221 --ssh --net_context
onetemplate instantiate 599
ssh root@192.168.10.74
yum update
vi /etc/yum.repos.d/mongodb-org.repo
Al ejecutar vi o nano incluimos el siguiente código en el fichero(extraido de DigitalOcean):
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Antes de lanzar mongo es necesario al menos en CentOS abrir el puerto de escucha 80 para ello podemos seguir los pasos que se describen aquí Guardamos el fichero y ejecutamos los siguientes comandos:
yum repolist
yum install mongodb-org
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 80 -j ACCEPT
service iptables restart
mongod --port 80 &
Ya que hemos configurado y ejecutado todo vamos apasar a incorporar nuestra aplicación web en html+php en el servidor nginx que hemos desplegado, para ello y ya que lo hemos subido a un repositorio de git público utilizamos el comando wget para descargarnos los ficheros, aún así nginx necesita algunas configuraciones que se pueden consultar en la siguiente página Una vez hemos realizado todas las configuraciones descargamos nuestra aplicación web sencilla en el directorio /usr/share/nginx/html en nuestro caso con el siguiente comando:
wget https://makefile.es:3000/okynos/Practica1CC2/raw/master/index.php --no-check-certificate
Nos descargará el fichero index.php directamente de mi repositorio git público. Si todo está bien configurado y conectado deberá aparecer una página como la siguiente:
En la cual podemos observar los registros de la base de datos, insertar y borrar los mismos.
La aplicación consiste en un sistema simple de consulta y edición de registros de una base de datos MongoDB, la aplicación consta de un formulario de introducción de datos muy sencillo en el que se introduce el nombre y el correo electrónico de la persona que deseemos registrar en el sistema, al pulsar el botón enviar, se almacenará en nuestra base de datos el registro asociado y se mostrará en la misma página como resultado de una consulta. La base de datos consta de una tabla llamada Test y una colección llamada elements dentro de esa colección se almacena por cada registro un identificador, un nombre y un email.