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:
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:
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.
