gitbook-ssl-rafadanipedro
v1.1.1
Published
Plugin para desplegar practica en el servidor del IAAS usando SSL y el paquete gitbook-start-rafadanipedro
Downloads
8
Readme
Práctica: Añadir HTTPS al servidor del libro. Práctica 10 de SYTW
Tutorial paso a paso
En el caso de esta práctica, no se debe instalar ni utilizar nada externo a este paquete, ya que se servirán las páginas siempre de manera segura.
Por defecto, se utiliza el puerto 8080, el cual nos redirige al puerto que hayamos detallado en las preguntas de la consola cuando lo desplegamos.
Requisitos previos
Tienes que tener los paquetes de
sqlite
en la máquina remota.sudo apt-get install sqlite3 libsqlite3-dev
Tienes que tener
node
en el$PATH
. A veces cuando lo instalamos no se añade al$PATH
, por ejemplo cuando lo instalamos connvm
.
Tutorial autenticación LocalStrategy y Base de Datos
Lo primero que debemos de hacer es instalar el plugin usando el paquete gitbook-start-github-rafadanipedro
Para usarlo junto al plugin, ejecutamos el siguiente comando:
gitbook-start --deploy="plugin-iaas-database-rafadanipedro"
Al instalar, se irá preguntando la configuración, por ejemplo:
? Cual es tu username del Iaas: rafa
? Cual es la ruta de tu clave privada: ~/.ssh/id_rsa
? Cual es el directorio del Iaas: /home/rafa/miProyecto
? Cual es tu direccion ip: 95.122.54.178
? ¿De que manera quieres autenticarte?:
- [ ] Github
- [ ] Local
- [X] BaseDatos
? Escribe los correos separados por comas ([email protected], [email protected]) [email protected], [email protected], [email protected]
Una vez hecho esto, el plugin desplegará un servidor de Express en la IP configurada. Además, se añadirán las tareas correspondintes a tu gulpfile.js
.
Intenta navegar a la IP de tu máquina, debería decirte que tienes que desplegar el libro.
Ahora despliega con gulp IaasPassportRafadanipedro
, y debería desplegar tu libro en la máquina remota.
Generar token con Dropbox (si se usa Dropbox)
Para que podemos almacenar los datos de los usuarios, necesitamos almacenarlos en Dropbox, por lo que necesitamos el token de neustra token. Entramos a https://www.dropbox.com/developers/apps, cremos una nueva aplicación y generamos un token. En la ronda de preguntas, introducimos el token de Dropbox.
Uso con LocalStrategy
En el caso de utilizar el registro con LocalStrategy, se nos creará por defecto un archivo db.json
en el cuál contendrá los correos introducidos en la terminal y las contraseñas cifradas, las cuales son por defecto 1234
.
La primera vez que iniciemos sesión, se requerirá que el usuario cambie la contraseña, ya que no admitimos 1234
como contraseña. Una vez cambiada, deberemos cerrar sesión accediendo a /logout
. A continuación, ya podremos iniciar sesión sin problemas
Cerrar sesión y cambio de contraseña
Para cerrar la sesión de nuestro usuario, tenemos que acceder a /logout
. En caso de querer cambiar la contraseña, tenemo que acceder a /login/password
.
Tutorial autenticación con Github
Lo primero que debemos de hacer es instalar el plugin usando el paquete gitbook-start-github-rafadanipedro
Para usarlo, ejecutamos el siguiente comando: gitbook-start --deploy="plugin-iaas-oauth-rafadanipedro"
Al instalar, se irá preguntando la configuración, por ejemplo:
? Cual es tu username del Iaas: rafa
? Cual es la ruta de tu clave privada: ~/.ssh/id_rsa
? Cual es el directorio del Iaas: /home/rafa/miProyecto
? Cual es tu direccion ip: 95.122.54.178
? ¿De que manera quieres autenticarte?:
- [X] Github
- [ ] Local
- [X] BaseDatos
? Entre en esta direccion para crear una OauthApplication en Github https://github.com/settings/developers y escribe "confirmar" para continuar: confirmar
? Cual es el clientID:
? Cual es el clientSecret:
? Cual es la organizacion a la que perteneces: ULL-ESIT-GRADOII-DSI
Una vez hecho esto, el plugin desplegará un servidor de Express en la IP configurada. Además, se añadirán las tareas correspondintes a tu gulpfile.js
.
Intenta navegar a la IP de tu máquina, debería decirte que tienes que desplegar el libro.
Ahora despliega con gulp IaasPassportRafadanipedro
, y debería desplegar tu libro en la máquina remota.
Configurar claves ssh
Primero, generaremos un par de claves ssh para poder acceder a nuestro servidor sin necesidad de poner contraseña. Lo haremos con:
ssh-keygen -t rsa -b 2048
Presionamos enter hasta que termine, puesto que no nos interesa cambiar los parámetros por defecto. Ahora copiamos nuestra clave en el servidor con:
ssh-copy-id usuario@direccion-servidor-iaas
Instalación de paquetes necesarios
Para poder correr nuestro libro correctamente, tenemos que tener instalado en nuestra máquina Node.js y npm
. En el caso del IAAS ULL, esto ya viene instalado por defecto, pero por si queremos utilizarlo en otro servidor, estos son los pasos a seguir:
- Instalamos
nvm
, que nos permite instalar la versión que queramos de Node.js. Seguimos los pasos descritos en la sección deInstall script
del README del repositorio de nvm. - Una vez instalado
nvm
, ejecutamos el comandonvm install node
para instalar la última versión disponible de Node.js.
Al instalar Node.js, npm
ya se encuentra por defecto.
Tutorial para crear una OauthApplication
Para permitir que una aplicación web pueda acceder a la plataforma Github, hay que darle un permiso de authenticación Oauth. Para conseguirlo se debe ingresar en el siguiente enlace: Enlace Oauth.
Para realizar la aplicación, se deben realizar una serie de pasos:
- Registrar la nueva aplicación.
- Una vez se accede al menú de registro de nueva aplicación, se debe añadir un nombre a a la aplicación.
- A continuación, se debe añadir el enlace de la aplicación principal.El enlace debe tener el siguiente formato:
http(s)://hostname
- Finalmente, se añade una pequeña descripción a la aplicación creada y se le añade la authorization callback url que debe tener el siguiente formato:
http(s)://hostname/auth/github_oauth/callback
- Cuando la aplicación ya ha sido creada, se puede acceder a la misma y utilizar el clientId y el clientSecret para poder realizar la autenticación mediante Oauth.
Descripción de la práctica
Páginas personales
Pinchando sobre las imágenes podrás acceder a nuestras páginas personales.