Skip to content

Instantly share code, notes, and snippets.

@kikegarcia
Created July 15, 2014 12:28
Show Gist options
  • Save kikegarcia/4ea7d1327db0b5476846 to your computer and use it in GitHub Desktop.
Save kikegarcia/4ea7d1327db0b5476846 to your computer and use it in GitHub Desktop.
Guía instalación DB2 Express Linux/Debian
Guía instalación de DB2-Express en Debian / Red Hat y servidor Apache+PHP con soporte DB2.
Descargar DB2 Express-C for Linux 32bits de:
http://www-01.ibm.com/software/data/db2/express-c/download.html
Crear directorio temporal:
#mkdir /tmp/ibm
Copiar archivo “special_31160_linuxia32_expc.tar” en el directorio /tmp/ibm y descomprimir:
#tar -xvf v10.5fp1_linuxia32_expc.tar.gz -C /tmp/ibm/
#tar -xvf special_31160_linuxia32_expc.tar -C /tmp/ibm/
Instalar dependencias. En mi caso tuve que instalar libpam mediante apt-get (Debian)
#apt-get install libpam0g:i386
En mi caso también tuve que crear un enlace simbólico a la librería:
#ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
Si todas las dependencias están instaladas y bien enlazadas, al usar el siguiente comando de db2 express-c debería aparecer todo correcto:
#./tmp/ibm/db2prereqcheck -v 10.5.0.1
Dentro del directorio temporal de instalación, crear el fichero de respuestas:
#nano db2server-install.rsp
Pegando el siguiente contenido, cambiando los passwords :
PROD = EXPRESS_C
FILE = /opt/ibm/db2
LIC_AGREEMENT = ACCEPT
INTERACTIVE = YES
INSTALL_TYPE = COMPACT
COMP = APPLICATION_DEVELOPMENT_TOOLS // Imprescindible
** Instance Creation Settings
** --------------------------
INSTANCE = DB2_INST
DB2_INST.NAME = db2inst1
DB2_INST.GROUP_NAME = db2grp1
DB2_INST.HOME_DIRECTORY = /home/db2inst1
DB2_INST.PASSWORD = password
DB2_INST.TYPE = ESE
DB2_INST.AUTOSTART = YES
DB2_INST.START_DURING_INSTALL = YES
DB2_INST.SVCENAME = db2cdb2inst1
DB2_INST.PORT_NUMBER = 50000
DB2_INST.FENCED_USERNAME = db2inst1
DB2_INST.FENCED_GROUP_NAME = db2grp1
DB2_INST.FENCED_HOME_DIRECTORY = /home/db2inst1
DB2_INST.FENCED_PASSWORD = password
Ejecutamos el instalador:
./db2setup -r db2server-install.rsp ********** Ver nota abajo
Después de unos minutos debería completar la instalación:
...
Task #33 start
Description: Updating global profile registry
Estimated time 3 second(s)
Task #33 end
The execution completed successfully.
For more information see the DB2 installation log at "/tmp/db2setup.log".
Para comprobar que la instalación fue correcta usamos el siguiente comando:
./opt/ibm/db2/bin/db2val
Que debería devolver lo siguiente:
DBI1379I The db2val command is running. This can take several minutes.
DBI1335I Installation file validation for the DB2 copy installed at
/opt/ibm/db2 was successful.
DBI1343I The db2val command completed successfully. For details, see the log file /tmp/db2val-140530_104343.log.
Con esto ya tendríamos nuestro servidor DB2 Express-C instalado. La guía también cubre la instalación de otras versiones de DB2 de pago. El requisito sería cambiar el archivo de respuestas en la línea donde se menciona el producto (cadena “PROD”) ajustándolo con la versión de DB2 que se quiere instalar:
Para compilar la librería de DB2 para PHP, a continuación hay que usar:
pecl install ibm_db2
Esta guía está más enfocada a la instalación de un servidor web Apache/PHP con soporte para DB2. Se entiende que la máquina que correrá la BBDD será otra. Por lo tanto, te preguntará por la carpeta de instalación, aunque podrías usar la de una instancia de DB2 en el caso de tenerla creada :
“/opt/ibm/db2” o “/home/db2inst1/sqllib”
Si todo es correcto, la compilación terminará de la siguiente forma:
Build process completed successfully
Installing '/usr/lib/php5/20100525+lfs/ibm_db2.so'
install ok: channel://pecl.php.net/ibm_db2-1.9.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=ibm_db2.so" to php.ini
************************************* NOTA *************************************
Es posible que la instalación no pueda realizarse porque falten las cabeceras de los ficheros de desarrollo.
En mi caso, aunque la línea del fichero de respuesta:
“COMP = APPLICATION_DEVELOPMENT_TOOLS“
debería ser suficiente para instalarlas, tuve que realizar la instalación manual de DB2 Express-C con el comando “./db2_install”, indicando que la carpeta de instalación sería “/opt/ibm/db2”
**********************************FIN NOTA ************************************
Documentación usada:
Instalación de Express C debe ser con los headers para poder compilar la librería para PHP:
http://www-01.ibm.com/support/docview.wss?uid=swg21299416
https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014690146
http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.apdv.sample.doc%2Fdoc%2Fese_UNIX%2Fs-db2client.html
http://www.microgestion.com/index.php/mg-developers/blog/78-instalacion-db2-rhel#referencias
https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/0fc2f498-7b3e-4285-8881-2b6c0490ceb9/page/a7840ea3-13b9-492d-893c-a893d42af24f/attachment/a5956eba-7189-47bc-af0c-5f2c3cdaba3f/media/DB2BP_PHP_1211.pdf
https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/0fc2f498-7b3e-4285-8881-2b6c0490ceb9/page/4427b2ab-75e8-484e-bee6-cfda5f30b120/attachment/879e91aa-b266-4c4a-8bde-3841aa9d246f/media/DB2BP_Silent_Installation_042013.pdf
http://www.microgestion.com/index.php/mg-developers/blog/78-instalacion-db2-rhel
ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/GettingStartedwithDB2Express-C_V95-en.pdf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment