Skip to content

Instantly share code, notes, and snippets.

@arthurlima96
Last active February 21, 2019 12:10
Show Gist options
  • Save arthurlima96/e9211ccd74ed374e3b4d0ca588f5d934 to your computer and use it in GitHub Desktop.
Save arthurlima96/e9211ccd74ed374e3b4d0ca588f5d934 to your computer and use it in GitHub Desktop.
Tutorial de Instalação e Preparação do Ubuntu 18.04 para ntegração com Oracle

Tutorial de Instalação e Preparação

Esse tutorial foi feito levando em consideração que o Ubuntu não tenha instalado nenhum pacote dos abaixo:

  • Apache
  • Oracle
  • PHP
  • PHP-FPM

Como Iniciar

Antes de inicar a instalação dos pacotes no Ubuntu, faça a atualização dos mesmos:

sudo apt update

sudo apt upgrade

Passo 1

Instalar o Servidor Apache

sudo apt install -y apache2 

Em seguida verifique se o Apache encontra-se ativo

systemctl status apache2

Saída

apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Sat 2018-09-08 10:46:05 UTC; 3min 37s ago
 Main PID: 1610 (apache2)
    Tasks: 55 (limit: 505)
   CGroup: /system.slice/apache2.service
           ├─1610 /usr/sbin/apache2 -k start
           ├─1612 /usr/sbin/apache2 -k start
           └─1613 /usr/sbin/apache2 -k start

Caso o serviço não esteja ativo, execute o comando abaixo

sudo systemctl start apache2

Para habilitar a execução automatica do Apache, execute:

sudo systemctl enable apache2

Ao final execute os comandos, para verificar se tudo funciona

sudo chown www-data:www-data /var/www/html/ -R
apache2 -v

Saída

Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-06-27T17:05:04

Passo 2

Instalar o PHP7.2

Para instalar o PHP e seus modulos iniciais execute o comando abaixo:

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline

Habilite o módulo do Apache para PHP

sudo a2enmod php7.2

sudo systemctl restart apache2

Verifique se o PHP foi instalado com sucesso

php --version

Saída

PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Passo 3

Configurar o PHP para conectar com o Oracle

Vai ser necessario alterar algumas configurações

Faça o download do Oracle Instant Client and SDK no sie da Oracle. (Faça o login no site da Oracle)

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

Arquivos: instantclient-basic-linux.x64-12.2.0.1.0.zip and instantclient-sdk-linux.x64-12.2.0.1.0.zip.

Em seguida faça e extração dos arquivos

unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip

Crie uma pasta para armazenar os arquivos extraidos

mkdir /opt/oracle

Mova os arquivos extraidos para a pasta criada

mv instantclient_12_2 /opt/oracle/instantclient

Modifique as permissões da pasta

chown -R root:www-data /opt/oracle

Faça o download dos pacotes requeridos para executar integrar com o Oracle

apt install php7.2-dev php-pear build-essential libaio1

Crie os links necessarios

ln -s /opt/oracle/instantclient/libclntsh.so.12.1 /opt/oracle/instantclient/libclntsh.so

ln -s /opt/oracle/instantclient/libocci.so.12.1 /opt/oracle/instantclient/libocci.so

Adicione o instant client ao ldconfig

echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient.conf

Atualize o ldconfig

ldconfig

Agora instale o OCI8 pelo pecl

pecl install oci8

Quando aparecer no prompt para digitar a localização do Instant Client, insira:

instantclient,/opt/oracle/instantclient

Adicione o oci lib nas configurações do PHP

echo "extension = oci8.so" >> /etc/php/7.2/cli/php.ini

Adicione o oci lib nas configurações do Apache PHP

echo "extension = oci8.so" >> /etc/php/7.2/apache2/php.ini

Coloque as variaveis de ambiente ao cli

echo "LD_LIBRARY_PATH=\"/opt/oracle/instantclient\"" >> /etc/environment

echo "ORACLE_HOME=\"/opt/oracle/instantclient\"" >> /etc/environment

Coloque as variaveis de ambiente no apache

echo "export LD_LIBRARY_PATH=\"/opt/oracle/instantclient\"" >> /etc/apache2/envvars

echo "export ORACLE_HOME=\"/opt/oracle/instantclient\"" >> /etc/apache2/envvars

Ao final reinicei o servidor Apache

service apache2 restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment