Dónde está alojada esta página web?

Raspi_Colour_R-248x300Actualización (20/11/2014): Desde mediados de Noviembre de 2014 he pasado de utilizar la Raspberry PI como servidor de la página web a utilizar un hosting externo, principalmente para garantizar una cierta calidad de navegación a los usuarios como tú. Aún así, dejo la entrada para el que tenga curiosidad =)

Hace cosa de un par de años, terminando la carrera, decidí que no era mala idea disponer de mi propia página web, en la que poder tener “almacenada” mi trayectoria profesional y a la que pudiera consultar o incluso compartir el día de mañana con quien quisiera.

Uno de los motivos que me animó a hacerla, fue ver la de un tal Daniel Clemente. Me pareció que aportaba muchas cosas interesantes. No sólo agrupaba su experiencia en los estudios y en la vida laboral, si no que era un pequeño rincón en el que dejar constancia de aquello que le gustaba, le interesaba, etc…

La primera versión de mi página web estaba alojada en un servicio de hosting llamado Jimdo, que por cierto, recomiendo encarecidamente para todo aquel que quiera disponer de su propia página web, ya tenga algún tipo de experiencia en temas informáticos, o sea bastante inexperto.

Jimdo lo hace todo facilísimo, tiene una integración fabulosa con otros servicios como Dropbox, YouTube,etc… y unas plantillas de lo más curradas.

Así fue hasta hace unos meses (esto lo escribo en Abril de 2014), momento en el que adquirí una Raspberry PI. En general me gusta probar todo tipo de gadget tecnológicos, y a sabiendas de la enorme comunidad que había detrás de la PI, del precio al que estaba en Amazon (37€ el modelo B),  y que me permitiría adentrarme un poco más en el mundo de Linux, decidí que quería probar con una.

Pues bien, una de las primeras cosas que me planteé tras haber visto de lo que era RaspiModelB-1024x902capaz durante los primeros días, era precisamente que ya no necesitaba disponer de un servicio de hosting externo: Mi propia Raspberry PI podía proporcionármelo con un consumo mínimo y un control total de mi página web (además de aprender un montón y entreterme alguna tarde de frío y lluvia.

 Así que, me puse manos a la obra. Por suerte, hay gran cantidad de guías, tutoriales, y foros en los que se puede apoyar uno para tener su web accesible desde la Raspberry PI.

Para poder poner en marcha una web basada en WordPress (como esta) hace falta lo siguiente:

– La propia plataforma WordPress => Aquí para descargar la última versión.

– Sistema de gestión de bases de datos => He utilizado MySQL

– Servidor HTTP => En mi caso, he usado Apache

Estas guías son algunas de las que he utilizado para ponerlo en marcha:

– Setting up a personal Website (En esta guía instalan Lighttpd en vez de Apache como servidor HTTP)

– Setting up a wordpress site on raspberry

– Raspberry pi web server speed optimisation

Siguiendo estas y otras guías, se puede tener en muy poco tiempo una web accesible por ejemplo desde tu propia red local de casa. Pero… si es una página web, supongo que la idea es que sea accesible desde cualquier lugar del mundo, no?

IMG_20140215_140122-1024x757

Dentro de esta pequeña caja, está este servidor web!

Para esto, hace falta realizar unos pocos pasos más:

  1. Establecer una IP fija dentro de la LAN local de nuestra casa (ej: 192.168.0.200), de forma que nos aseguremos de que su dirección es siempre la misma. Además, recomiendo ponerla en una IP contenida en algún rango en el que nuestro router no sea capaz de asignar por DHCP la misma a otro equipo, o tendríamos problemas.
  2. Para hacerla accesible desde el exterior, hace falta configurar la redirección de puertos en el router que nos da acceso a internet. Esto nos permite acceder al servidor web de la Raspberry PI a través de la IP externa del router y un puerto concreto (que no tiene porqué ser el mismo por el que se acceda al servidor web. Ej: 48500->443(HTTPS)).
  3. Aún queda otro paso más. Por lo general, los ISP suelen proporcionar IP’s dinámicas, es decir, que cambian cada cierto tiempo. Esto quiere decir, que es posible que entrando a nuestra web a través de la IP 85.60.163.27  (por poner un ejemplo) estemos intentando acceder al router de otra persona. Además, tampoco es cómodo compartir una IP para que otra gente pueda acceder a nuestra web. Este último escollo se puede solventar con un servicio de DNS gratuito como es NOIP. Este servicio, nos permite asociar la IP de nuestro router a un nombre de dominio, como el de davidmodrono.no-ip.org. Además, instalando un cliente en la Raspberry, permite que cada cierto tiempo esta compruebe si la IP del router ha cambiado y actualice el nombre del dominio con la nueva IP. Resultado? Que nuestro dominio siempre nos llevará a nuestra página web.
  4. Opcionalmente, habilitar el acceso a través de HTTPS (seguro). Esto implica que las comunicaciones entre el cliente-servidor irán por un canal cifrado. Lo malo es que necesitamos disponer de un certificado que sea reconocido por el navegador web del visitante, si no, le dará un aviso de que esa web no es confiable, y probablemente perderemos un visitante.

IMG_20140214_215144-1024x757

Mi Raspberry PI