Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Instalar Firebird 2.0x en CentOS desde linea de comandos (https://www.clubdelphi.com/foros/showthread.php?t=75907)

guillotmarc 26-09-2011 20:11:43

Instalar Firebird 2.0x en CentOS desde linea de comandos
 
Hola amigos.

Tengo la necesidad de instalar Firebird 2.0x en un servidor con CentOS (derivado de RedHat/Fedora) y la única conexión que puedo realizar es mediante SSH.

¿ Me podéis orientar a un tutorial o con algunas instrucciones sobre como hacerlo ? (hace un siglo que no toco un Unix, y nunca he manejado un Linux desde su shell).

Gracias.

RONPABLO 26-09-2011 21:51:27

Tal vez esto y esto le sirva..

Casimiro Notevi 26-09-2011 22:57:14

También te puede servir esto, aunque es para ubuntu.

guillotmarc 27-09-2011 12:28:25

Gracias chicos,

El enlace de Casimiro parece más sencillo de ejecutar (y no dependo de una traducción automática japonés-inglés). Pero Ubuntu se basa en paquetes Debian, y CentOS se basa en RedHat, es decir, paquetes RPM. No sé si realmente voy a poder instalar en CentOS los paquetes que indica el tutorial. Aparte de eso hay varios problemas menores, como que no sé como averiguar si Libstdc++5 está instalado o no está instalado, ya que no quiero machacar archivos existentes, rompiendo cosas que ya funcionan; y finalmente queda el problemilla de copiar al servidor los paquetes descargados desde Windows (bueno, esto imagino que será lo más fácil).

Por otro lado, el tutorial de RonPablo está basado sobre CentOS, por lo que no me tengo que preocupar de que los paquetes no sean compatibles con el sistema (son RPM). Pero este tutorial tiene sus propios problemas, como comprobar la versión del sistema, etc, ..., aunque el principal es que se trata de una traducción automática japonés-inglés, no todo lo que dice ha quedado bien, y hay párrafos que simplemente no entiendo que quiere indicar el autor (otros problemas menores son cosas como que el autor saca el libstdc++.so.5 de un DVD, pero no parece que yo tenga esta opción).

Bueno, ahora recuerdo porqué siempre me he mantenido alejado de Linux :). Voy a hacer algunas pruebas, espero no cargarme nada y ya os contaré.

Gracias.

Casimiro Notevi 27-09-2011 12:36:26

Al instalar libstdc++.so.5 no rompes nada ni deja de funcionar otras cosas.
Puedes tener libstdc++.so.4, libstdc++.so.6, etc. si lo usan otros programas, con total independencia unos de otros.
¿Has descargado ya firebird?, seguramente tengas un "install" o un "leeme".

newtron 27-09-2011 13:13:02

Cita:

Empezado por guillotmarc (Mensaje 413580)
Bueno, ahora recuerdo porqué siempre me he mantenido alejado de Linux :)

A ver si un tal Casimiro se te va a tirar al cuello por decir eso. :D

Casimiro Notevi 27-09-2011 14:07:52

No, hombre, no. Es que no ha explicado por qué se mantiene alejado de linux, seguramente es poque luego no le gusta windows cuando vuelve a él :)

guillotmarc 27-09-2011 14:52:06

Esto ha ido bastante mejor de lo esperado :) El libstdc++.so.5 ya estaba instalado, y la instalación del RPM en la web de descargas de Firebird ha funcionado sin problemas.

Ahora tengo Firebird 2.0.6 instalado, y funciona.

Solo me falta ponerlo a trabajar con mi base de datos.

Sé que Firebird funciona porqué si creo una base de datos nuevas me deja crearla y puedo trabajar bien con ella añadiendo tablas y datos. Pero solo puedo crearla dentro de /opt/firebird, en cualquier otra carpeta me deniega el acceso.

El problema viene cuando copio mi base de datos PRUEBAS.DAT (se ha creado en Windows, pero hasta donde tengo entendido, debería funcionar bien en Linux) a la misma carpeta /opt/firebird. La primera vez que conecto me da un error de que el usuario no puede acceder al archivo. Cambio los permisos con chmod -rwxrwxrwx PRUEBAS.DAT, y cuando intento conectar recibo este error :

Unsuccessful execution caused by a system error that precludes successful execution ob subsequent statements.
I/O error for file "/opt/firebird/PRUEBAS.DAT"
Error while trying to open file
Permission denied

