martes, 26 de julio de 2011

Instalar Elgg en Mac OS X con MAMP

Recientemente he estado peleando un poco la instalación de Elgg 1.7.6 en mi portátil con MAMP 1.9.5. En la propia documentación advierten de ciertos problemas a la hora de instalar Elgg en MAMP y como solventarlos. Después de varias pruebas conseguí dar con la forma de instalarlo correctamente. Empecemos:

- En la configuración de Apache de MAMP tengo el DocumentRoot en /Applications/MAMP/htdocs.
- Dentro de dicha carpeta crear otras dos: elgg para alojar la aplicación y data (requerida por elgg). Se puede alojar Elgg en la raíz y así ahorrar un paso más.
- Copiar el contenido de la distribución de elgg a /Applications/MAMP/htdocs/elgg/
- Crear la base de datos para elgg(p.e. elgg) usando phpMyAdmin que viene con MAMP.
- Modificar/Applications/MAMP/conf/php5.3/php.ini y comentar la línea que configura la extensión zend anteponiendo ';': ;zend_extension = "/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/xcache.so"
- Modificar en la configuración de Apache (/Applications/MAMP/conf/apache/httpd.conf) el valor de la entrada "AllowOverride None" en la configuración del directorio raíz a "AllowOverride All". Es decir lo que antes era:


<Directory />
Options Indexes FollowSymLinks

AllowOverride None

</Directory>

Debe quedar como:


<Directory />
Options Indexes FollowSymLinks

AllowOverride All

</Directory>

- Ahora sólo queda arrancar los servidores desde MAMP y acceder a localhost:8888/elgg/
- Una vez rellenados los datos de configuración de la BBDD el asistente nos llevará a una segunda pantalla donde rellenaremos los datos del sitio. Una vez que lo hagamos y pulsemos sobre guardar nos dará nuestro primer error. Para solventarlo abrimos el fichero /Applications/MAMP/htdocs/elgg/.htaccess y la línea que está comentada con #RewriteBase / la descomentamos y cambiamos el valor de "/" por "/elgg/" que es la ruta donde está nuestra instalación de Elgg. Reiniciamos Apache, accedemos nuevamente a la página donde configuramos el sitio y ya nos permite terminar la instalación.