Introducción

En el post anterior hice una pequeña introducción a Elgg, un motor de redes sociales de código abierto. Elgg está en principio pensado para ser instalado en un entorno LAMP, pero es también posible instalarlo en Windows, aunque no está recomendado para entornos de producción. En este post explicaré los pasos para instalar fácilmente un servidor web con Elgg bajo Windows.

Requisitos

Elgg requiere de un servidor web Apache con el módulo mod_rewrite y PHP5 instalado y una base de datos MySQL. Para el PHP además necesitaremos una serie de librerías (GD, JSON, XML y soporte Multibyte String). La forma más facil de instalar todo esto de una sóla vez en windows es recurrir a alguno de los paquetes ya existentes, como son EasyPHP o Xampp.

Hace ya un par de años que no probaba a instalar Xampp, y dado que en la documentación oficial de Elgg se dan ya instrucciones básicas para instalar EasyPHP, en este tutorial utilizaremos Xampp. Así que el primer paso será descargar la última versión de Xampp y de Elgg.

Instalando Xampp

Xampp viene en dos versiones, la primera es un ejecutable y la otra simplemente un zip. Por simplicidad instalaremos la versión ejecutable. Haciendo doble click sobre el archivo veremos lo siguiente:


Xampp-Instalation

Tras seleccionar el directorio donde queremos instalar el software (se creará un subdirectorio xampp donde elijamos) y pulsar “Install”, se procede a la instalación. Una vez instalados todos los archivos nos mostrará una serie de preguntas para configurar el sistema. Lo más fácil es dejar las opciones por defecto, que en principio deberían ser las mejores para la mayoría de gente.

A continuación arrancaremos el panel de control de Xampp, que nos mostrará lo siguiente:


Xampp-ControlPanel

Arrancamos el servidor Apache y el MySql y “voilà”, tenemos un servidor web y base de datos funcionando en nuestro sistema. Una vez arrancados es posible acceder a las páginas de configuración de Xampp y MySql pulsando sobre el botón “Admin”. Os recomiendo entrar al menos en la de Xampp en este momento para realizar un par de cambios de seguridad recomendados pulsando en la opción “Security”.


Xampp-Management

Configurando Xampp para Elgg

Para asegurarnos de un buen funcionamiento de Elgg hemos de modificar la configuración de PHP, editando el fichero “…/xampp/php/php.ini”. Debemos buscar la linea “;extension=php_curl.dll” y eliminar el “;”.

A continuación descomprimimos el zip que contiene el código de Elgg en el directorio que deseemos. Una vez realizado esto tenemos que indicarle a Apache donde está dicho código, para lo que abriremos el archivo “…/xampp/apache/conf/httpd.conf” con nuestro editor preferido.

Aquí tenemos dos opciones de configuración: instalar Elgg en el directorio base de nuestro servidor web (para acceder directamente tipo http://localhost/) o instalarlo en un subdirectorio (por ejemplo http://localhost/elgg/). En este tutorial explicaré la segunda opción.

Elgg en un subdirectorio del servidor

En el fichero httpd.conf buscamos la linea que pone (el xxx depende de donde instalaste xampp):

DocumentRoot "xxx/xampp/htdocs"

Debajo de esa linea añadiremos lo siguiente:

Alias /elgg/ "path_to_directorio_de_elgg/"

Donde pongo “elgg” pon lo que quieras, podrás acceder a tu instalación de Elgg a través de “http://localhost/lo_que_pongas/”.

Una vez añadida la linea, buscamos el siguiente bloque:

<Directory "xxx/xampp/htdocs/">
...
</Directory>

Y añadimos a continuación (es importante que el path acabe con “/”):

<Directory "path_al_directorio_de_elgg/">
Options FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Más tarde tendremos que realizar una pequeña modificación en un fichero de Elgg para decirle en que dirección está instalado. Ya os avisaré cuando toque.

Configurando la base de datos

Tras el paso anterior deberíais poder ver la primera página de configuración de Elgg en vuestro navegador en la dirección http://localhost/elgg/ (o la dirección que elegiste en el paso anterior).


Elgg-InstalationStart

En esta página debemos proporcionar las credenciales de nuestra base de datos MySql de modo que Elgg pueda configurarla. Para ello debemos crear un usuario de MySql y un nuevo repositorio, para lo que usaremos la herramienta correspondiente incluida con xampp. Podeis acceder a ella a través del navegador en http://localhost/phpmyadmin/ o pulsando el botón correspondiente en el panel de control de xampp. Veremos esto:


MySQLCreateDB

Rellenamos el nombre de la base de datos que queremos crear, y pulsamos el botón “Create”. Ya tendremos nuestro nuevo repositorio vacío en MySql. A continuación pasamos a crear nuestro usuario de la base de datos para elgg (no es recomendable usar el usuario “root” de la base de datos para esto). En la pestaña “Privileges” damos a la opción de añadir nuevo usuario y rellenamos los datos correspondientes.


MySQL-CreateUserAndDB

A continuación hemos de dar permisos al usuario sobre la base de datos que vamos a utilizar. Buscamos el recuadro de “Database specific privileges” e introducimos el nombre del repositorio que hemos creado con anterioridad. Pulsando “Go” accederemos a un formulario donde podemos seleccionar los distintos privilegios posibles. Dale a “Check All” y de nuevo a “Go” y ya tendremos nuestro usuario y repositorio configurados en MySql.


MySQLGrantPrivileges

Ahora tan sólo nos falta darle a Elgg los datos correspondientes. Volvemos a la página de Elgg a la que accedimos antes y rellenamos el formulario.

Configurando Elgg

Tras rellenar el formulario anterior deberíamos ver una página como ésta:


Elgg-Configuration

No nos apresuremos a rellenarla, primero tenemos que hacer un pequeño cambio en los ficheros de Elgg para que sea capaz de reconocer la dirección donde lo hemos instalado dentro del servidor web. Para ello abrimos el fichero “directorio_de_elgg/.htaccess” y localizamos la línea:

#RewriteBase /

Cambiamos la línea a (pon lo mismo que pusiste en el Alias en el fichero httpd.conf anteriormente):

RewriteBase /elgg/

Ahora sí podemos ponernos a rellenar los datos de nuestro Elgg. Modificamos los distintos valores (fijaros en poner los valores correctos para vuestra instalación) y los salvamos. Ah, se me olvidaba, tendréis que haber creado un directorio para almacenar los ficheros temporales y de los usuarios de Elgg (el “C:/Work/elgg/data/” en el ejemplo), y este directorio debe estar fuera del directorio donde descomprimiste los ficheros de Elgg (en mi caso “C:/Work/elgg/www/”).

Si todo va bien veremos la pantalla de creación de nuestro primer usuario de Elgg. Rellena los datos y tras registrarlo verás por fin la pantalla de bienvenida de Elgg.


Elgg-FirstScreen

Espero que esta guía os haya sido de utilidad. Podéis encontrar más información sobre la instalación y soluciones a los problemas más corrientes en la documentación oficial de Elgg, y si tenéis alguna duda intentaré responder a vuestros comentarios.