¿ Creéis que es un problema de permisos ?, ¿ habrá que cambiarle el propietario ?, ¿ que más puedo intentar ?.

Gracias.

Casimiro Notevi 27-09-2011 15:09:40

Deberías poner tu base de datos en otro directorio, por ejemplo en un /home/un_usuario/datos

Deberías cambiar el propietario del mismo chown firebird.firebird tubasedatos.fdb (tanto al directorio donde estará como a la propia BD)

No le des permisos 777, sólo firebird (su propietario) va a leer y escribir, así que los usuarios de otro grupo o los otros usuarios no deben ni tener acceso.

Además deberías (hacerlo sí o sí) hacer un backup transportable de tu BD en windows y restaurar el gbk después en linux.
gbak -b -v -t ( t de transportable ) -user sysdba -password masterkey tubd.fdb tubd.gbk

Y ya sabes que no tienes que compartir nada en el sistema, que es el propio servidor firebird el que recibe las peticiones por el puerto 3050 y él se encarga de acceder a la BD, a la que sólo debe tener permiso para acceder el propio firebird.

Recuerda también usar siempre la IP para conectar, o localhost si estás en el mismo equipo: 192.168.1.100:/home/pepe/labasedatos.fdb

Y nada más.

¿Verdad que fue fácil instalarlo? ;)

Edito: ¿por qué la versión 2.0?

cloayza 27-09-2011 15:14:32

Como para resumir...

Fácil y bonito...

Eso es lo que me gusta de Firebird....

:D

Sobre la conexion y ubicación de la base de datos, te recomiendo uses los alias...

En la carpeta de instalación de firebird /opt/firebird existe el archivo aliases.conf

Contenido /opt/firebird/aliases.conf
Cita:

#
# List of known database aliases
# ------------------------------
#
# Examples:
#
# dummy = c:\data\dummy.fdb
Tu_Base_Datos=/home/un_usuario/datos
En la cadena de conexion de tu sistema en vez de colocar:

Cita:

192.168.1.2:/home/un_usuario/datos
Escribes

Cita:

192.168.1.2:Tu_Base_Datos
Esto te da mas flexibilidad para ubicar donde almacenar tus bases de datos.

Saludos

guillotmarc 27-09-2011 15:36:46

Cita:

Empezado por Casimiro Notevi (Mensaje 413595)
Deberías poner tu base de datos en otro directorio, por ejemplo en un /home/un_usuario/datos

Deberías cambiar el propietario del mismo chown firebird.firebird tubasedatos.fdb (tanto al directorio donde estará como a la propia BD)

No le des permisos 777, sólo firebird (su propietario) va a leer y escribir, así que los usuarios de otro grupo o los otros usuarios no deben ni tener acceso.

Además deberías (hacerlo sí o sí) hacer un backup transportable de tu BD en windows y restaurar el gbk después en linux.
gbak -b -v -t ( t de transportable ) -user sysdba -password masterkey tubd.fdb tubd.gbk

Y ya sabes que no tienes que compartir nada en el sistema, que es el propio servidor firebird el que recibe las peticiones por el puerto 3050 y él se encarga de acceder a la BD, a la que sólo debe tener permiso para acceder el propio firebird.

Recuerda también usar siempre la IP para conectar, o localhost si estás en el mismo equipo: 192.168.1.100:/home/pepe/labasedatos.fdb

Y nada más.

Sí, me había dado cuenta al hacer un Backup en Windows / Restore en Linux y encontrar exactamente el mismo error. Ya no podía ser un error con la estructura del archivo. Al cambiar el propietario la nueva base de datos ha funcionado correctamente.

Incluso he vuelto a probar la misma base de datos copiada directamente de Windows y funciona perfectamente en Linux una vez cambiado el propietario :). Me encanta esta facilidad de Firebird para manejar la base de datos (ya sé que no es aconsejable y no suelo hacerlo con la base de datos final, pero es comodísimo poder hacerlo con bases de datos intermedias durante los traspasos, etc. ...).

Gracias por los consejos, voy a utilizar la carpeta que me indicas y no voy a dar más derechos de los necesarios.

Cita:

Empezado por Casimiro Notevi (Mensaje 413595)
¿Verdad que fue fácil instalarlo? ;)

