DEV Community

Cover image for Configurando ambiente PHP no Linux
Ruan Sales
Ruan Sales

Posted on

Configurando ambiente PHP no Linux

Este tutorial poderá ser reaproveitado para qualquer distribuição baseada no Debian, podendo ser PopOS, Lubuntu, Mint, Debian, Ubuntu e afins. Configurar um ambiente linux para desenvolver com PHP, não é nada complexo, porém necessita de alguns passos para se obter uma instalação estável e que se comporte de maneira produtiva. A seguir iremos abordar os pontos aos quais eu creio serem importantes para a instalação de um ambiente para os iniciantes ou até mesmo para os um pouco mais experientes.

Instalando e configurando o PHP

De início ao se utilizar um ambiente linux, é necessário verificar se existe alguma dependência desatualizada, para isso execute o seguinte comando, para realizar a verificação e atualização ao mesmo tempo:

sudo apt update && sudo apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

Após a devida atualização do seu sistema, iremos partir para as partes específicas do PHP.

sudo apt install software-properties-common -y
Enter fullscreen mode Exit fullscreen mode

Adicione o repositório do PHP.

sudo add-apt-repository ppa:ondrej/php -y
Enter fullscreen mode Exit fullscreen mode

Execute novamente o comando de atualização dos repositórios e instalação dos mesmos:

sudo apt update && sudo apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

Instale agora o PHP com inclusão do Apache:

sudo apt install php8.1 libapache2-mod-php8.1
Enter fullscreen mode Exit fullscreen mode

Agora você poderá verificar a versão do seu PHP com o comando:

php -v
Enter fullscreen mode Exit fullscreen mode

Obs: No caso de querer utilizar alguma versão específica do PHP ao invés da versão 8.1 que é apresentada neste artigo, você poderá no comando acima, bem como nos comandos abaixo alterar a versão trocando-a diretamente nos comandos respectivos, como o exemplo abaixo:

  • PHP 7.3
sudo apt install php7.3 libapache2-mod-php7.3
Enter fullscreen mode Exit fullscreen mode
  • PHP 7.4
sudo apt install php7.4 libapache2-mod-php7.4
Enter fullscreen mode Exit fullscreen mode
  • PHP 8.0
sudo apt install php8.0 libapache2-mod-php8.0
Enter fullscreen mode Exit fullscreen mode

E assim respectivamente, o mesmo serve para os comandos que serão citados a seguir.

Agora iremos instalar algumas bibliotecas e extensões úteis para o PHP com o seguinte comando:

sudo apt install php8.1-intl php8.1-mysql php8.1-sqlite3 php8.1-gd -y
Enter fullscreen mode Exit fullscreen mode

Caso vá fazer uso de testes ou utilizar algum framework que dependa ou implemente testes, é aconselhável você instalar o phpunit com o seguinte comando:

sudo apt install phpunit 
Enter fullscreen mode Exit fullscreen mode

Instalando e configurando o MySQL

Este parte do tutorial é baseada no artigo escrito pela Digital Ocean descrito neste artigo. Você poderá visita-lo para quaisquer dúvidas posteriores.

Vamos instalar o mysql-server com o seguinte comando:

bash sudo apt install mysql-server -y 
Enter fullscreen mode Exit fullscreen mode

Obs: Ao executar o comando acima, a versão que será instalada dependerá da versão do seu Linux, como por exemplo se é uma versão 18.04, muito possivelmente será instalado o mysql-server 5.7, no caso de a distro ser 20.04+, é provavel quer a versão instalada seja, o server 8.0. Quaisquer dúvidas referente a instalação do MySQL, poderá ser verificado no artigo da Digital Ocean.

Ao finalizar a instalação iremos passar para a parte de autenticação e segurança do mysql com o seguinte comando:

bash sudo mysql_secure_installation 
Enter fullscreen mode Exit fullscreen mode

A partir daí lhe será perguntado se deseja instalar o plugin de autenticação e validações de senhas. As escolhas a partir daí dependerão da sua necessidade, porém, eu aconselharia a aceitar todas as condições como “remover acesso remoto, não permitir usuário anônimo e afins”.

Ao escolher utilizar e configurar o plugin você será questionado referente a força da encriptação que o plugin fará, você terá 3 opções, 0– low strength, 1- medium strength, 2- strong strength em uma tela parecida com este:

Output
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2
Enter fullscreen mode Exit fullscreen mode

No caso de ser um ambiente local, que nunca servirá de host para aplicações em produção ou se apenas você utiliza o computador. Você poderá escolher a opção mais fraca, para qualquer outro cenário eu aconselharia utilizar o plugin com a força de encriptação forte, digitando o número 2 e avançando.

Lhe será perguntada a senha a ser incluída no MySQL de acordo com os parâmetros necessários descritos no output acima, após escolher a senha e confirmar lhe será perguntado questões como “desativar acesso remoto, não permitir usuários anônimos e afins”, você pode apenas digitar “y” para tudo.

Podemos agora evitar maiores complicações e erros que ajustando algumas configurações no mysql para poder logar com usuário e senha de maneira devida e segura, vamos aos seguites passos:

1º Acesse o mysql com o seguinte comando:

 sudo mysql 
Enter fullscreen mode Exit fullscreen mode

2º Verfique as autenticações utilizadas por cada usuário:

SELECT user,authentication_string,plugin,host FROM mysql.user; 
Enter fullscreen mode Exit fullscreen mode

3º Altere a forma de autenticação para o plugin que você instalou anteriormente alterando a palavra “password” pela senha escolhida anteriormente:

ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY password;
Enter fullscreen mode Exit fullscreen mode

4º Recarregue os privilégios dos usuários com o comando:

FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode

5º Verifique se o usuário root está usando o plugin de autenticação caching_sha2_password com o comando:

SELECT user,authentication_string,plugin,host FROM mysql.user;
Enter fullscreen mode Exit fullscreen mode

Se tudo estiver certo, poderá dar um “exit” e sair do mysql.
Para testar execute o comando:

mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

Sua senha será solicita, confirmando e logando, poderá sair, seu MySQL está configurado corretamente. Para maiores informações como instalação de Workbench e afins, verifique o artigo citado acima.

Espero ter conseguido ajudar em algo, até a próxima.

Top comments (0)