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
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
Adicione o repositório do PHP.
sudo add-apt-repository ppa:ondrej/php -y
Execute novamente o comando de atualização dos repositórios e instalação dos mesmos:
sudo apt update && sudo apt upgrade -y
Instale agora o PHP com inclusão do Apache:
sudo apt install php8.1 libapache2-mod-php8.1
Agora você poderá verificar a versão do seu PHP com o comando:
php -v
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
- PHP 7.4
sudo apt install php7.4 libapache2-mod-php7.4
- PHP 8.0
sudo apt install php8.0 libapache2-mod-php8.0
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
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
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
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
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
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
2º Verfique as autenticações utilizadas por cada usuário:
SELECT user,authentication_string,plugin,host FROM mysql.user;
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’;
4º Recarregue os privilégios dos usuários com o comando:
FLUSH PRIVILEGES;
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;
Se tudo estiver certo, poderá dar um “exit” e sair do mysql.
Para testar execute o comando:
mysql -u root -p
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)