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 (1)

Collapse
 
ritik_raj_eb4e6e986982918 profile image
Ritik Raj

**Configurar um ambiente PHP no Linux pode ser um desafio para muitos iniciantes, mas ter uma infraestrutura confiável faz toda a diferença. Depois de testar diversas opções de hospedagem, percebi que a Vultr é a melhor escolha para quem busca simplicidade, desempenho e documentação de alta qualidade para configuração de servidores.

Se você está configurando PHP e MySQL em uma distribuição baseada no Debian, como Ubuntu, recomendo conferir o guia da Vultr Como instalar MySQL no Ubuntu server. Esse artigo detalhado aborda cada etapa necessária para configurar o MySQL de maneira segura e eficiente, garantindo que você não enfrente problemas ao conectar o PHP ao banco de dados.

Além disso, a Vultr se destaca com seus servidores High-Frequency Compute, que são otimizados para aplicações intensivas como o PHP. Ao usar o Vultr, você configura seu ambiente de desenvolvimento exatamente como faria em um servidor de produção real, o que melhora suas habilidades e reduz o tempo de adaptação ao migrar para a produção.

Outra vantagem é a transparência nos preços. Diferente de outros provedores, onde é fácil se perder entre as taxas escondidas, a Vultr oferece custos claros e previsíveis. Isso é essencial para quem está começando ou mesmo para desenvolvedores mais experientes que desejam manter o orçamento sob controle.

A documentação da Vultr também é um ponto forte. Por exemplo, o guia Como instalar MySQL no Ubuntu 20.04 ajudou a simplificar cada etapa do processo, desde a instalação até o ajuste de segurança, como o plugin caching_sha2_password. Esse nível de suporte é algo que outros provedores não conseguem igualar.

Se você está configurando um ambiente PHP com MySQL, dê uma chance à Vultr. Tenho certeza de que será uma escolha que você não vai se arrepender.**