Instalación

De siette.wiki.es
Saltar a navegación, buscar

Contenido


Prerrequisitos

SIETTE esta escrito en Java. Por consiguiente requiere esté instalado en el servidor. Siette ha sido probado con las siguientes versiones de Java:


SIETTE requiere para su ejecucion un servidor de aplicaciones web. Por el momento se ha probado su funcionamiento sobre los siguientes servidores de aplicaciones:

SIETTE requiere un servidor de base de datos SQL. Actualmente son compatibles son:

Para la instalación automática es necesario que este instalada en el sistema la herramienta:

Antes de instalar

Antes de instalar el sistema es necesario crear la base de datos. Dependiendo de su sistema operativo y del servidor bases de datos debera realizar distintas operaciones. Consulte los manuales de su base de datos para crear el usuario o esquema correspondiente. La base de datos no necesita estar alojada en el mismo servidor que la aplicación

Por ejemplo, en Linux usando MySQL debe conectar se como administrador, y ejecutar las siguientes instrucciones:

    >mysql -u root
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 44
    Server version: 5.1.37-1ubuntu5 (Ubuntu)
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> create user siette@localhost identified by 'dbpwd';
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> create database siette character set utf8;
    Query OK, 1 row affected (0,00 sec)
    
    mysql> grant all on siette.* to siette;
    Query OK, 0 rows affected (0,00 sec)


Esto crea un usuario siette con contraseña dbpwd y una base de datos, que tambien se llama siette.

En el caso de Linux con la base de datos ORACLE, sera necesario igualmente crear el usuario:

    oracle@siette-iaia:~$ sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on Vie May 18 13:41:47 2012
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> connect system as sysdba;
    Introduzca la contraseña: 
    Conectado.
    
    SQL> create user siette identified by dbpwd;
    Usuario creado.
    
    SQL> grant create session, create view, unlimited tablespace, resource to siette;
    Concesión terminada correctamente.


Conviene tambien averiguar, si no se sabe, el identificador de la base de datos:

    SQL> select name from v$database; 
    
    NAME
    ---------
    XE


Asegurese de que el usuario que realiza la instalacion tiene permiso de escritura sobre el directorio webapps del servidor de aplicaciones Tomcat.

NOTA: Por razones de seguridad no es recomendable que utilice el usuario root para la instalacion del servidor web.

Instalación rápida

Siette puede instalarse de forma automatica para mayor comodidad, mediante un script. Para utilizarlo es necesario que esté instalado en el sistema el programa ant.

Descomprima el fichero en un directorio temporal:

    > tar -xvzf siette-3.4-dist.tgz 

Apareceran los directorios, conf, db, dist, lib, y scripts. Cambie al directorio scripts y copie el fichero build.default.properties en un nuevo fichero build.properties, a fin de editarlo sin alterar el original. Por ejemplo en Linux:

    > cd scripts
    > cp build.default.properties build.properties
    > vi build.properties

Este fichero contiene todos los parámetros necesarios para configurar Siette, y tiene un aspecto parecido al siguiente:

   db.host=localhost
   db.port=3306
   db.instance=siette
   db.username=siette
   db.password=dbpwd
   dbms=mysql
   tomcat.root=/var/lib/tomcat4/
   cookies.enabled=false
   app.deploy=${tomcat.root}webapps/
   log4j.email.dir=siette@yourmail.com
   log4j.email.host=smtp.yourmail.com
   log4j.file.path=/tmp/SIETTE.log
   log4j.level=FATAL
   change.pwd.max.duration=10800000
   siette.cipher.class=siette.security.crypto.SiettePlainTextCipher

En el caso de Oracle,

   db.host=localhost
   db.port=5132
   db.instance=xe
   db.username=siette
   db.password=dbpwd
   dbms=oracle
   ....

Los primeros 5 parámetros corresponden a la configuración de la base de datos que debio crearse con anterioridad.

El parámetro dbms puede tener solamente dos valores mysql o oracle

El parámetro tomcat.root indica el directorio en el que esta instalado el servidor de aplicaciones Tomcat.

El parámetro cookies.enabled indica si el servidor web debe utilizar cookies o reescritura de URLs. Puede tomar los valores true o false. Si no sabe lo que esto significa dejelo a false.

El parámetro app.deploy indica el directorio en donde Tomcat despliega las aplicciones. Normalmente es el directorio webapps por lo que no es necesario cambiarlo.

Los 4 parametros que aparecen a continuacion configuran la salida de errores de SIETTE. El primero es la dirección de correo a donde se enviarán mensajes en caso de error. El segundo es el nombre de la maquina de correo saliente. El tercero es el ombre de fichero en donde se almacenan los mensajes de error. El cuarto y último indica el nivel de error que se desea. Puede tomar tres valores DEBUG, ERROR y FATAL. Salvo que sea usted parte de la comunidad de dearrollo de Siette, se recomienda usar el valor FATAL.

El parámetro change.pwd.max.duration indica el tiempo, en segundos, despues del cuál el sistema pedirá a los usuarios que modifiquen su contraseña.

El parámetro siette.cipher.class modifica el modo en que Siette almacena en la base de datos las contraseñas de los usuarios. Hay tres modos, correspondientes cada uno de ellos a una clase Java que realiza el cifrado, que corresponden a los valores:

Una vez configurados los parametros en el fichero anterior, se procede a instalar los distintos componentes, comenzando por la base de datos. Para ello se ejecuta la instrucción, en Linux:

     > ./install.sh all

o bien en Windows:

     > install.bat all

En lo sucesivo se asume que la instalación se realiza en Linux, ya que salvo esta pequeña diferencia, y la diferencia en la denominación de los directorios, toda la instalación es igual.


Puesta en marcha

Una vez completada satisfactoriamente la instalación es conveniente reiniciar el servidor web. Para ello vaya al directorio bin del paquete Tomcat y ejecute las siguientes instrucciones, recuerde que no es aconsejable que ejecute el servidor con el usuario root:

     > cd .../tomcat4/bin
     > ./shutdown.sh
     > ./startup.sh

A continuación utilizando un navegador web, intente acceder a la página (utilice el nombre de la maquina y el puerto que haya configurado en el servidor de aplicciones) :

     http://localhost:8080/siette

Si todo va bien debe mostrar la página inicial de entrada, similar a:

Login.png

Introduzca como nombre de usuario root y como contraseña root. En la siguiente pantalla complete los datos que le solicita y cambie la contraseña de administrador. El proceso de instalación ha terminado.

Si no consigue completar la instalación de este modo, desinatale e intente volver a instalar paso a paso. (Ver secciones siguientes).

Instalación paso a paso

1. Creacíon de la base de datos

Para instalar la base de datos se ejecuta la instrucción, (en Linux):

     > ./install.sh db

El programa de instalación solicita confirmación para proceder a la instalación de la base de datos. Dependiendo de la maquina la ejecucion del script de creación de la base de datos, es normal que tarde aproximadamente un minuto y medio.

La base de datos solo se instala una vez, si lo hace por segunda vez debe utilizarse la instrucción:

     > ./install.sh db-restore

Esta instrucción borra los datos almacenados anteriormente y crea de nuevo la base de datos. Tenga cuiddo sie emplea esta instruccion sobre una base de datos que contenga información anterior, ya que no tiene marcha atrás.

IMPORTANTE: Si instala una nueva version de Siette sobre otra anterior no debe volver a crear la base de datos.

2. Instalación del contexto auxiliar

Para su ejecución siette requiere de un contexto adicional denominado siette.htdocs, que se instala sobre el servidor de aplicaciones, y que se utiliza para añadir al servidor ficheros multimedia, e instanciar las preguntas generativas. Para instalar este contexto se emplea la instrucción

     > ./install.sh htdocs

IMPORTANTE: Si instala una nueva version de Siette sobre otra anterior no debe volver a instalar el contexto auxiliar, ya que borrará su contenido.

3. Instalacion de la aplicación

Para desplegar la aplicacion web, se utiliza la instrucción

     > ./install.sh tomcat

o bien:

     > ./install.sh tomcat-unpacked

En el primer caso la aplicacion se instala mediante un archivo siette.war, y en el segundo este archivo se descomprime y se despliega completamente sobre un directrio siette. En la mayoria de los casos es preferible la primera opción.

La instalación de la aplicación despliega en el servidor de aplicaciones (Tomcat) otro contexto adicional denominado siette.htdocs, que se instala siempre desplegado y que es necesario para permitir subir al servidor ficheros multimedia, y para urtilizar pleantillas para preguntas generativas.

4. Instalación de la asignatura de demostración

Siette incluye una asignatura especial, que se usa como ejemplo de las diversas caracteristicas del programa. Para instalar esta asignatura es necesario que se haya completado correctamente la instalación de la aplicación, la base de datos y el contexto adicional, e invocar la instrucción:

     > ./install.sh demo

Desinstalación

Para desistalar completamente Siette utilice la instrucción:

     > ./uninstall.sh all

Tambien puede desistalar paso a paso, la base de datos, el contexto auxiliar, y la aplicación, utilizando uninstall seguido del componente que desea desinstalar.

     > ./uninstall.sh db
     > ./uninstall.sh htdocs
     > ./uninstall.sh tomcat
     > ./uninstall.sh demo

Apache Proxy

El servidor siette se puede montar debajo de apache, sirviendo este como proxy. Para ello es necesario instalar normalmente siette en tomcat, por ejemplo en el puerto 8080 y redirigir el servidor de apache para que las llamadas a siette sean redirigidas al servidor tomcat.

Para ello se deben incluir las instrucciones en el fichero de configuracion de Apache

  ProxyPass /MathJax http://localhost:8080/MathJax
  ProxyPassReverse /MathJax http://localhost:8080/MathJax
  
  ProxyPass /siette.external.demo http://localhost:8080/siette.external.demo
  ProxyPassReverse /siette.external.demo http://localhost:8080/siette.external.demo
  
  ProxyPass /siette.htdocs http://localhost:8080/siette.htdocs
  ProxyPassReverse /siette.htdocs http://localhost:8080/siette.htdocs
  
  ProxyPass /siette http://localhost:8080/siette
  ProxyPassReverse /siette http://localhost:8080/siette

Puede que al hacer esto haya problemas con la cache de algunas paginas de Siette, para evitar este problema se puede modificar la directiva de apache que controla el tiempo de cache.

  ExpiresDefault A0


Resolucion de problemas

   ant: Command not found.

El problema es que la utilidad ant no esta instalada en el sistema. Proceda arealizar previamente la instalacion y las librerias adicionales necesarias. Por ejemplo en Linux, puede instalarse (desde el usuario root) mediante

    apt-get install ant  
    apt-get install ant-optional 


     BUILD FAILED
     /home/siette/SRC/siette-head/scripts/build.xml:631: Problem: failed to create task or type script
     Cause: the class org.apache.tools.ant.taskdefs.optional.Script was not found.
       This looks like one of Ant's optional components.
     Action: Check that the appropriate optional JAR exists in
       -/usr/share/ant/lib
       -/home/siette/.ant/lib
       -a directory added on the command line with the -lib argument
  
    Do not panic, this is a common problem.
    The commonest cause is a missing JAR.
   
    This is not a bug; it is a configuration problem
  
    Total time: 0 seconds

Ha olvidado instalar las librerias opcionales de ant, en Linux, por ejemplo, se consigue con la instruccion

    apt-get install ant-optional 


    BUILD FAILED
    java.sql.SQLException: Access denied for user 'siette'@'%' to database 'siette'
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)
        ....

El problema no esta en la instalación de Siette, sino en el usuario/contraseña de MySQL. Pruebe a conectar directamente a la base de datos mediante el cliente

    > mysql -u siette -h localhost -p


    BUILD FAILED
    /home/siette/SRC/siette-head/scripts/install.xml:265: java.sql.SQLException: Excepción de E/S: Connection refused
        (DESCRIPTION=(TMP= (VSNNUM=169870336)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
     ....

El problema no esta en la instalación de Siette, sino en el usuario/contraseña de Oracle. Pruebe a conectar directamente a la base de datos mediante el cliente

    > sqlplus siette


Si no lo consigue, pongase en contacto con el administrador de la base de datos. Probablemente el usuario no se ha creado correctamente o la contraseña no es correcta.

    BUILD FAILED
    java.sql.SQLException: Table 'COLAB_LOG' already exists
       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
       ...


Ha intentado crear la base de datos sobre otra que ya existía anteriormente. Si desea vover a instalar desde el primncipio la base de datos use la instrucción

     > ./install.sh db-restore
     BUILD FAILED
     .../siette-3.4-dist/scripts/install.xml:35: Failed to 
     copy .../siette-3.4-dist/lib/mysql-connector-3.1.12/mysql-connector-java-3.1.12-bin.jar 
     to .../tomcat6/common/lib/mysql-connector-java-3.1.12-bin.jar due to
     java.io.FileNotFoundException .../tomcat6/common/lib/mysql-connector-java-3.1.12-bin.jar 
     (No such file or directory)

No se ha podido instalar la aplicacion en el directorio especificado en el archivo build.properties. Probablemente esta intentando instalar la aplicacion sobre Tomcat6, pero en el fichero de comnfiguracion ha especificado que se trata de Tomcat4


   BUILD FAILED
   /home/siette/SRC/siette-head/scripts/install.xml:517: Error, could not perform backup copy of conf/server.xml file

Al instalarse, Siette realiza algunos cambios en el fichero de configuracion de Tomcat, y hace una copia de seguridad del fichero anterior. Compruebe que existe el fichero server.xml dentro del directorio conf del Tomcat, y que el usuario que esta realizando la instalacion tiene permisos de lectura y escritra sobre ese directorio.


     BUILD FAILED
     .../siette-3.4-dist/scripts/install.xml:53: 
     Directory .../tomcat4/webapps/siette.htdocs creation was not successful 
     for an unknown reason

No se ha podido instalar la aplicacion en el directorio especificado en el archivo build.properties. Compruebe que existe el directorio .../tomcat4/webapps/ (o equivalente en otras versiones) y que tiene permiso de escritura en él.


     BUILD FAILED
     .../siette-3.4-dist/scripts/install.xml:488: Error, could not 
     create document from xml file [.../tomcat/webapps/siette/WEB-INF/web.xml]

La instalacion no se ha podido completar porque no se ha podido modificar el fichero web.xml. Una de las razones por las que esto ocurre es la definicion del fichero DTD del archivo de configuracion de la aplicacion web.xml. La ubicacion del fichero original puede obtenerse en: http://java.sun.com/dtd/web-app_2_3.dtd.


    root cause
    
    java.lang.NullPointerException
        at siette.repositorio.BaseDatos.select(BaseDatos.java:228)
        at siette.repositorio.BaseDatos.select(BaseDatos.java:288)
        ...

Se ha producido un error cuando siette intenta acceder a la base de datos. Compruebe el nombre de usuario, la contraseña, y demas parametros, e inspeccione el fichero de Tomcat-4 .../tomcat4/conf/server.xml, compruebe que en este fichero se ha declarado el contexto /siette y el contexto auxiliar /siette.htdocs

     <Context path="/siette" docBase="siette.war" debug="0" reloadable="true" crossContext="true" cookies="false">
        <Resource name="jdbc/sietteBD" auth="Container" type="javax.sql.DataSource" />
        ....
     </Context>
     <Context path="/siette.htdocs" docBase="siette.htdocs" debug="0" reloadable="true" crossContext="true" />

-- Compruebe asimismo que la declaracion del contexto /siette (en el fichero ../tomcat/conf/server.xml) contiene los valores correctos para acceder a la base de datos.

-- Compruebe que el usuario tiene acceso a la base de datos, y que la base de datos no está vacía.

-- Edite el fichero .../tomcat/logs/catalina.out, y vea si se ha producido algún mensaje de error relacionado con Siette.

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegacion
Manual de SIETTE
Herramientas
Otros idiomas