Antes eu comecei utilizando Windows com o Xampp(Apache, MySQL e PHP), no entanto sou muito fã do Linux, pedi para meu gerente se eu poderia instalar uma distribuição de meu interesse. Ele também gosta de Linux, então ele autorizou sem problemas. Depois da migração, eu vi que não precisava mais do Xampp, ainda mais que o PHP e o Laravel conseguem subir um servidor para testar o código.
Agora vou mostrar o ambiente de desenvolvimento que preparei no Ubuntu 19.10 no trabalho.
1 - Oracle Client (oci8)
Faça o download de acordo com sua máquina do Oracle Instant Client dos arquivos que tiver basic
e sdk
.
- Arquivos de exemplo do linux x64: instantclient-basic-linux.x64-19.3.0.0.0dbru.zip e instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip
Na pasta Downloads:
mkdir oracle
mv instantclient-basic-linux.x64-19.3.0.0.0dbru.zip oracle/
mv instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip oracle/
cd oracle
unzip instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip
cd ..
sudo mv oracle /opt/
Adicione a pasta ao ldconfig e use o comando.
export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_3
sudo sh -c "echo /opt/oracle/instantclient_19_3 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
Utilizamos o banco Oracle e precisamos da extensão oci8
no PHP, iremos ativar na compilação dele.
2 - PHP (7.3.12)
Há duas formas mais comuns de instalar o PHP no Linux, usar os comandos no terminal e usar a versão do repositório ou compilar o código fonte. Eu prefiro compilar pois eu consigo ter controle de todas as extensões que estou instalando.
Instale as dependências
sudo apt install autoconf automake bison build-essential curl flex \
libtool libssl-dev libcurl4-openssl-dev libxml2-dev libonig-dev \
libreadline-dev libsqlite3-dev libzip-dev nginx openssl \
pkg-config re2c sqlite3 zlib1g-dev
Baixe o PHP. Lembrando que utilizei a versão 7.3. Descompacte e entre no diretório pelo terminal.
Crie um diretório para separar de outras versões do PHP e compile
mkdir ~/php7.3/
./configure --prefix=$HOME/php7.3 \
--enable-mysqlnd \
--with-pdo-mysql \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-bcmath \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-mbstring \
--enable-phpdbg \
--enable-shmop \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-zip \
--with-libzip=/usr/lib/x86_64-linux-gnu \
--with-zlib \
--with-curl \
--with-pear \
--with-openssl \
--enable-pcntl \
--with-readline \
--with-pdo-sqlite \
--with-oci8=instantclient,/opt/oracle/instantclient_19_3
make
sudo make install
Agora, algumas modificações para tudo dar certo.
cp php.ini-development ~/php7.3/lib/php.ini
cd ~/php7.3/etc/
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
Adicione a caminho ~/php7.3/bin para a variável $PATH
Para testar se o PHP está funcionando.
php --version
O output:
PHP 7.3.12 (cli) (built: Dec 02 2019 20:55:45) ( NTS )
Copyright (c) 1997-2019 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2019 Zend Technologies
3 - Composer - Gerenciador de pacotes do PHP
A partir daqui iremos instalar os requisitos para o Laravel, o composer é um deles.
Apenas rode os comandos do script para instalar o composer, no site oficial.
Agora precisamos mover o arquivo composer.phar
para a pasta de binários do sistema(irei renomear para apenas ‘composer’).
sudo mv composer.phar /usr/bin/composer
Digite ‘composer —version’ e o output será parecido com esse:
Composer version 1.9.0 2019-08-02 20:55:32
4 - Node-js e NPM
Baixe no site oficial a versão LTS ou a mais recente. Extraia o arquivo na sua pasta home
. Depois adicione o caminho para o PATH.
Para confirmar:
nodejs -v
npm -v
Se apareceu o número da versão, está tudo certo.
5 - Laravel
Utilize o comando abaixo para o composer instalar o Laravel e adicionar no $PATH
composer global require laravel/installer
echo 'export PATH="PATH:/$HOME/.config/composer/vendor/bin/"' | sudo tee -a ~/.bashrc
6 - Oracle SQL Developer
Um dos pré-requisitos é a instalação do Java 8 para cima, recomendo que instale o Java da Oracle, pois o OpenJDK não é o suficiente, sendo necessário a instalação de mais bibliotecas por fora para o SQL Developer funcionar corretamente.
Para instalá-lo, apenas baixe o jdk-8 no formato ´tar.gz´ e extraia para a pasta /opt/jdk. sudo mkdir -p /opt/jdk sudo cp -rf /$HOME/Downloads/jdk-8u231-linux-x64.tar.gz /opt/jdk/ cd /opt/jdk/ sudo tar -zxf jdk-8u231-linux-x64.tar.gz
Com o java instalado, agora vamos baixar o SQL Developer. Utilizei o “Other Platforms”.
Extraia o zip baixado e siga os passos abaixo para a instalação:
sudo unzip /$HOME/Downloads/sqldeveloper-*-no-jre.zip -d /opt/
sudo chmod +x /opt/sqldeveloper/sqldeveloper.sh
sudo ln -s /opt/sqldeveloper/sqldeveloper.sh /usr/local/bin/sqldeveloper
Edite o script /opt/sqldeveloper/sqldeveloper.sh por: #!/bin/bash unset -v GNOME_DESKTOP_SESSION_ID cd /opt/sqldeveloper/sqldeveloper/bin ./sqldeveloper ”$@”
Quando você executar o SQL Developer, vai ser necessário colocar o caminho da pasta do Java, irei colocar o meu como exemplo:
sqldeveloper
/opt/jdk/jdk1.8.0_231/
Com isso finaliza a instalação do meu ambiente de desenvolvimento no trabalho. Há alguns programas adicionais utilizados por mim, acho bom apenas citar, que são:
- Visual Studio Code - meu editor de código favorito no momento
- Postman - para testar as APIs feitas com Lumen