Professional Documents
Culture Documents
Este sencillo guión ha sido redactado para aquellos usuarios de Linux e Informix
que quieren acceder a sus bases de datos por web, con apache y PHP.
Después de indagar por la red y tras comprobar que las distribuciones de SuSe
Linux no instalan correctamente Apache y el módulo PHP para informix y tras varios
meses de sufrimiento, paso a detallaros mi experiencia.
Para acceder a Informix con Apache y PHP necesitamos instalar el CSDK para
informix, este paquete es necesario para que cualquier soft cliente (por ejemplo PHP)
pueda atacar las bases de datos Informix.
http://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2002-12-
16+16%3A21%3A39.260871C
$ unzip csdk280_uc21lin_ux.zip
$ su
$ INFORMIXDIR=/usr/lib/informix
Instalamos el CSDK
$ rpm -i csdk.rpm
$ cd /usr/lib/informix/etc
$ vi sqlhosts
# THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF
# SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE.
# Description:
#**************************************************************************
***************************************************************************
donde maquina es el nombre corto del ordenador en que instalas informix (el
nombre de tu máquina) Este debe pertenecer a una dirección IP única en el caso
de ordenadores con más de una dirección IP o tarjeta de red y puede que el
demonio arranque en una dirección IP no deseada o no esperada.
$ vi /etc/services
Buscamos la posición que corresponde al puerto 3536 y añadimos una nueva línea.
Si tenemos el puerto ocupado, buscamos otro que esté libre, no es obligatorio que esté
en dicho puerto.
Las instalaciones por defecto de YAST en SuSe no sirven para acceder a Informix
Es más cómodo abrir dos consolas, si así lo haces recuerda exportar en cada una de ellas
el informixdir
$ INFORMIXDIR=/usr/lib/informix
Empezamos...
$ rpm -i apache-1.3.26-39.src.rpm
Descomprimimos el PHP
$ cd /usr/src/packages/SOURCES
Descomprimimos el apache_1.3.26.tar
$ cd apache_1.3.26
Comenzamos la compilación
$ ./configure
$ cd ..
$ cd /home/yo/php-4.3.1
Comenzamos la compilación
$ ./configure --with-apache=/usr/src/packages/SOURCES/apache_1.3.26
--with-informix=/usr/lib/informix
Ten en cuenta los directorios donde estén tanto apache como informix
Continuamos la compilación
$ make
$ make install
$ cd /usr/src/packages/SOURCES/apache_1.3.26
$ make
$ cd /home/yo/php-4.3.1
Copiamos el fichero php.ini.dist en /usr/local/lib/
$ cp php.ini-dist /usr/local/lib/php.ini
Ahora puedes editar el nuevo php.ini y modificar las opciones del PHP
$ cd /www/conf/
$ vi httpd.conf
COMPROBACIÓN DE LA INSTALACIÓN
Para ello creamos un fichero que situamos en /www/htdocs/ y que contiene lo siguiente
$ vi info.php
Contenido
<?
phpinfo();
?>
Iniciamos el apache
$ /www/bin/apachectl start
$ cd /www/bin/
$ vi apachectl
#!/bin/sh
# 1 -
# When multiple arguments are given, only the error from the _last_
# -------------------- --------------------
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/bin:$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql export
LD_LIBRARY_PATH
PIDFILE=/www/logs/httpd.pid
HTTPD=/www/bin/httpd
......
Hemos añadido las variables que necesita apache para conectarse a Informix (quizás
más variables de las necesarias)
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/bin:
$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql export
LD_LIBRARY_PATH <--- dirección de las librerias
$ cp /www/bin/apachectl /etc/init.d/apache
$ cd /etc/init.d/rc5.d
$ ln -s /etc/init.d/apache S72apache
Para iniciar, parar, reiniciar el apache manualmente podemos usar la siguiente orden
$ vi ifxd
Contenido:
$INFORMIXDIR/lib/sqlexecd sr_db
cd $INFORMIXDIR/lib
$ cp /home/yo/ifxd /etc/init.d/ifxd
$ cd /etc/init.d/rc5.d
$ ln -s /etc/init.d/ifxd S73ifxd
Si te ves en la necesidad de utilizar este pequeño guión y te surge alguna duda, puedes
enviarme tus comentarios a la siguiente dirección de correo electrónico
manolo@notejode.com