Sorprendentemente fácil. Realmente lo único que no se ha ejecutado como se podría esperar es que me pusiera una contraseña al azar (que he quitado con GSEC, ya que el changeDBAPassword.sh no lo he sabido ejecutar).

El resto del tiempo perdido, ha sido todo por mi propia torpeza con Linux, ya que hace 15 años que no toco un Unix, y todo me ha llevado bastante tiempo (copiar archivos del equipo de Windows a Linux, listar y cambiar permisos, ejecutar las utilidades de línea de comandos, etc. ...).

Cita:

Empezado por Casimiro Notevi (Mensaje 413595)
Edito: ¿por qué la versión 2.0?

La versión 2.06 es estable y tengo todos los clientes de ese programa con esta versión.

Me gusta mucho la versión 2.5 y está claro que ha llegado el momento de hacer el cambio (ya la utilizo en otros proyectos), pero cuando lo haga, cambiaré a todos los clientes (son bastantes tiendas pequeñas) y eso representa mucho tiempo. No quiero tener unos con una versión y otros con otra. NOTA: Aún no he revisado que todo funcione bien en Firebird 2.5, incluidas las herramientas externas de Backup, Actualización, etc. ...

guillotmarc 27-09-2011 15:43:38

Cita:

Empezado por cloayza (Mensaje 413597)
Como para resumir...

Fácil y bonito...

Eso es lo que me gusta de Firebird....

:D

Opino exactamente igual.

:) :) :) :)

Casimiro Notevi 27-09-2011 15:58:13

Cita:

Empezado por guillotmarc (Mensaje 413602)
ya que el changeDBAPassword.sh no lo he sabido ejecutar).

sh changeDBAPassword.sh

Gallosuarez 28-09-2011 01:46:10

Otra opción ...
 
guillotmarc:

Primero: bienvenido al maravillo mundo del Software Libre (siiii, ya se que Firebird es Software Libre, y esta base de datos ya la utilizabas desde hace ya un buen tiempo, sin embargo pronto te darás cuenta que utilizarla corriendo sobre un sistemas Linux puedes potenciarla a niveles extraordinarios). Hasta pienso que ya te habías tardado un poco.

Segundo: por otro lado, al utilizar Software Libre te darás cuenta que la palabra que mejor lo describe es "opciones", es decir, tienes una infinidad de opciones para que lo instales de diferentes formas, lo cual te da mucha flexibilidad, para que logres el mayor desempeño en todas tus instalaciones.

Al grano... Firebird lo puedes instalar vía YUM desde el repositorio EPEL (Extra Packages for Enterprise Linux), esto te da la ventaja de que es más fácil de actualizar o instalar los controladores para PHP o Pyton sin que tengas que compilar los paquetes. Solo tienes que hacer lo siguiente:
1) Habilitar el repositorio desde donde puedes instalar Firebird (y muchos otros paquetes). Debes estar firmado como root.

Código PHP:

#rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm 

Como puedes notar en la dirección, este repositorio es para CENTOS 6 plataforma de 64 bits (x86_64). Cambia los valores para que instales los paquetes en la versión y plataforma de acuerdo a tus necesidades.

Después puedes ejecutar el siguiente mandato para que veas todos los paquetes relacionados con Firebird que puedes instalar.
Código PHP:

#yum search firebird 

Para que puedas ver la información detallada de cualquier paquete
Código PHP:

#yum info nombre-del-paquete 

Y para que instales el paquete deseado
Código PHP:

#yum install nombre-del-paquete 

Saludos,
Gerardo Suárez Trejo

P.D. Recuerda que al tratarse de un servidor para base de datos y si quieres que tu servidor esté sintonizado es una buena opción crear una partición solo para tu base de datos y poner la planificación de entrada/salida (Input/Output Scheduling, o I/O scheduling) en deadline. Te recuerdo también que esto depende del tipo de disco duro que tiene el sistema. Tengo mis notas de como hacer esto (aunque no están en forma de un tutorial). Espero tener tiempo y publicar esta info para que se beneficié la comunidad.

RONPABLO 28-09-2011 02:25:00

aaaahhh yo quería enviar un enlace con instrucciones como las (instrucciones) que envió guillotmarc y no lo encontré.. así es como lo he trabajado en debian y me imaginaba que en redhat y derivados debería tener algo similar :( se me hace muy fácil así


:D


La franja horaria es GMT +2. Ahora son las 17:37:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi