lunes, 1 de noviembre de 2010

Instalación de OracleXE 10g en Debian Lenny + instalacion de libreria oci8

Hoy les dejo una explicación para instalar Oracle XE 10g en Debian Lenny e instalar la librearía oci8 para realizar una conexión utilizando PHP.

Agregamos el repositorio "http://oss.oracle.com/debian/" agregandolo al archivo /etc/apt/sources.list
# echo "deb http://oss.oracle.com/debian/ unstable main non-free" >> /etc/apt/sources.list
# wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
# apt-key add RPM-GPG-KEY-oracle
# apt-get update
Luego instalamos la base de datos y el cliente oracle
# apt-get install oracle-xe-client
# apt-get install oracle-xe
Ahora ejecutamos el script para configurar la base de datos
# sh /etc/init.d/oracle-sh configure
Luego de hecho esto ya tenemos nuestro Oracle instalado y podemos acceder a http://127.0.0.1:8080/apex


Ahora instalamos Apache y PHP
# apt-get install apache2,apache2.2-common,libapache2-mod-php5,php5,php5-common,php5-dev,php-pear,php5-adodb
Preparamos las variables de entorno de Oracle
# sh /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh
Antes de instalar la libreria oci8 creamos un enlace simbolico hacia el "Oracle Instant Client SDK header directory"
# mkdir -p /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/sdk
# chown oracle:dba /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/sdk/
# ln -s /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/sdk/include

Ahora si procedemos a descargar e instalar la libreria oci8
# pear download oci8
# tar zxf oci8-1.4.3.tgz
# cd oci8-1.4.3
# phpize
# ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib
# make
# make install

Si todo salio bien veremos el mensaje
Installing shared extensions: /usr/lib/php5/20060613+lfs/

Ahora modificamos el archivo "/etc/php5/apache2/php.ini" y "/etc/php5/cli/php.ini"
# echo extension=oci8.so >> /etc/php5/apache2/php.ini
# echo extension=oci8.so >> /etc/php5/cli/php.ini

Ahora reiniciamos el servicio apache
# /etc/init.d/apache2 reload

Con este codigo php podemos verificar lo que hemos hecho.
<?php
    phpinfo();
?>

Al ejecutarlo veriamos lo siguiente.
Y eso es todo, espero que les sea de utilidad.

Fuente:
http://www.debian-administration.org/articles/430
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html