WordPress en Amazon EC2

I've installed WordPress

Aunque utilizo WordPress hace solo un par de años a partir de mi trabajo en la Universidad del Pacífico he podido leer sobre esta plataforma hace varios años cuando estudiaba en la universidad, decían que era la mejor plataforma para blogs, ahora se dice mucho más que eso.

Retomando la entrada, vamos a analizar las alternativas que tenemos para poder alojar o instalar WordPress en Amazon EC2, con las consideraciones de este blog.

Alternativas para WordPress en Amazon EC2

  1. La primera alternativa que tenemos para poder hostear WordPress en Amazon EC2 es a través de su MarketPlace, un store o tienda podemos comprar o alquilar(suscribirse) a servicios especializados en esta plataforma, tenemos por ejemplo:  WordPress powered by BitNami, que nos brinda una instancia preconfigurada con WordPress.
  2. La segunda alternativa que tenemos es instalar la aplicación por nuestra propia cuenta de esto debemos revisar cuales son los requerimiento para instalar WordPress, que principalmente nos habla de PHP(Sobre Apache o Nginx) , MySQL y el módulo mod_rewrite. Lo que se conoce habitualmente como LAMP.

En el caso de este blog, se ha tomado la alternativa 2, debido a que se comenzó con una instancia básica de Ubuntu, por lo que hay que instalar todo.

Guía de Instalación

De los requisitos nos podemos dar cuenta que se deben de instalar los siguiente componentes para esto nos debemos de conectar a la instancia, en mi caso utilizando PuTTY y WinSCP. Les comparto y comento los siguientes pasos, recursos, que he seguido:

  1. Installing PHP5 and Apache on Ubuntu, el paso inicial que pensé como obvio fue instalar los programas o módulo requeridos en la documentación de WordPress. Pero ante la duda que faltase algún componente seguí con la búsqueda de una guía más completa y sencilla.
  2. How To Install WordPress On Amazon EC2 Ubuntu Instance, en esta guía encontré lo que buscada y me sorprendió que en un solo comando pude tener casi todos los requisitos: sudo apt-get install lamp-server^, muy sorprendido como todo .net developer que explora Linux.  Pero al haber iniciado con los comando del enlace 1, decidí seguir con la instalación manual, que se encuentra en la misma guía.
  3. A diferencia del enlace 2, preferí no utilizar phpMyAdmin (Herramienta para administrar BD MySQL) me pareció una herramienta innecesaria, por lo menos para lo que tenía planeado hacer así que resolví ejecutar las sentencias necesarias: CREATE USER, CREATE DATABASE, GRANT ALL PRIVILEGES. En este caso hice uso de unos recursos:  create database using sudo mysql -u=rootHow to connect and create a database in MySQL? y How To Create a New User and Grant Permissions in MySQL.
  4. El siguiente paso para tener WordPress en mi servidor era la aplicación en sí, la cual obtuve desde la fuente oficial: http://wordpress.org/. Descargué el archivo .zip en mi PC y luego lo cargué al servidor utilizando WinSCP. Para poder descomprimir los archivos tuve que instalar y utilizar unzip, vaya que la instancia viene tan limpia que ni siquiera viene con eso.
  5. Después de ubicar los archivos de WordPress en la carpeta www, seguí con la configuración de la aplicación web en Apache debido a que no utilizaremos la dirección por defecto, para lo que utilicé una configuración básica. Luego pude encontrar algunas recomendaciones para una configuración segura de Apache para WordPress, la cual pude aplicar de forma parcial.
  6. El últimos de los requisitos que cumplí fue el módulo rewrite, Activar mod_rewrite de Apache2 en Ubuntu.
  7. Instalación WordPress, propiamente dicha, a diferencia del enlace 2 solo utilicé el asistente para crear el código del archivo de configuración wp-config.php, el cuál guardé en mi PC y subí con el WinSCP.
  8. Para finalizar la instalación solo es necesario poner la dirección del blog o sitio web y seguir las instrucciones.

Como mencioné anteriormente el manejo de archivo fue realizado con WinSCP y para poder mover los archivos de una posición a otra o solo renombrarlos utilicé algunos comandos básicos que encontré en How to Manage Files from the Linux Terminal: 11 Commands You Need to Know. En mi caso no fue suficiente eso, pude encontrar algunos comandos útiles en Using The Terminal, pude buscar un texto dentro del editor Vi, mi preferido en el terminal .

En un par de oportunidades instalé programas innecesarios que luego quise eliminar, para lo que utilicé: sudo apt-get remove {package-name}, que encontré en: Ubuntu Linux: Uninstall / Remove Any Installed Software.

También tuve que eliminar algunos archivos que utilicé durante la instalación de WordPress, en este caso me sirvió: Example uses of the Linux Command rm.

Al final de este extenso post puedo decir que ya tengo mi blog con WordPress en Amazon EC2, tengo algunos problemas como: cargar imágenes a la carpeta uploads, instalar plugins (Estoy subiendo los .zip con el WinSCP) y algunos más que iré arreglando con el desarrollo de este blog, principalmente mejorar la seguridad.

Enlaces recomendados:

Las siguientes guías muy buenas, abarcan desde la creación de la cuenta en Amazon Web Services hasta la instalación de WordPress, la primera más que la segunda:

Imagen de Amit Agarwal.

Amazon EC2 para un blog

Take advantage

Empezaremos este blog hablando tecnología, como debe ser.

El blog utiliza WordPress como aplicación web; está alojado en un servidor que es una micro instancia de la nube de Amazon o Amazon Web Services. Específicamente se trata del servicio Amazon Elastic Compute Cloud (Amazon EC2).

¿Por qué utilizar Amazon EC2?

Es gratis y divertido, quise decir complicado.

Amazon WS tiene una capa de uso gratuito, AWS Free Usage Tier. Claro, es necesario tener una tarjeta de crédito para poder utilizarla. Esto es solo por un año, a partir de este momento deberé pagar alrededor de US$150 al año, lo mismo que un hosting web compartido ultimate.

Lo bueno es que podemos experimentar con la computación en la nube o Cloud Computing de forma gratuita. En otra oportunidad llegará el turno a Windows Azure, tiene una capa gratuita pero está limitada a un periodo de 3 meses aunque esto puede cambiar y también debes registrar tu tarjeta de crédito, o Google Cloud Platform, debe tener una capa gratuita también.

¿Qué es una micro instancia? o mejor ¿Qué es una instancia?

Las instancias son nada más que servidores virtuales que pueden ejecutar aplicaciones, similares a los que puedes crear en VMWare o Hyper-V.  Y las micro instancias son instancias de bajo costo que tienen una pequeña cantidad de recursos de CPU. En el caso de este host es:

Tipo: t1.micro
64-bit
1.0-1.2 GHz (Variable)
600 MB

Más información sobre tipos de instancias.

Entonces tenemos nuestro servidor virtual en la nube gratis por un año. Estimo que en las siguientes tres entradas podré detallar todo el proceso para hostear WordPress en Amazon EC2.

Preguntas finales:

  • ¿Por qué no utilizar un hosting compartido tradicional?
  • ¿Por qué no crear un blog en Blogger, WordPress y otro?

u otras preguntas que nos podemos hacer, de seguro llevarán a otras entradas.

Imagen gracias a Dave Rocamora.

Más información (Update 14/10/2013)