miércoles, 21 de abril de 2010

Instalación de una red social usando Elgg

Elgg es una plataforma de redes sociales open source que podemos utilizar para crear nuestra propia red social al estilo facebook, twiter o twenti.

Para instalarla necesitamos:
  • Apache con el modulo rewrite activado.
  • MySQL 5+.
  • PHP5.2+ como modulo de Apache y los módulos GD, JSON y Multibyte String.
Estos requisitos se pueden consultar en la página oficial de Elgg http://www.elgg.org. Igualmente el la página oficial se puede encontrar una guía de instalación y el enlace para la descarga, tanto en zip como en tarball (tar.gz).



A pesar de tener una guía paso a paso del proceso de instalación, dependiendo de la distribución Linux y del software instalado puede resultar mas o menos difícil conseguir que funcione.

Supongamos que disponemos de un Ubuntu 9.10 con Apache 2, MySQL y PHP5 instalados desde los repositorios de Ubuntu. Lo mas probable es que falte el modulo php5-gd, el resto de módulos php5 necesarios se instalan por defecto al instalar php5.

Lo primero que vamos a hacer es preparar Apache para instalar Elgg. En nuestro sistema el directorio de publicación por defecto es /var/www. En este directorio vamos a crear dos directorios, /var/www/elgg y /var/www/data. Al directorio /var/www/data le vamos a poner permisos 775 y el grupo www-data que es el grupo con el que se ejecuta Apache. En la configuración del servidor cambiamos la directiva DocumentRoot y Directory para usar el directorio /var/www/elgg .



Ahora vamos a configurar el servidor MySQL. Nos conectamos como root al servidor y creamos una base de datos llamada elgg (create database), creamos un usuario llamado elgg con password elgg (create user) y le damos permisos al usuario elgg sobre la base de datos elgg (grant).




Ahora entramos con el navegador a http://127.0.0.1/ para completar la instalación vía web. Introducimos los datos de la base de datos:
  • usuario: elgg
  • password: elgg
  • base de datos: elgg
  • servidor:localhost
Y guardamos. Como el servidor no puede escribir en el directorio /var/www/elgg/ hay que crear los archivos /var/www/elgg/engine/settings.php y /var/www/elgg/.htaccess manualmente copiando el contenido que aparece en la página web. Una vez creados, recargamos la página. En este punto aparecerá un error indicando lo siguiente: "/action/systemsettings/install was not found on this server".
Esto es por que se esta ignorando el archivo .htaccess o porque no esta habilitado el módulo rewrite en apache.



Como por defecto la configuración de apache ignora el archivo .htaccess es necesario modificarla para que con la directiva AllowOverride se permita al archivo .htaccess modificar la configuración. Mirando un poco el archivo se puede deducir que opciones tenemos que permitir, así que nada de poner AllowOverride All.



También hay que tener en cuenta que el archivo .htaccess hace referencia al modulo rewrite de Apache y por lo tanto hay que activarlo. Esto se hace creando un enlace simbólico en el directorio /etc/apache2/mods-enables que apunte al archivo /etc/apache2/mods-available/rewrite.load.




Y para finalizar volvemos al navegador y completamos la instalación siguiendo los pasos: rellenar los datos de la red social y crear el primer usuario, que también sera el administrador. Lo siguiente es iniciar sesión con el administrador y administrar la red social.


1 comentario: