Instalar SIU-TOBA bajo Debian

Hola, como andan? soy nuevo en todos los aspectos, tanto en el foro como en el TOBA. Estuve probando la instalacion del toba pero no logre llegar a que ingrese a la url localhost/toba_editor.
instale de forma manual el Apache, PHP y PostgreSQL, todo en sus ultimas versiones.
No lograba crear la base de datos toba_1_1_0 porque me decia que queria crearlo con el encoding LATIN1 y yo tenia en LC_CTYPE el es_AR_UTF8 (O algo parecido…)
Asique la cree de forma manual con createdb -E UTF8 toba_1_1_0
y despues de eso pude hace ./toba instalar instancia (no me acuerdo como era la sentencia)
pero finalmente no puedo hacer que funcionara…

alguna pista?

muchas gracias desde ya!!

Saludos!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Hola Ricardo! bienvenido al foro antes que nada.

cuando decís:

es por que estabas tratando de generar la base de toba a mano?

Acordate que esa base la genera el instalador. Para cambiar el encoding dafault del cluster, hay que volver a generarlo con el comando initdb, pero antes de eso sería bueno que adjuntes el error textualmente o subas una captura de pantalla, para que podamos verlo mejor, por que no termino de entender si terminaste bien la instalacion de Toba o no. Termino bien la instalación del toba? Si la terminaste bien ¿Configuraste bien el apache para que encuentre el toba.conf?

Saludos, Esteban.

Hola Esteban, muchas gracias por la bienvenida, y también gracias por la creación de este foro, es una gran ayuda para todo!!!

Ahora bien, Elimine la base toba_1_1_0 que había creado de forma manual. e intente hacer ./instalar desde la linea de comandos y me sale todo esto.

Identificador del proyecto a crear (no utilizar mayusculas o espacios, puede ser vacio si no se quiere crear): prueba


Creaci�n de la instancia

Creando base ‘toba_1_1_0’… ERROR ejecutando SQL. – Mensaje MOTOR: [SQLSTATE[XX000]: Internal error: 7 ERROR: encoding LATIN1 does not match server’s locale es_AR.UTF-8
DETAIL: The server’s LC_CTYPE setting requires encoding UTF8.]-- SQL ejecutado: [CREATE DATABASE “toba_1_1_0” ENCODING ‘LATIN1’;].


TIEMPO: 30,200 segundos
debian:/usr/local/apache2/htdocs/toba/bin#

ahi me quedo siempre, lo unico que hice es copiar la carpeta toba a: /usr/local/apache2/htdocs, que es la direccion en donde instale el apache.

Muchas gracias por la ayuda!

Saludos


Ricardo Pellicer
UNSE - Facultad de Humanidades

Meto la nariz un poco :slight_smile:

¿Puede ser que sea un postgres 8.3? Si es así aún no tenemos soporte para esta versión, entre otras cosas porque no permite crear una base con un encoding distinto al del cluster. Por si sirve de ayuda las veces que hemos instalado toba en debian/ubuntu fuimos dejando estas notas referentes al encoding, capaz te sirven para cambiar el encoding del sistema:
http://desarrollos2.siu.edu.ar/trac/toba/wiki/Instalacion/Encoding

No recomendamos utilizar esta carpeta ya que su contenido es totalmente navegable y traería problemas de seguridad. Un lugar piola para instalarlo sería /var o /usr/local si es para producción, o en el home si es para desarrollo.

Saludos,
Seba

Hola Seba! muchas gracias por la ayuda! Tienes razon sobre el PostgreSQL, tengo la version 8.3. Lei lo que me pasaste en el link, y si tengo el encoding en UTF8, voy a modificar el locale e intentare nuevamente.
Por la parte de la seguridad voy a seguir tu consejo, pero a esta instalacion la estoy haciendo bajo mi pc personal y no tengo problemas de seguridad pero apenas lo haga bajo el servidor de la facultad pongo la carpeta en donde me sugieres.

Muchas gracias nuevamete!!

Saludos!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

De nada!. Lo que te recomendaría es que hagas un downgrade del paquete a la 8.2, porque por más que hagas andar el tema encoding en la 8.3, toba mismo y los sistemas del SIU en general aún no tienen soporte para esta versión, particularmente se dejaron de lado algunos cast automáticos de tipos que afectan a casi todos los sistemas. Creo que el paquete postgresql-8.2 sigue estando en debian unstable.

