How to: Apache2.2 + PHP + OCI: Cliente Oracle
Aupa, después de buscar mucho he decidido crear un how to de como instalar un cliente oracle e instalar el oci para que php funcione con este tipo de base de datos.
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 libaio1Para 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.rpmy 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.debAhora creamos la carpeta /etc/oracle:
mkdir /etc/oracleY crearemos dentro de esta carpeta el archivo tnsnames.ora
nano /etc/oracle/tnsnames.oraY 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/.bashrcexport 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 php5Instalacion del oci8 para php:
apt-get install php-pear php5-dev
pecl install oci8Al 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.inisolamente nos quedará añadir las correspondientes lineas en el php.ini:
echo extension=oci8.so >> /etc/php5/apache2/php.iniy reiniciar el apache:
/etc/init.d/apache2 reloadEspero que os sirva de ayuda ;)
- Inicie sesión o regístrese para enviar comentarios
- 1531 lecturas

buenisimo, lastima oracle es no libre..
a los interesados en postgres+ssl+debian enlace directo http://rapidshare.com/files/102822073/DebianPostgres-sarge-etch.pdf
sirve para lenny
:
No si yo por mi no utilizaba oracle, pero como en la empresa para algunos temas determinados usamos oracle no nos queda otra.