sábado, 25 de abril de 2015

Dominios

​Finalmente llegamos a la parte en la que se puede hacer público nuestro trabajo o al menos de una forma fácil de acceder. Esto se logra a través del link, URL o dirección que se le otorgue al proyecto, lo cual se consigue a través de un dominio.


Antes de arrancar, quiero primero dejar claro 3 conceptos básicos que usaré más adelante:
  • Internet Protocol (IP): Es un número único con el cual se identifica una computadora conectada a una red privada o pública.
  • Puerto: Es el número que estará asociado al proyecto y gracias a este junto a la dirección IP, podremos acceder a nuestro proyecto local y remotamente.
  • Domain Name System (DNS): Es el sistema que permite traducir el URL en el identificador del proyecto (una dirección IP y un puerto).
Ya con esto en mente, podemos entender lo que ocurría en post anteriores cuando teníamos acceso a nuestros proyectos con MEAN.js y Rails, ya que en ambos casos les comentaba que requerían acceder al navegador y usar un link de la forma localhost:3000, donde localhost es un alias al IP 127.0.0.1 (este IP hace referencia a tu propia computadora) y 3000 es el puerto que hace referencia a nuestro proyecto.

Ahora bien, para tener acceso remotamente lo que se necesita hacer es conocer tu IP y puerto por el cual la aplicación escucha las peticiones. Dentro de nuestro proyecto podemos cambiar el puerto usado, pero atención, porque existen una serie de puertos reservados para uso del sistema y otras aplicaciones, además de unos permisos que debes modificar.

El siguiente paso es asignar un dominio a nuestra dirección y esto lo logramos contratando el servicio de una empresa como Go Daddy, en ella verán una interfaz como esta al registrarse:


Y luego acceden a su lista de dominios -> seleccionan (o compran) uno -> administrar -> Archivos de zona DNS y verán esta ventana:


En ella notarán 2 secciones que realmente nos interesan:
  • A (Host):Son registros que simplemente apuntan un nombre de dominio o subdominio a una dirección IP.
  • CNAME (Alias): Son los registros que apuntan un subdominio a un registro A (host) existente, para que el subdominio se resuelva hacia la dirección IP adecuada.
Y aquí es donde existirá una diferencia cuando proporcionemos al sistema los datos, porque podemos tener:

1 - Dominio usando tu propia computadora como Host

Lo único que necesitamos es crear un registro con la IP de nuestra computadora e indicar como queremos que sea de tipo Host y un valor do Host como por ejemplo el famoso www.
Después de esto esperamos unos minutos (horas algunas veces) y podremos acceder a nuestra aplicación con nuestro dominio con el Host que establecimos, por ejemplo www.lattke.org.

2 - Usando Heroku

Ya que también conocemos esta herramienta, les comento los pasos básicos, que también son muy fáciles:
  • Primero creamos un registro tipo CNAME con el Host que apunte al link de la aplicación, por ejemplo fathomless-plateau-6378.herokuapp.com y que haga referencia al host que deseamos por ejemplo www.
  • Segundo le avisamos a nuestra aplicación en Heroku que tiene un dominio nuevo y lo hacemos ejecutando el comando heroku domains:add www.lattke.org.
  • Nuevamente esperamos un tiempo a que se actualicen todas la tabla de DNS y podremos acceder en línea a nuestra aplicación bajo nuestro dominio personalizado.
Para mucha más información sobre este caso consulta la documentación oficial.

3 - Usando Github.io

Esta es otra herramienta que nos brinda Github, esta da la posibilidad de usar el dominio github.io con nuestro nombre de usuario y tener paginas web en línea muy fácilmente. Para este caso necesitamos primeramente configurar nuestra página siguiendo los pasos como nos lo indica la documentación oficial de Github.io. Este último requiere realmente sólo 4 sencillos pasos:
  • Nombre del proyecto igual al nombre de usuario seguido de .github.io
  • Tener tu archivo index.html en la carpeta de origen.
  • Agregar un archivo llamado CNAME con el link que deseas que tenga tú página, por ejemplo tony.lattke.org
  • Subir los archivos al repositorio.
Ahora sólo necesitas hacer lo siguente en Go Daddy:
  • Crear un registro tipo Host con la IP apuntando a 192.30.252.153 (esta es la IP de Github.io) e indicar el valor del Host que deseamos (en mi caso tony, porque quiero que mi página se le pueda acceder bajo el link tony.lattke.org).
  • Crear otro registro del tipo CNAME para indicar el Host nombre_usuario.github.io (en mi caso tonylattke.github.io) y que apunte a tu Host (en mi caso a tony).
Otras posibilidades

  • En un post comentaba la posibilidad de usar Dropbox para publicar nuestras páginas web y si recordamos esto lo lograba a través del uso de la carpeta pública. Ahora bien estos links también los podemos disfrazar usando nuestro dominio y lo único que necesitas hacer es acceder al menú de configuración del dominio, luego la sección reenvío y seleccionas administrar, seleccionas que deseas agregar un reenvío y veras una ventana como esta:


  • Luego agregas el link y tendrás el archivo bajo este dominio.

  • Google drive permite igualmente agregar archivos HTML y permitir visualizarlos en el navegador. Lee esta información para saber como compartir tus páginas con Google.
Ya con este post logre terminar todo lo que postule en el primer post :) ahora en próximos tutoriales hablaré sobre los Frameworks Web que me quedaron pendientes Django, Yesod y Catalyst.

Como siempre, si algo no queda muy claro siempre me pueden escribir a mi correo tonylattke@gmail.com o también pueden dejar comentarios al final de este post y trataré de ayudarles lo antes posible.

No hay comentarios:

Publicar un comentario