Mais um howto…
Neste passo-a-passo iremos configurar o PHP e o Oracle XE Express Edition em openSuse (suse) 10.2. O objetivo deste é ajudar a todos que já precisaram instalar estes dois e não conseguiram ajuda na documentação oficial da Oracle, porque eu também não achei nenhum manual lá para OpenSuse.
1º Passo – Instalando e Configurando o Oracle
Você deve faze o download do Oracle XE database Free . Baixe a versão em RPM, que a instalação ocorre normalmente executando:
# rpm -i nomedorpm.rpm
Lembrando que você deve estar como root.
A configuração:
# /etc/init.d/oracle-xe configure
Você pode aceitar todas as opções como default, exceto a senha é claro.
O pulo do gato esta em compilar o PHP com suporte a Oracle. Infelizmente não há nenhum módulo no YAST para fazer isso, então a melhor maneira é desistalar o PHP e todos seus módulos, bem como também o Apache e todos seus módulos, e então proceder com a instalação dos pacotes mais recentes…
2º Passo – Configurando o Apache
Primeiro faça o download do Apache: http://httpd.apache.org/
E então, como root, execute estes comandos:
# tar -jxvf httpd-2.XX.tar.bz2
# cd httpd-2.XX
# ./configure –prefix=/usr/local/apache –enable-module=so
# make
# make install
3º Passo – Configurando o Cliente Oracle
O próximo passo é fazer o download de um cliente Oracle, conhecido como instant client, você pode pegar um aqui.
Pegue a versão basic e descompacte em seu diretório home: /home/usuario/instantclient_10_2. O legal é você já ter no sistema um usuário chamado Oracle, ai pode-se usar o home dele.
4º Passo – Configurando o PHP
Agora faça o download do PHP, você consegue-se uma cópia aqui. Como root, execute os comandos:
# tar -jxvf php-5.XX.tar.bz2
# cd php-5.XX
# ./configure \
–with-oci8=shared,instantclient,/home/usuario/instantclient_10_2 \
–with-apxs2=/usr/local/apache/bin/apxs \
–with-config-file-path=/usr/local/apache/conf \
–enable-sigchild
# make
# make install
Há, obviamente lembre-se de trocar o /home/usuario pelo usuário que você descompactou o instantclient_10_2.
Após executar este comandos você terá que localizar o arquivo oic8.so que foi gerado, você pode encontra isso dentro dos módulos do PHP. Faça uma cópia do arquivo para /usr/local/apache/modules/.
Também teremos que fazer uma chamada para este módulo no PHP.ini, mas podemos fazer isso depois. Agora execute:
# cp php.ini-recommended /usr/local/apache/conf/php.ini
Edite o arquivo de configuração do Apache em: /usr/local/apache/conf/httpd.conf
e adicione estas linhas:
#
# This next section will call PHP for .php, .phtml, and .phps files
#
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
#
# Este é o diretório onde contém o PHP.ini
#
PHPIniDir “/usr/local/apache/conf”
Se a linha LoadModule não estiver sido inserida automaticamente, adicione esta:
LoadModule php5_module modules/libphp5.so
Agora vamos editar o PHP.ini para carregarmos a extensão oci8.so:
# vi /usr/local/apache/conf/php.ini
Edite a variável edit extension_dir, e entre com estes valores:
extension_dir = “/usr/local/apache/modules”
E adicione a extension=oci8.so onde ele mostra a lista de extensões disponíveis
5º Passo – Startando o Apache
Temos que editar o arquivo de Start do Apache, para que ele carregue automaticamente as Libraries OCI do Oracle. Para fazer isso execute como root:
# vi /usr/local/apache/bin/start.sh
Insira o texto abaixo, adaptando conforme sua configuração, você pode até remover o tns_admin se você não quiser usar:
#!/bin/sh
APACHEHOME=/usr/local/apache/bin
LD_LIBRARY_PATH=/home/usuario/instantclient_10_2:${LD_LIBRARY_PATH}
TNS_ADMIN=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin
export LD_LIBRARY_PATH TNS_ADMIN
echo Starting Apache
$APACHEHOME/apachectl start
Agora para testar, faça um start e stop no apache:
# /usr/local/apache/bin/apachectl start
# /usr/local/apache/bin/apachectl stop
6º Passo – Teste Final
As configurações estão prontas, agora para testarmos precisamos ter um arquivo PHP, podemos criar dentro de htdocs do apache:
# vi /usr/local/apache/htdocs/phpinfo.php
E adicione estas linhas:
< ?php phpinfo(); ?>
Simplemente salve e execute em seu navegador: http://localhost/phpinfo.php e verifique se o módulo oci8 esta sendo carregado, se encontrar então esta perfeito… se não revise os passos anteriores…
Espero que este simples howto possa ajudar alguém…
Cara muito bom o seu material, me ajudou bastante.
abç