Apache2.2 + PHP5 + OCI: Cliente Oracle en Debian
El amigo ZiTaL ha escrito un how to detallado de como poder utilizar conexiones oracle en debian en los desarrollos en PHP el cual "fusilo"
Muy importante: Antes de empezar a instalar tendremos que tener como mínimo 1024 MB de SWAP (área de intercambio) libre, por lo que aconsejo que tengas como mínimo 1,5 GB de SWAP (área de intercambio).
PRE-INSTALACIÓN: Necesitamos el paquete libaio1.
apt-get install libaio1
Para empezar tenemos que conseguir los siguientes RPM's de la página de Oracle:
Oracle instantclient basic
Oracle instantclient devel
Oracle instantclient sqlplus
Que los podemos descargar de aquí:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
Si quereis los he pasado a deb con alien y los podeis descargar aquí:
http://zital.no-ip.org/debian/oracle/
Y descargamos los ficheros.
Si no os fiais de mi, pues simplemete habrá que pasarlos de rpm a deb con alien:
apt-get install alien
alien oracle-instantclient-basic_11.1.0.1-2_i386.rpm
alien oracle-instantclient-devel_11.1.0.1-2_i386.rpm
alien oracle-instantclient-sqlplus_11.1.0.1-2_i386.rpm
y ya tendremos los deb correspondientes.
los instalamos:
dpkg -i oracle-instantclient-basic_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_11.1.0.1-2_i386.deb
Ahora creamos la carpeta /etc/oracle:
mkdir /etc/oracle
Y crearemos dentro de esta carpeta el archivo tnsnames.ora
nano /etc/oracle/tnsnames.ora
Y tendremos que crear un fichero del estilo:
NOMBRE_MAQUINA.DOMINIO.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
...
Cambiar NOMBRE_MAQUINA, DOMINIO.COM, HOST y PORT por sus respectivos valores.
Según cuantos servidores Oracle tengamos ![]()
Si no sabeis rellenar este fichero, CREO que lo podremos encontrar en el servidor donde este alojado el servidor de base de datos de Oracle.
Ahora tendremos que editar el .bashrc del root y le añadiremos las siguientes lineas:
nano /root/.bashrc
export TNS_ADMIN=/etc/oracle
export SQLPATH=/usr/lib/oracle/11.1.0.1/client/bin
export LD_LIBRARY_PATH=/usr/lib/oracle/11.1.0.1/client/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$SQLPATH
Para que los cambios del .bashrc surjan efecto tendremos que volvernos a logear.
Ya hemos terminado de instalar el cliente de Oracle.
Instalacion de Apache2.2 con PHP5:
Si ya lo tienes instalado omite este paso
apt-get install apache2.2-common libapache2-mod-php5 php5
Instalacion del oci8 para php:
apt-get install php-pear php5-dev
pecl install oci8
Al instalar el oci8 nos aparecera un prompt del tipo:
1-1, 'all', 'abort', or Enter to continue:
Pulsamos 1 y ENTER
y escribimos lo siquiente en el prompt:
shared,instantclient,/usr/lib/oracle/11.1.0.1/client/lib/
y pulsamos ENTER para confirmarlo y otra vez ENTER para que empiece la instalación
el sistema empezará a compilar el módulo y si todo ha ido bien nos pondrá algo como:
Build process completed successfully
Installing '/usr/lib/php5/20060613+lfs/oci8.so'
install ok: channel://pecl.php.net/oci8-1.2.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
solamente nos quedará añadir las correspondientes lineas en el php.ini:
echo extension=oci8.so >> /etc/php5/apache2/php.ini
y reiniciar el apache:
/etc/init.d/apache2 reload
Espero que os sirva de ayuda ![]()
Fuente original: esdebian.org
¿Te gustó este artículo?
Aún no hay trackbacks.
16 febrero, 2010 - 12:52
Hola, Bueno, voy a probar la conf en ubuntu server 9.10 y os cuento como resulta, muchas gracias.
1 abril, 2010 - 15:41
Genial, ha funcionado todo ok, en denian.
Un saludo