Requisitos

Los requerimientos de software del servidor son:

  • Servidor WEB
    • Apache 2.x
  • PHP
    • Versión 5
    • PHP-GD (recomendado)
  • Servidor de base de datos
    • Mysql 4.1.x o superior (para soporte utf8)
    • PostgreSQL >= 7.1 (experimental)
  • Aplicativo que incluye los anteriores
    • XAMPP (sugerido en los detalles de instalación).
  • Sistema operativo
    • Windows XP (fue probado en esa versión solamente)
    • GNU/Linux

Los requerimientos de software de la terminal son:

  • Navegador web
    • Mozilla Firefox (recomedado, sobre cualquier sistema operativo).

Instalación en GNU/Linux

Actualmente existen de dos formas de instalar el sistema: 'Automática' y 'Manual'.

Automática

El sistema cuenta con un instalador para simplificar el proceso a los usuarios con menos experiencia.

Este instalador se encuentra en una fase prueba por eso puede tener algunos errores, le recomendamos mirar la lista de errores conocidos. (No olvide reportarlos!)

Para su utilización, se deben realizar los siguientes pasos:

1) Descargue el loader (instalador) desde:

 http://www.proyectoalba.com.ar/alba-installer/dist/install/alba_loader.txt

2) Una vez descargado, renómbrelo reemplazando la extensión txt por php. El nombre del archivo descargado será entonces alba_loader.php

3) Suba este archivo a su servidor (por ftp, sftp, etc).

4) Para lanzar la instalación automática ejecute:

 http://su_servidor/su_directorio/alba_loader.php

5) El programa de instalación descargará los archivos necesarios, hará verificaciones sobre la existencia de los programas requeridos y los permisos de escritura. Debe completar información sobre: servidor, usuario, contraseña y nombre de la base de datos.

6) En el momento de visualizar el ingreso al sistema, recuerde que los datos por defecto son: Usuario --> admin Contraseña --> admin.

Manual

Es posible hacer una instalación manual del sistema. Para ello es necesario seguir los siguientes pasos:

1) Obtenga el código fuente. Puede hacerlo bajando el archivo de una versión liberada o de la que se encuentra en desarrollo por  SVN.

2) Si obtuvo el código de una versión definida, descomprima el archivo descargado en un directorio accesible vía web. Si descargó la versión del SVN procure hacerlo también en el directorio sugerido:

/var/www/educacion/

En caso de tener que descomprimir el archivo recuerde:

El archivo alba-1.0X.tar.gz descomprímalo con el siguiente comando:

ftoledo@ntbkragnarok: tar xvzf alba-1.0X.tar.gz 

Si descargó el alba-1.0X.tar.bz2 con este otro:

ftoledo@ntbkragnarok: tar xvjf alba-1.0X.tar.bz2 

Esto creará un nuevo directorio dentro de educación, a los efectos de este instructivo, siempre llamaremos a este directorio creado "alba". Se obtiene entonces : /var/www/educacion/alba

Luego de la descompresión pueden verse dos directorios considerados principales (alba y dist) entre otros.

ftoledo@ntbkragnarok:/var/www/educacion/alba$ ls -l 
drwxr-xr-x 14 ftoledo ftoledo 4096  2006-06-27 14:21 alba
drwxr-xr-x 10 ftoledo ftoledo 4096  2006-06-27 14:35 dist
-rw-r--r-- 10 ftoledo ftoledo 16474 2006-06-27 14:35 index.php
drwxr-xr-x 10 ftoledo ftoledo 4096  2006-06-27 14:35 installer

3) Vaya a su navegador de internet y en la URL escriba

http://su_servidor/su_directorio/alba/web/instalar/instalar.php 

Luego siga las instrucciones.

En el momento de visualizar el ingreso al sistema, recuerde que los datos por defecto son: Usuario --> admin Contraseña --> admin.

Detalles de instalación sin utilizar el instalador

1) Verifique los links simbólicos.

Un link llamado symfony que apunte a dist/symfony-1.0.x en el directorio alba/dist.

Este link se visualizará de la siguiente forma:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ ls -l alba/dist
-rw-r--r-- 1 ftoledo ftoledo 195906 2007-10-17 11:39 package.xml
lrwxrwxrwx 1 ftoledo ftoledo     14 2007-10-24 11:17 symfony -> symfony-1.0.7
drwxr-xr-x 7 ftoledo ftoledo   4096 2007-10-17 11:39 symfony-1.0.7

2) Instale y configure la Base de Datos.

Debe acceder al directorio /var/www/educacion/alba/data/sql/ para utilizar tres archivos que facilitarán la tarea.

Para poder realizar los puntos siguientes debe tener los permisos necesarios en el Mysql y conocer el usuario y contraseña de su servidor, caso contrario solicítelo a su administrador.

a) Cree la base de datos:

ftoledo@ntbkragnarok:/var/www/educacion/alba/data/sql$ mysql -u root < create-db.sql

b) Cree las tablas:

ftoledo@ntbkragnarok:/var/www/educacion/alba/data/sql$ mysql -u root alba < lib.model.schema.sql

Aquí usted puede seleccionar insertar los datos iniciales o los datos de ejemplo.

c) Inserte los datos:

Iniciales:

ftoledo@ntbkragnarok:/var/www/educacion/alba/data/sql$ mysql -u root alba < datos_desde_cero.sql

o

Ejemplo:

ftoledo@ntbkragnarok:/var/www/educacion/alba/data/sql$ mysql -u root alba < datos_ejemplo.sql

NOTA: Este ejemplo fue desarrollado utilizando el usuario root sin contraseña, en caso de tener una contraseña agregue el parámetro -p

3) Edite los archivos de configuración de la aplicación:

Los archivo .dist contienen una configuración predeterminada, que será necesario cambiar. Actualmente visualizará los siguientes archivos:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ ls -l alba/config/
-rw-r--r-- 1 ftoledo ftoledo   290 2006-04-07 14:19 apache.conf.dist
-rw-r--r-- 1 ftoledo ftoledo     9 2006-04-07 14:19 config.php
-rw-r--r-- 1 ftoledo ftoledo   119 2006-04-07 14:19 databases.yml.dist
-rw-r--r-- 1 ftoledo ftoledo  1968 2006-04-07 14:19 propel.ini.dist
-rw-r--r-- 1 ftoledo ftoledo    22 2006-04-07 14:19 properties.ini
-rw-r--r-- 1 ftoledo ftoledo    33 2006-04-07 14:19 rsync_exclude.txt
-rw-r--r-- 1 ftoledo ftoledo 24324 2006-06-27 14:20 schema.xml
-rw-r--r-- 1 ftoledo ftoledo   116 2006-04-07 14:19 schema.xml.sample

Edite el archivo databases.yml.dist reemplazando las palabras escritas por completo en mayúsculuas de la línea 5 por los datos correspondientes a su servidor.

USERDB = usuario que tiene acceso en el mysql a la base de datos creada para el sistema

PASSDB = contraseña del usuario en el mysql

SERVER = nombre del servidor donde está instalado el mysql, si está en la misma PC poner localhost

DBNAME = nombre de la base de datos

A modo de ejemplo, si instala el sistema de forma local, con una base de datos llamada alba, y se conecta con el usuario root, con contraseña myclave, la línea 5 quedaría de la siguiente manera:

5        dsn:          mysql://root:myclave@localhost/alba

El siguiente archivo es el original, el cual hay que modificar:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ cat -n alba/config/databases.yml
     1  all:
     2    propel:
     3      class:          sfPropelDatabase
     4      param:
     5        dsn:          mysql://USERDB:PASSDB@SERVER/DBNAME
     6        datasource: alba

Edite el archivo propel.ini.dist cambiando las líneas 4 y 5 por los datos correspondientes a su servidor, esto será necesario sólo en el caso que utilice el sistema para desarrollo.

ftoledo@ntbkragnarok:/var/www/educacion/alba$ cat -n alba/config/propel.ini.dist
     1  propel.targetPackage       = model
     2  propel.project             = alba
     3  propel.database            = mysql
     4  propel.database.createUrl  = mysql://USERDB:PASSDB@SERVER/
     5  propel.database.url        = mysql://USERDB:PASSDB@SERVER/DBNAME
     6
     7  propel.addGenericAccessors = true
     8  propel.addGenericMutators  = true
     9  propel.addTimeStamp        = false

