iaas-ull-es

Como Desplegar una Aplicación Web en iaas.ull.es


Project maintained by SYTW Hosted on GitHub Pages — Theme by mattgraham

Table of Contents generated with DocToc

Como Desplegar una Aplicación Web en iaas.ull.es

Acceso al servicio

Para acceder al servicio, todos los usuarios (tanto los responsables como los usuarios finales) accederán a https://iaas.ull.es, donde seleccionarán la opción Portal del usuario.

Panel https://iaas.ull.es/mismaquinas

En 2018 el STIC ha desplegado un panel accesible en [1], que permite listar las máquinas que son propiedad o que tienen permisos de uso por parte del usuario que se autentica. Tras autenticarse, a dicho usuario le aparecerán las máquinas a las que tiene acceso, conjuntamente con algunos datos, como su estado (encendida, apagada…), el sistema operativo y especialmente las IPs de las tarjetas de red.

Esto sirve para que los usuarios no tengan que entrar al panel de IaaS, conectarse a la máquina virtual y ejecutar algún comando para ver la IP de la máquina para posteriormente conectarse por SSH. Ahora ya les aparecerá en el panel y pueden saber la IP directamente.

Toda esta información ha sido actualizada ya en los documentos correspondientes ([2], [3], [4]).

  1. https://iaas.ull.es/mismaquinas
  2. https://goo.gl/tAF4am
  3. https://goo.gl/noagxg
  4. https://goo.gl/D6Sw7L

Recuerde estar autenticado en la ULL

Recuerde que dentro de la ULL deberá haber entrado previamente a https://acceso.ull.es, esto es estar autenticado como miembro de la ULL y desde fuera de la ULL usando la VPN de la ULL

Incidencia en Octubre de 2018

¡La IP que aparece en el panel no es la correcta! Esto es un problema que tienen las Ubuntu 18, y es que cuando renueva los leases DHCP al parecer no quita las IPs anteriores, con lo cual las IPs se duplican y varias máquinas tienen la misma IP.

La solución:

En la interfaz web deben escribir:

  sudo netplan apply

y después

  ip a

para saber la IP correcta

Acceso a https://iaas.ull.es

Autenticandose

Una vez autenticado le saldrá el menú con su panel de máquinas:

Panel de las máquinas

Al pulsar sobre connect se abrirá una terminal en el navegador:

Terminal en el navegador

Opciones de Consola

Si tiene problemas conectándose a la máquina repase las opciones del campo Console:

Opciones de la Consola

Acceso por SSH y Credenciales

Serán requeridas las credenciales de la ULL; es decir, este servicio será exclusivo para la comunidad universitaria

Averiguar la IP de la máquina virtual

usuario@SYTW:~/src/sytw$ ifconfig
eth0      Link encaa:Ethernet  direcciónHW aa:aa:aa:aa:aa:aa  
          Direc. inet:55.5.555.55
$ ssh 55.5.555.55

Véase la sección incidencia en Octubre de 2018

Conectarse desde fuera de la ULL: VPN ULL

Tutorial sobre como usar el Servicio VPN de la ULL

Configure la ssh de su portátil/desktop para acceder a su máquina del iaas

  1. Genere una clave rsa en su portátil (limitación en 2018: tiene que ser rsa)
~/.ssh(master)]$ ssh-keygen -trsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/casiano/.ssh/id_rsa): miclave
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in miclave.
Your public key has been saved in miclave.pub.
  1. Añada una entrada en su fichero ~/.ssh/config:
# PL 17/18
# iaas.ull.es
Host pl1718
HostName 11.1.111.111
user usuario
IdentityFile /Users/casiano/.ssh/miclave
## send the signal every four minutes
ServerAliveInterval 240
  1. Publique la clave en su máquina iaas
usuario@ubuntu:~/.ssh$ cd .ssh/
usuario@ubuntu:~/.ssh$ vi authorized_keys

añada los contenidos de miclave.pub

Puertos abiertos en las Máquinas Virtuales

Descripción de las máquinas

Que suele estar instalado

Lo que está instalado en las máquinas depende del tipo de plantilla que haya solicitado el profesor para el curso. De todos modos, como tenemos permisos de administración no es mucho problema instalar cualquier software que nos falte.

Lo que sigue es la descripción de una máquina típica correspondiente a una plantilla de servidor.

Si queremos actualizar git:

apt-get install git

Configure el cliente ssh para trabajar con GitHub

usuario@ubuntu:~/.ssh$ ssh-keygen -tdsa
...
usuario@ubuntu:~/src/pl$ vi ~/.ssh/config
...
usuario@SYTW:~/src/sytw$ cat ~/.ssh/config
Host github.com
HostName github.com
user git
IdentityFile /home/usuario/.ssh/miclaveparagithub

Desplegando una aplicación Web en su máquina del iaas

var express = require('express')
var app = express()
var path = require('path');

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(express.static('public'));

app.get('/', function (req, res) {
  //res.send('Hello World!')
  res.render('index', { title: 'Express' });
})

/*
 var router = express.Router();
  module.exports = router;
*/
app.get('/chuchu', function (req, res) {
  //res.send('Hello Chuchu!')
  res.render('index', { title: 'Chuchu' });
})

app.get('/cat', function (req, res) {
  res.send('Got a GET request'+
    '<br/><img src="kitten.jpg" />'
  );
})

app.get('/dog', function (req, res) {
  res.sendFile(path.join(__dirname, 'public/dog.jpg'));
});

var server = app.listen(8080, function () {

  var host = server.address().address
  var port = server.address().port

  console.log('Example app listening at http://%s:%s', host, port)

})

Cambiamos port de escucha a 80:

usuario@SYTW:~/src/sytw$ cd express-start/
usuario@SYTW:~/src/sytw/express-start$ cd hello/

usuario@SYTW:~/src/sytw/express-start/hello$ vi hello.js
usuario@SYTW:~/src/sytw/express-start/hello$ # cambiamos port de escucha a 80

usuario@SYTW:~/src/sytw/express-start/hello$ cat hello.js

Instalando dependencias

Ejecución de un servicio

usuario@ubuntu:~/src/pl/express-start/hello$ which node
/home/usuario/.nvm/versions/node/v9.4.0/bin/node
usuario@ubuntu:~/src/pl/express-start/hello$ sudo /home/usuario/.nvm/versions/node/v9.4.0/bin/node hello.js
Example app listening at http://:::80

Visitando la Aplicación

Visitando con el navegador la página

Referencias