Hola Seba! gracias nuevamente, voy a bajar a la version 8.2 ahora mismo!!

Saludos!!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Con el aptitude podes hacer el downgrade y un hold para no tener problemas. Ejemplo para instalar la 8.1:

aptitude install postgresql-8.1

con esto instalas o haces el downgrade, según lo que tengas instalado.

Para no tener problemas con las actualizaciones, lo mas recomendable es retener el paquete que sabes que funciona bien. Así que una vez que esta todo funcionando, haces lo siguiente:

aptitude hold postgresql-8.1

y con eso te aseguras de que no se hagan upgrades del postgres cuando actualizas el sistema operativo.

Me olvidaba: para saber que versión de postgres hay disponible, podes usar el apt-cache de la siguiente manera:

apt-cache search postgresql

Ahí vas a poder ver la lista de versiones disponibles de postgres.

Saludos, Esteban.

Hola de nuevo! paso a comento lo que estoy haciendo ahora…
Me pase a instalar el toba en el servidor web que tengo en la facu, en este servidor tengo el php 5.1.1, el apache2 y la version 8.1 del cliente postgresql
Tengo solo el cliente por el hecho de que el servidor lo tengo en otra pc, tambien con la misma version 8.1

El problema es el siguiente…

Las librerias pdo.so y pdo_pgsql.so no las tenia, asique hice:
pecl install pdo
pecl install pdo_pgsql

y las instalo correctamente.

despues las puse en el archivo ini.php como lo dice el tutorial.

pero cuando hago sobre la carpeta bin del toba ./instalar

me dice lo siguiente:

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php-5.1.1/ext/pdo.so’ - /usr/local/php-5.1.1/ext/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php-5.1.1/ext/pdo_pgsql.so’ - /usr/local/php-5.1.1/ext/pdo_pgsql.so: cannot open shared object file: No such file or directory in Unknown on line 0


Instalaci�n Toba 1.1.0


ERROR: Necesita activar la extension ‘pdo_pgsql’ en el archivo php.ini

muchas gracias por la ayuda!!!

Saludos!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Hola Ricardo,

Lo que te esta diciendo es que no esta encontrando los archivos en el directorio de extensiones. Una forma de encontrarlos es con el comando “locate” de la sig forma:

updatedb

Con esto haces un update de la base de datos de búsqueda. Luego los buscas:

locate pdo.so
locate pdo_pgsql.so

Si los tenes en algún lado, los va a encontrar. Lo aconsejable sería que crees un link simbólico en la carpeta de las extensiones de php, osea en “/usr/local/php-5.1.1/ext/”, que apunte a donde tengas las librerías.

Para eso tenes que pararte en la carpeta de las extensiones y ejecutar el comando “ln” de la sig. manera:

ln -s /path_a_las_librerias/pdo.so
ln -s /path_a_las_librerias/pdo_pgsql.so

Saludos, Esteban.

Hola esteban, por fin logre hacer anda todo salvo por una sola cosa… me da este error apenas esta terminando de instalar el toba.

Identificador del proyecto a crear (no utilizar mayusculas o espacios, puede ser vacio si no se quiere crear): prueba


Creaci�n de la instancia

Creando base ‘toba_1_1_0’…OK
Creando las tablas del sistema…OK
Cargando datos del nucleo…OK

toba_editor:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos…OK

toba_referencia:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos…OK

toba_instancia:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos.OK

Cargando datos de la instancia.OK
Actualizando secuencias…OK

Fatal error: Call to undefined function hash() in /usr/local/toba/php/lib/toba_varios.php on line 499

me falta compilar el php con algun modulo mas, para que pueda usar esa funcion?

Gracias desde ya!!!

Saludos!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Hola Ricardo,

Claramente el problema es con la función hash de php. Para fijarte si esta la opción habilitada:

Desde la linea de comandos ejecutar: php5 -i | grep hash
Con esto visualizamos la información del php relacionada a la función de hash. Deberías ver algo como: hash support => enabled.

Si no esta habilitado, antes de compilar hay que pasarle el flag: --enable-hash

Saludos, Esteban.

Hola Esteban!! gracias por contestar!!
Estuve viendo el help del configure del php5 y no tiene --enable-hash. asi que lo instale con pecl install hash y funciono correctamente, pero como siempre se soluciona algo y aparece otra cosa mas…

te paso todo lo que me dio el ./instalar del toba


Instalaci�n Toba 1.1.0

PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0
Ya existe una instalaci�n anterior desea conservarla ? (Si o No)
(s/n):n
Ubicaci�n del servidor Postgres (ej. localhost): localhost
Usuario del servidor (ej. dba): postgres
Clave de conexi�n: 123456
La base ‘toba_1_1_0’ ya est� siendo utiliza en este servidor, puede ingresar un nombre distinto sino quiere sobrescribirla: (ENTER sobrescribe la actual):
Identificador del proyecto a crear (no utilizar mayusculas o espacios, puede ser vacio si no se quiere crear): prueba


Creaci�n de la instancia

Eliminando base ‘toba_1_1_0’…OK
Creando las tablas del sistema…OK
Cargando datos del nucleo…OK

toba_editor:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos…OK

toba_referencia:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos…OK

toba_instancia:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos.OK

Cargando datos de la instancia.OK
Actualizando secuencias…OK
Clonando item de login… PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0

PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0

/usr/local/toba/bin/toba: line 10: 32254 Violaci�n de segmento php $toba_dir/php/consola/run.php $*

Error clonando el item de login. Comando ejecutado:

/usr/local/toba/bin/toba item ejecutar -p toba_editor -i desarrollo -t 1000043 -orig_proy toba_editor -orig_item 1000042 -dest_proy prueba -dest_padre “raiz” -dest_fuente prueba -dest_dir login -u toba

Para m�s informaci�n ver el log del proyecto toba_editor


TIEMPO: 34,853 segundos

con el error violacion de segmento no se a que se refiere… tendre algun problema con los permisos??

Gracias nuevamente!!

Saludos!!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Hola Ricardo,
El error proviene de que la configuración de la extensión pdo y pdo_pgsql esta dos veces, por eso el mensaje

PHP Warning: Module 'PDO' already loaded in Unknown on line 0 PHP Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0

Por lo general en debian la inclusion de estas extensiones se hace en los archivos /etc/php5/cli/conf.d/pdo.ini y /etc/php5/cli/conf.d/pdo_pgsql.ini por lo que no es necesario incluirlo manualmente en /etc/php5/cli/php.ini como supongo debe estarlo. Probá buscar las lineas

extension=pdo.so extension=pdo_pgsql.so

en el php.ini (generalmente al final del archivo) y comentarlas ateponiendoles un punto y coma:

;extension=pdo.so ;extension=pdo_pgsql.so

Podés comprobar que el error no se esta produciendo ejecutando

php -v
en la línea de comandos y confirmando que no se emite mensaje de error.

Hola Sebastian, como andas? muchas gracias por la ayuda, pero sigue sin funcionar. esta dando el error que a continuación te muestro

Cargando datos globalesOK
Cargando componentesOK
Cargando permisos BUSCAR ARCHIVOS: El directorio ‘/usr/local/toba/proyectos/prueba/metadatos/permisos’ es INVALIDO

Cargando datos de la instancia.OK
Actualizando secuencias…OK

Notice: Undefined offset: 0 in /usr/local/toba/php/modelo/toba_modelo_proyecto.php on line 941
ERROR ejecutando SQL. – Mensaje MOTOR: [SQLSTATE[23503]: Foreign key violation: 7 ERROR: inserci�n o actualizaci�n en la tabla �apex_usuario_proyecto� viola la llave for�nea �apex_usu_proy_fk_grupo_acc�
DETAIL: La llave (proyecto,usuario_grupo_acc)=(prueba,) no est� presente en la tabla �apex_usuario_grupo_acc�.]-- SQL ejecutado: [INSERT INTO apex_usuario_proyecto (proyecto, usuario, usuario_grupo_acc, usuario_perfil_datos)
VALUES (‘prueba’,‘toba’,‘’,‘no’);].

Realmente no se que puede ser…
Disculpen la insistencia…

Saludos!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

¡Fuerza Ricardo que falta poco! Al menos las precondiciones ya parecen estar satisfechas.
Creo que se lo que esta pasando, luego de tantos prueba-error el proyecto ‘prueba’ quedo a medio camino de creación.
Proba ejecutar:

rm -rf /usr/local/toba/proyectos/prueba rm -rf /usr/local/toba/instalacion

y luego re ejecuta el instalador.
El primer directorio es del proyecto creado, el segundo es donde la instalacion guarda todas sus configuraciones.
Muchas gracias a vos, todo esto nos va a servir para mejorar la detección de problemas durante la instalación!

Hola seba, Muchas gracias por el aguante y la gran ayuda que me estas dando y por supuesto también muchas gracias para esteban, pero… parece que empieza a ser costumbre… tengo otro problemita, no se si es un error, el script no lo comenta como error, aquí te mando lo que me dice:

toba_instancia:

Cargando datos globales…OK
Cargando componentes…OK
Cargando permisos.OK

desarrollo:

Cargando datos globales BUSCAR ARCHIVOS: El directorio ‘/usr/local/toba/proyectos/desarrollo/metadatos/tablas’ es INVALIDO

También comento que puse Include “/usr/local/toba/instalacion/toba.conf” en el httpd.conf de apache
y cuando voy al Iceweasel y pongo localhost/toba_editor no pasa nada.

Otra vez un millón de gracias!!!

Saludos!!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Idem que el caso anterior, en algun intento de instalacion ante la pregunta ‘Ingrese nombre de proyecto a crear’ se ha respondido ‘desarrollo’ y se creo la carpeta ‘’/usr/local/toba/proyectos/desarrollo’ a medias. La solución debería ser similar a la anterior

rm -rf /usr/local/toba/proyectos/desarrollo rm -rf /usr/local/toba/proyectos/prueba rm -rf /usr/local/toba/instalacion
y ejecutar nuevamente el instalador. Para evitar algún otro posible intento de proyecto creado a medias podés revisar que en
/usr/local/toba/proyectos
sólo existan las carpetas
toba_editor toba_instancia toba_referencia toba_testing

Hola Sebastian, disculpame la tardanza, en realidad disculpame la molestia…
probe lo que me dijiste, borre todas las carpetas que me dijiste, e instale de nuevo el toba.

el error que me muestra es este:

Cargando datos de la instancia.OK
Actualizando secuencias…OK
Clonando item de login… /usr/local/toba/bin/toba: line 10: 24628 Violaci�n de segmento php $toba_dir/php/consola/run.php $*

Error clonando el item de login. Comando ejecutado:

/usr/local/toba/bin/toba item ejecutar -p toba_editor -i desarrollo -t 1000043 -orig_proy toba_editor -orig_item 1000042 -dest_proy prueba -dest_padre “raiz” -dest_fuente prueba -dest_dir login -u toba

Para m�s informaci�n ver el log del proyecto toba_e

trate de ver el log del proyecto pero realmente no lo encuentro.

muchas gracias!!!

Saludos!!


Ricardo Pellicer
UNSE - Facultad de Humanidades

Hola Sebastian! después de tanto probar logre instalar el toba!!! pero tengo unos warnings en la carga de la aplicacion

me aparece esto:

Warning: mkdir() [function.mkdir]: Permission denied in /usr/local/toba/php/lib/toba_manejador_archivos.php on line 17

Fatal error: Uncaught exception ‘toba_error’ with message ‘No es posible crear el directorio /usr/local/toba/instalacion/i__desarrollo/p__toba_editor/logs, verifique que el usuario de Apache posea privilegios de escritura sobre este directorio’ in /usr/local/toba/php/lib/toba_manejador_archivos.php:18 Stack trace: #0 /usr/local/toba/php/nucleo/lib/toba_logger.php(450): toba_manejador_archivos::crear_arbol_directorios(‘/usr/local/toba…’, 508) #1 /usr/local/toba/php/nucleo/lib/toba_logger.php(440): toba_logger->guardar_archivo_log(‘-o-o-o-o-o-??Fe…’, ‘sistema.log’) #2 /usr/local/toba/php/nucleo/lib/toba_logger.php(381): toba_logger->guardar_en_archivo(‘sistema.log’) #3 /usr/local/toba/php/nucleo/toba_nucleo.php(74): toba_logger->guardar() #4 /usr/local/toba/proyectos/toba_editor/www/aplicacion.php(18): toba_nucleo->acceso_web() #5 {main} thrown in /usr/local/toba/php/lib/toba_manejador_archivos.php on line 18

es el ultimo paso lo que me falta, realmente esto fue un parto… pero creo que ya aprendí bastante…

Para que a otros usuarios de debian no sufran tanto, el problema era simplemente que la base de datos toba_1_1_0 estaba corrupta solo la elimine desde psql y se instalo todo bien… salvo por este ultimo detalle!!

Gracias a Sebastian y a Esteban!!!

Saludos!!!


Ricardo Pellicer
UNSE - Facultad de Humanidades