Como tudo no mundo da tecnologia está sempre em constante evolução, dessa vez é a hora de instalar o Apache 2.4 + MySQL 5.7 e o PHP 7.1, nosso ambiente estará atualizado e com tudo que temos direito.

Nesse blog prezo para que tudo seja simples e rápido, e dessa vez não será diferente, você vai ver, vamos lá!

PHP 7.2 Disponível

Existe uma versão deste post com PHP 7.2, clique aqui para visualizar

Disclaimer

Esse post foi testado com sucesso em uma instalação limpa do Ubuntu 16.10 x64, então na teoria você pode utilizar este post em qualquer distribuição baseada no Debian, tais como, Mint, Elementary OS e etc..

Atualizando

Vamos atualizar o sistema e deixar tudo zerado para começarmos com o pé direito, no terminal rode o comando a baixo e aguarde.

sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

MySQL

Com o sistema atualizado agora vamos começar de verdade, primeiro vamos instalar o MySQL. No terminal rode o comando abaixo, e informe sua senha, caso queira você pode deixá-la em branco no ambiente de desenvolvimento, nem preciso dizer para você utilizar uma senha segura no servidor de produção, não é?

sudo apt-get install mysql-server

O comando a seguir é opcional se você está usando no seu ambiente de desenvolvimento, mas você estiver usando este post para configurar um servidor de produção recomendo fortemente que o comando mysql_secure_instalation seja executado.

sudo mysql_secure_installation

A primeira pergunta é se você quer testar a força da sua senha: responda com Y (sim) ou N (não).

Segunda pergunta é sobre alterar a senha de root: novamente Y ou N.

Terceira questão é se você deseja remover os usuários anônimos do mysql: Y com toda certeza!

Quarta questão, desabilitar o login remoto do root?, Y claro!. Se você quer utilizar o login remoto, crie um usuário e configure as devidas permissões para o mesmo.

Quinta questão, remover a base teste e o acesso a ela?: Y

Sexta e ultima questão, recarregar os privilégios? YYYYYYY, ufa!

Instalando o Apache 2.4

Agora é a hora de instalar o Nginx, rode o comando abaixo e aguarde o termino.

sudo apt-get install apache2

Abra o navegador e acesse http://localhost ou http://seu.ip , a pagina de boas vindas do Apache deve ser exibida.

Instalando o PHP 7.1

Agora a novidade, vamos instalar a versão o PHP 7.1 que foi lançado em 01/12/2016, essa minor version foi lançada exatamente um ano após a versão 7.0, isso demonstra que a comunidade está engajada e que podemos esperar grandes novidades para o futuro.

O PHP 7.1 ainda não é oficialmente suportado pelo Ubuntu, entao temos que adicionar um repositório PPA para podermos instalar essa versão, não não se preocupe, este método é bem conhecido e muito utilizado.

sudo add-apt-repository -y ppa:ondrej/php && sudo apt-get update

Atenção: Caso você tenha algum problema para adicionar o repositório do PHP 7.1, tente o comando abaixo

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php && sudo apt-get update

Agora que o repositório esta instalado e a lista de pacotes esta atualizada, copie e cole o comando abaixo para instalar.

sudo apt-get install php7.1-cli libapache2-mod-php7.1 php7.1-mysql php7.1-curl php-memcached php7.1-dev php7.1-mcrypt php7.1-sqlite3 php7.1-mbstring

Rode o comando abaixo e veja o que o PHP 7.1 foi instalado.

php -v

Dica: caso queira ver todos pacotes disponiveis para o PHP 7.1 basta usar o comando abaixo.

sudo apt-cache search php7.1

Dica de ouro: deixando o PHP mais seguro

Vamos fazer uma pequena alteração na configuração do PHP para tornar nossa configuração mais segura.

Abra o arquivo /etc/php/7.1/apache2/php.ini com o nano e procure pela linha (ctrl + w) cgi.fix_pathinfo, ela está comentada por ; e com valor setado para 1, descomente a linha e defina o valor para zero.

sudo nano /etc/php/7.1/apache2/php.ini 

Deve ficar conforme abaixo

cgi.fix_pathinfo=0

Esta é uma configuração previne que o PHP tente executar o arquivo mais PHP próximo se o arquivo solicitado não puder ser encontrado. Isso basicamente permitiria aos usuários elaborar pedidos PHP de uma forma que permitisse executar scripts que não deveriam ser autorizados a executar. Tudo certo, renicie o PHP-fpm com o comando abaixo

sudo systemctl restart apache2

Agora vamos criar um arquivo chamado info.php para ver se nossa configuração funcionou.

sudo nano /var/www/html/info.php 

Copie e cole o código abaixo.

<?php
phpinfo();

Volte ao navegador e acesse http://localhost/info.php , desta vez você deve ver uma página com todas as informações do PHP 7.1. Se tudo correu bem, você deve estar feliz da vida vendo uma pagina meio roxa com as informações do seu PHP.

Quem acompanha meu blog sabe que eu sempre deixo um presentinho no final de posts desse tipo, dessa vez não seria diferente, dessa vez deixo 2 presentes pra você, confere ai!

Plus 1: Instalar o xDebug

O XDebug é uma ferramenta indispensável para quem programa em PHP, se você esta configurando um ambiente de desenvolvimento, siga em frente, vamos instalar o XDebug de uma maneira bem sussa.

wget http://xdebug.org/files/xdebug-2.5.0.tgz
tar -xvzf xdebug-2.5.0.tgz
cd xdebug-2.5.0
phpize
./configure
make
sudo cp modules/xdebug.so /usr/lib/php/20160303
sudo echo 'zend_extension = /usr/lib/php/20160303/xdebug.so' >> /etc/php/7.1/apache2/php.ini
sudo systemctl restart apache2

Volte na página de informações do PHP e aperte f5, procure por xdebug support e verifique que ele está enabled.

Plus 2: Instalar o Composer

Novamente, se você esta configurando um ambiente de desenvolvimento este passo é segundo presentinho para você.

Acho que nem preciso explicar o que é o Composer, se você programa em PHP certamente já sabe o que ele é, vamos instalá-lo globalmente para utilizarmos em qualquer lugar do nosso sistema. Rode este comando gigante abaixo e Voilà.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Execute composer no terminal e veja que agora você pode utilizá-lo onde quiser.

Conclusão

Se você chegou até aqui, quer dizer que tudo deu certo!

Sem enrolação ou firulas deixamos tudo configurado e rodando perfeitamente, agora você está pronto conquistar o mundo.

Espero que este post tenha sido útil e caso tenha alguma duvida, deixe nos comentários.

Obrigado por ler e até a proxima =]