Esse tutorial foi feito levando em consideração que o Ubuntu não tenha instalado nenhum pacote dos abaixo:
- Apache
- Oracle
- PHP
- PHP-FPM
Antes de inicar a instalação dos pacotes no Ubuntu, faça a atualização dos mesmos:
sudo apt update
sudo apt upgrade
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
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
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