Mas de 60 millones de sitios en internet utilizan la plataforma WordPress. La creciente tendencia en el uso de servicios en la nube me llevo a la idea de subir un WordPress a Windows Azure. En este post voy a explicar paso a paso como llevar esto a cabo, desde la descarga de los fuentes, creación de base de datos en SQL Azure, Storage para guardar nuestras imágenes, y, por supuesto, subir nuestro sitio a una (o varias) instancias de Windows Azure, para lograr tener nuestro WordPress 100% en la nube.
Pre-requisitos
Introducción
Utilizaremos la funcionalidad de scaffolding que nos provee el SDK de Windows Azure para PHP para descargar el empaquetado con los fuentes de WordPress y generar un paquete listo para correr en Windows Azure.
En este post, asumimos que ya tenemos instalado el SDK y el ambiente de desarrollo, si no lo hiciste todavía, lee los posts listados en los pre-requisitos.
Instalación del servicio de Windows Azure
Antes de poder instalar y correr WordPress en Windows Azure, debemos instalar los siguientes servicios:
- Hosted Service
- Storage account
- SQL Azure database
Para obtener mas información, lee los siguientes artículos de MSDN (en ingles), o espera a que escriba mas detalles sobre Hosted Services, Storage Accounts y SQL Azure.
Descargar el scaffolder de WordPress
Se armo un scaffolder con una versión de WordPress que fue especialmente diseñada para una fácil configuración y deploy en Windows Azure se puede descargar desde:
http://blog.alebanzas.com.ar/wordpress-scaffolder.zip
El archivo WordPress.pharcontiene el scaffold empaquetado que se necesita para seguir este tutorial.
Una vez descargado el archivo WordPress.phar debemos ubicarlo en la carpeta C:\temp.
Ejecutar el scaffolder de WordPress
Cuando ejecutamos el scaffolder de WordPress, como resultado obtendremos los archivos como un proyecto Azure de Visual Studio, para este ejemplo vamos a usar la siguiente ubicación C:\temp\WordPress.
Parámetros
El scaffolder de WordPress tiene varios parámetros que sus valores se integran al archivo ServiceConfiguration.cscfg.
-DB_NAME – Nombre de la base de datos
-DB_USER – Usuario para accede a nuestra base de datos con formato usuario@db_host
-DB_PASSWORD – Password del usuario para acceder a la base de datos
-DB_HOST – Hostname de la base de datos. Se utiliza la url complete de nuestro servidor SQL Azure
-sync_account – Endpoint del storage de Windows Azure Storage. NOTA: Debemos crear un container publico con el nombre ‘wpsync’
-sync_key – Access key del storage de Windows Azure Storage
Nota: Si necesitas modificar alguno de los valores de los parámetros enumerados anteriormente, no es necesario ejecutar nuevamente el scaffolder. Podes abrir el archivo ServiceConfiguration.cscfg y editar los valores ingresados.
Parámetros adicionales
Existen mas parámetros de los listados anteriormente, todos estos tienen valores por default que en general no va a ser necesario modificar, pero, si asi lo desearamos, podemos ejecutar el siguiente comando para ver los parámetros disponibles:
scaffolder help -s=
"C:\temp\WordPress.phar"
Crear el proyecto
Para crear el proyecto, debemos ejecutar el scaffolder ejecutando el siguiente comando:
scaffolder run -s=
"C:\temp\WordPress.phar"
-out=
"C:\temp\WordPress"
-DB_NAME=**** -DB_USER=****@**** -DB_PASSWORD=**** -DB_HOST=tcp:****.database.core.windows.net,1433 -sync_account=**** -sync_key=****
La ejecución puede demorar varios minutos, porque se ejecutan las siguientes tareas:
- La ultima version de WordPress se descarga desde http://wordpress.org y se desempaqueta
- Se descarga el plugin WordPress database abstraction para SQL Azure y se agrega al proyecto
- Se descarga el plugin Windows Azure Storage plugin for WordPress y se agrega al proyecto
- Se configura WordPress para poder correr en el servicio de Windows Azure
- Se genera el Windows Azure service configuration file
Una vez finalizado todo esto, podemos ingresar a C:\temp\WordPress y veremos la siguiente estructura de carpetas y archivos:
- WebRole/
- ServiceConfiguration.cscfg
- ServiceDefinition.csdef
Los archivos de WordPress se encuentran dentro de la carpeta WebRole.
Instalar el plugin Windows Azure FileSystemDurabilityPlugin
El plugin database abstraction de WordPress nos da la posibilidad de utilizar otros motores de base de datos, como por ejemplo, SQL Azure.
FileSystemDurabilityPlugin esta hosteado por Github. Solamente necesitamos descargarlo y ubicarlo en la carpeta de instalación del SDK de Windows Azure.
- Descargar FileSystemDurabilityPlugin desde https://github.com/downloads/Interop-Bridges/Windows-Azure-File-System-Durability-Plugin/FileSystemDurabilityPlugin.zip
- Copiar los archivos recién descargados en
C:\Program Files\Windows Azure SDK\<YOUR VERSION>\bin\plugins
Muy buen post. Felicitaciones
Gracias Juan Manuel!