4) Renombre los siguientes archivos editados en los pasos anteriores, retirando el .dist:

databases.yml: debe contener los datos de conexion a la base

propel.ini: debe contener los paths correctos

5) Compruebe que en el directorio alba/web exista un link llamado sf apuntando a data/symfony/web/sf/

Nota: Si el sistema corre en un directorio diferente del wwwroot (por ejemplo en un directorio de usuario /~ftoledo) se debe agregar un Alias en la configuración de Apache ya que de otra forma /sf no es alcanzable por el servidor web.

El directorio alba/web con el link creado quedará de la siguiente forma:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ ls -l -a alba/web/
drwxr-xr-x  3 ftoledo ftoledo 4096 2006-06-27 14:21 css
-rw-r--r--  1 ftoledo ftoledo   27 2006-04-07 14:21 error.php
-rw-r--r--  1 ftoledo ftoledo  613 2006-04-07 14:21 .htaccess.dist
drwxr-xr-x  3 ftoledo ftoledo 4096 2006-06-27 14:21 images
-rw-r--r--  1 ftoledo ftoledo  377 2006-04-07 14:21 index.php
drwxr-xr-x  4 ftoledo ftoledo 4096 2006-06-27 14:21 js
-rw-r--r--  1 ftoledo ftoledo  375 2006-04-07 14:21 principal_dev.php
-rw-r--r--  1 ftoledo ftoledo   24 2006-04-07 14:21 robots.txt
lrwxrwxrwx  1 ftoledo ftoledo   23 2006-04-07 14:21 sf -> ../data/symfony/web/sf/
-rw-r--r--  1 ftoledo ftoledo  391 2006-04-07 14:21 unavailable.html
drwxr-xr-x  4 ftoledo ftoledo 4096 2006-04-07 14:21 uploads

6) Dé permisos a los usuarios en los siguientes directorios:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ chmod 777 alba/cache
ftoledo@ntbkragnarok:/var/www/educacion/alba$ chmod 777 alba/log
ftoledo@ntbkragnarok:/var/www/educacion/alba$ chmod 777 alba/web/uploads
ftoledo@ntbkragnarok:/var/www/educacion/alba$ chmod 777 alba/web/tmp

7) Cree en el directorio /var/www/educacion/alba un link llamado public_html apuntando a /var/www/educacion/alba/alba/web , esto es opcional, brinda más seguridad al sistema ya que deja accesible por la web sólo al directorio web del proyecto.

ftoledo@ntbkragnarok:/var/www/educacion/alba$ ln -s /var/www/educacion/alba/alba/web public_html

8) Renombre el archivo .htaccess.dist dentro de alba/web quitando la extensión .dist , y edítelo cambiando en la línea 17 REWRITE_PATH por /alba/public_html/index.php

En el archivo original, estos datos figuran de la siguiente manera:

ftoledo@ntbkragnarok:/var/www/educacion/alba$ cat -n alba/web/.htaccess
     1  Options +FollowSymLinks +ExecCGI
     2
     3  <IfModule mod_rewrite.c>
     4    RewriteEngine On
     5
     6    # we skip all files with .something
     7    RewriteCond %{REQUEST_URI} \..+$
     8    RewriteCond %{REQUEST_URI} !\.html$
     9    RewriteRule .* - [L]
    10
    11    # we check if the .html version is here (caching)
    12    RewriteRule ^$ index.html [QSA]
    13    RewriteRule ^([^.]+)$ $1.html [QSA]
    14    RewriteCond %{REQUEST_FILENAME} !-f
    15
    16    # no, so we redirect to our front web controller
    17    RewriteRule ^(.*)$ REWRITE_PATH/index.php [QSA,L]
    18  </IfModule>
    19
    20  # big crash from our front web controller
    21  ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"

9) Por medio del navegador, ingrese al sistema ALBA. En el ejemplo propuesto, el ingreso se realizaría a través de  http://su_servidor/alba/public_html/principal_dev.php

10) En el momento de visualizar el ingreso al sistema, recuerde que los datos por defecto son: Usuario --> admin Contraseña --> admin.

NOTA: Para un ambiente de producción se recomienda apuntar la raíz web (wwwroot) al directorio web del symfony (/var/www/educacion/alba/alba/web/). En caso de no contar con el acceso a la configuración de su servidor web, puede aumentar el nivel de seguridad generando un archivo .htaccess para restringir el acceso a otros directorios. Se recuerda a los usuarios, que se trata de una versión beta.

Si encuentra algún error, puede ver esta sección: ErroresConocidos o ReporteDeErrores

Instalación en Windows

Como se indicó en los requerimientos, deberá tener instalado previamente Apache, MySQL y PHP (si es que ya no se 
encuentran instalados). Para facilitarla, se  propone al usuario la instalación de XAMPP, 
aplicación que contiene a las últimas tres.

a) La instalación del XAMPP

Bajar el XAMPP del sitio:  http://sourceforge.net/projects/xampp/

1) Una vez seleccionada la opción de “Download”, elija una versión para windows (XAMPP Windows), ya que existe también para otros sistemas operativos. Entre las que propone el sitio, se sugiere que escoja la versión xampp-win32-1.5.5-installer.exe (versión con la que fue probado).

Ejecutando el archivo de instalación del XAMPP (.exe) las pantallas lo guiarán para una instalación exitosa. Si sigue las opciones predeterminadas, esta aplicación se instalará en c:\Archivos de Programa\

2) Es necesario habilitar la instalación del Apache y del MySQL como servicio durante el proceso. Para ello, deberá tildar en la opción de Service Section: -Install Apache as service -Install MySQL as service

Siga los pasos indicados, hasta finalizar la instalación con éxito.

3) Finalizada la instalación, será necesario modificar el archivo llamado “httpd.conf” que está ubicado en: c:\Archivos de programa\xampp\apache\conf\httpd.conf. Para modificarlo ábralo en cualquier procesador de texto y borre el numeral (#) que se encuentra al inicio de la línea siguiente:

# LoadModule rewrite_module modulo/mod_rewrite.so

La línea modificada quedará entonces: LoadModule rewrite_module modulo/mod_rewrite.so

Recuerde guardar los cambios al salir del editor.

4) Deberá reiniciar al servidor Apache para que los cambios realizados en el archivo editado sean tomados por el XAMPP. Puede hacerlo a través de su panel de control, presionando el botón “Stop” y luego, “Start” correspondiente a ese servicio.

b) La instalación de ALBA

Una vez instalado el XAMPP, tendrá todo software necesario para poder comenzar la instalación de Alba.

Recuerde reportar los problemas encontrados durante la instalación de ALBA a:  http://alba.pressenter.com.ar/cgi-bin/trac.cgi/wiki/ReporteDeErrores

1) Cree un directorio en la raíz web, en el cual se instalará el sistema. En este caso, sugerimos crear el directorio con nombre “alba”, que deberá ubicarse en el siguiente directorio (siempre que el xampp se haya instalado de la forma predeterminada).

C:\Archivos de programa\xampp\htdocs\alba

2) Baje el instalador (loader):

 http://alba.ourproject.org/alba-installer/dist/install/alba_loader.txt

Al ingresar a esta dirección, se desplegará en pantalla el texto del programa de instalación.

3) Renombre el archivo.

En la misma pantalla, utilizando desde el menú del navegador “Guardar página como”, guarde el archivo renombrando su extensión txt por php.

El nombre del archivo descargado será entonces alba_loader.php

4) Copie el archivo a un directorio accesible por el servidor web. En el caso del ejemplo, se trata del directorio:

C:\Archivos de programa\xampp\htdocs\alba

5) Ejecute el instalador (loader) ingresando a través del navegador web a:

 http://localhost/alba/alba_loader.php

6) Dé comienzo a la instalación siguiendo los pasos indicados.

7) El programa de instalación descargará los archivos necesarios, hará verificaciones sobre la existencia de los programas requeridos y los permisos de escritura.

8) Complete la información: servidor: localhost; usuario: root, contraseña: (ninguna) y nombre de la base de datos: la que desee.

9) En el momento de visualizar el ingreso al sistema, recuerde que los datos por defecto son: Usuario --> admin Contraseña --> admin.