Para desarrollar el sitio de encuentro por los chicos estamos utilizando una herramienta para crear portales llamada PostNuke.
Esta herramienta esta desarrollada en PHP y utiliza MySQL para persistir los datos del portal. Esto significa que para el desarrollo es necesario tener instaladas estas herramientas. Este documento es una guía rápida de como instalar estas herramientas localmente (en una maquina con Windows) y de como utilizar los "scripts de build" incluidos junto con el código fuente.
Para crear el "entorno de desarrollo" y utilizar el sitio localmente, es necesario contar con las siguientes herramientas:
Si bien no es un requerimiento usar Apache y MySQL, por que en teoría con cualquier webserver y base de datos en los que funcione PHP y PostNuke alcanza. El entorno típico para desarrollo (y el explicado acá) es Apache y MySQL en Windows.
La instalación de MySQL en Windows es muy sencilla, un simple setup con siguiente...siguiente... siguiente.
Una vez instalado MySQL solo será necesario acordarnos en que directorio lo instalamos, ya que nos referiremos a él más tarde como MYSQL_HOME.
La siguiente es una explicación muy (pero muy!) corta, para más información leer la documentación de Apache y PHP.
Bajar la versión Windows en (.zip ó .tar.gz) de PHP (no es conveniente bajar la versión que viene con un instalador, pues no trae las .dll necesarias para utilizar PHP como módulo de Apache 2). Descomprimir PHP en un directorio, de ahora en más nos referiremos a este directorio con el nombre de PHP_HOME.
Copiar la .dll PHP_HOME/php4ts.dll al directorio PHP_HOME/sapi. (el módulo de Apache 2 necesita de esta .dll para funcionar, otra posibilidad es asegurarse de que esta .dll este en el PATH, aunque la forma más facil y rápida es simplemente copiarla al directorio donde se encuentra el módulo de Apache 2 de PHP, o sea PHP_HOME/sapi).
Instalar Apache 2 (la instalación de la versión en Windows es muy, sencilla, un simple siguiente... siguiente... siguiente). Nos referiremos al directorio donde se instaló Apache 2 con el nombre de APACHE_HOME.
Editar el archivo de configuración de Apache, que se encuentra en APACHE_HOME/conf/httpd.conf y agregar las siguientes líneas después de las líneas que dicen "LoadModule".
LoadModule php4_module "PHP_HOME/sapi/php4apache2.dll" AddType application/x-httpd-php .php
¿Cómo puedo testear la instalación?
Para testear la instalación crear un archivo .php (por ejemplo test.php) en APACHE_HOME/htdocs con el siguiente código:
<?php phpinfo(); >
Y luego probar de ejecutar esta página desde un browser. En la mayoría de los casos esto debería dar una página con información sobre la instalción de PHP. Si esto no funciona referirse a la documentación de PHP.
Como primer paso para crear el entorno es necesario bajar PostNuke y descomprimirlo a una carpeta. El resto de este documento hará referencia a esta carpeta con el nombre de POSTNUKE_HOME.
Luego bajar AutoTheme y descomprimirlo en POSTNUKE_HOME/html.
Para poder utilizar los scripts de build es necesario instalar el Java JDK 1.4.x y Maven.
La instalación de Maven es sencilla:
Ya tenemos Apache, PHP, MySQL, PostNuke, AutoTheme y Maven (ufff! cuantas cosas)... hagamos el checkout del código del sitio.
Para esto es necesario indicarle al cliente de CVS cual es el repositorio el CVSROOT), la página de CVS en SourceForge indica como hacerlo, con más detalle. Para hacer un checkout anónimo (no se pueden comitear cambios), se puede utilizar el siguiente CVSROOT: :pserver:anonymous@cvs.sourceforge.net:/cvsroot/porloschicos
Luego solo hay que hacer checkout del módulo encuentroporloschicos.
Para que funcionen los scripts de build, es necesario establecer algunos valores de configuración que dependen de la instalación de las herramientas en cada maquina.
Para realizar esta configuración editar el archivo build.properties.sample y guardarlo como build.properties.
Para inicializar la base de datos, simplemente ejecutar Maven con el goal epc:overwrite-database.
Cuidado! el script de epc:overwrite-database borra la base de datos encuentroporloschicos si es que existe (el script deja un backup en el directorio db-backups), ver la referencia del script de build, para más información sobre los targets disponibles en el maven.xml.