PHP é uma linguagem de script popular de uso geral, especialmente adequada para desenvolvimento web. É rápido, flexível e pragmático, alimentando tudo, desde blogs até os sites mais populares do mundo. PHP oferece amplo suporte para vários bancos de dados, tornando-o uma ferramenta essencial para scripts do lado do servidor.
O guia a seguir demonstrará as etapas para instalar o PHP no Rocky Linux 9 ou 8 usando comandos de linha de comando. O método de instalação envolve o uso do repositório Remi RPM para as compilações estáveis mais recentes do PHP 8.1, 8.2 e 8.3.
Importar repositório Remi PHP RPM
Atualize o Rocky Linux antes da instalação do PHP
Comece atualizando seu sistema Rocky Linux para se preparar para a instalação do PHP. Abra o terminal e digite:
sudo dnf upgrade --refresh
Importar repositório PHP Remi
Configuração do repositório EPEL
EPEL (Extra Packages for Enterprise Linux) é crucial para pacotes de software adicionais no Rocky Linux. Abaixo estão duas opções para instalar o EPEL no Rocky Linux para a versão EL9 ou EL8 mais recente.
Importar EPEL para Rocky Linux 9
Habilitar CRB
CRB fornece acesso a mais ferramentas de desenvolvimento. Usar:
sudo dnf config-manager --set-enabled crb
Instale repositórios EPEL
Para obter os lançamentos EPEL mais recentes para Rocky Linux 9:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Incorpore o repositório Remi projetado para EL 9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Importar EPEL para Rocky Linux 8
Habilitar repositório PowerTools
PowerTools é essencial para ferramentas de desenvolvimento PHP.
sudo dnf config-manager --set-enabled powertools
Habilite EPEL para Rocky Linux 8
Instale repositórios EPEL para Rocky Linux 8:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importar Repositório Remi EL 8
Com o EPEL instalado, importe o Remi RPM contendo PHP para EL 8:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Habilite PHP (8.x) do Repositório Remi
Verificando versões do PHP
Comece confirmando as versões PHP disponíveis no repositório Remi. Isso garante que você tenha acesso à versão desejada do PHP.
Execute no terminal:
dnf module list php
Se solicitado, importe a chave GPG para o repositório de Remi digitando (Y).
Selecionando sua versão PHP
Habilitar PHP 8.3
Para instalar o PHP 8.3, uma versão estável e recente, use:
sudo dnf module enable php:remi-8.3 -y
Habilitar PHP 8.2
Para PHP 8.2, adequado para aplicações que requerem esta versão específica:
sudo dnf module enable php:remi-8.2 -y
Habilitar PHP 8.1
Para habilitar o PHP 8.1, ideal para compatibilidade com determinadas aplicações:
sudo dnf module enable php:remi-8.1 -y
Finalizar a instalação do PHP
Instalando PHP para suporte Apache ou Nginx
Depois de habilitar o repositório Remi PHP, você pode instalar o PHP adaptado às necessidades do seu servidor web, seja Apache ou Nginx.
Instalação do Apache (httpd) PHP
sudo dnf install php php-cli -y
Instalação Nginx PHP
sudo dnf install php-fpm php-cli -y
Verificando a instalação do PHP
Confirme a instalação do PHP executando:
php -v
Instalação de extensões PHP
Instale extensões PHP essenciais com base nas necessidades do seu projeto. Evite instalar todas as extensões para manter desempenho e segurança ideais.
Instalação padrão
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
Instalação simplificada
Para um comando de instalação compacto:
sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}
Agora, vamos detalhar o que cada uma dessas extensões PHP faz:
- php-cli: Interface de linha de comando para PHP, útil na execução de scripts PHP no shell.
- php-fpm: FastCGI Process Manager, útil para tratar e atender solicitações PHP.
- php-curl: permite conectar e comunicar-se com diferentes tipos de servidores e protocolos.
- php-mysqlnd: MySQL Native Driver, usado para conexões de banco de dados MySQL.
- php-gd: Graphics Draw, útil para criar e manipular arquivos de imagem.
- php-opcache: Opcode Cache, usado para acelerar a execução do PHP.
- php-zip: permite trabalhar com arquivos zip.
- php-intl: Extensão de internacionalização para trabalhar com conjuntos de caracteres e localidades internacionais.
- php-comum: Arquivos e configurações comuns usados por vários módulos PHP.
- php-bcmath: Calculadora Binária permite matemática de precisão arbitrária.
- php-imagick: fornece métodos para criar e modificar imagens usando a biblioteca ImageMagick.
- php-xmlrpc: permite a criação de um servidor XML-RPC e facilita o envio de solicitações XML-RPC.
- php-json: extensão JSON (JavaScript Object Notation) para codificação e decodificação de dados JSON.
- php-readline: Permite a leitura de uma linha de dados do terminal.
- php-memcached: fornece cache de objetos de memória distribuído e rápido.
- php-redis: Extensão PHP para interface com Redis.
- php-mbstring: String Multi-Byte para lidar com strings não-ASCII.
- php-apcu: APC User Cache, uma extensão de cache de usuário baseada em APC.
- php-xml: Analisador XML para analisar documentos XML.
- php-dom: Document Object Model, para manipular documentos XML de forma orientada a objetos.
- php-memcache: Fornece uma interface prática, processual e orientada a objetos para o memcached.
- php-soap: Usado para escrever servidores e clientes SOAP.
- php-ldap: protocolo leve de acesso a diretórios usado para acessar e gerenciar informações de diretório.
- php-pdo: PHP Data Objects, uma camada de acesso a banco de dados que fornece um método de acesso uniforme a vários bancos de dados.
Você pode usar o seguinte comando para visualizar os módulos carregados a qualquer momento.
php -m
O monitoramento regular e a remoção de módulos desnecessários são recomendados para eficiência de desempenho.
Instalando ferramentas de desenvolvimento PHP
Para fins de desenvolvimento, instale o branch de desenvolvimento PHP e as ferramentas de depuração:
Ramo de Desenvolvimento PHP
sudo dnf install php-devel
Ferramentas de depuração PHP
sudo dnf install php-xdebug php-pcov
É importante observar que a instalação desta versão trará múltiplas dependências e não é recomendado fazê-lo, a menos que você tenha uma necessidade específica em seu desenvolvimento PHP ou qualquer requisito especial.
Configurar usuário PHP-FPM Nginx no Rocky Linux
Ajustando PHP-FPM para Nginx
Distribuições baseadas em RHEL, como Rocky Linux, usam como padrão o usuário “Apache” para PHP-FPM, o que não é adequado para configurações Nginx. É essencial modificar isso para um funcionamento ideal com o Nginx.
Editando a configuração PHP-FPM
Abrir arquivo de configuração
Acesse o www.conf
arquivo para edição:
sudo nano /etc/php-fpm.d/www.conf
Modificar configurações de usuário e grupo
Altere o usuário e grupo do Apache para Nginx dentro do arquivo.
Pós modificação:
Salve suas alterações pressionando (CTRL+O) e saia com (CTRL+X).
Reinicie o serviço PHP-FPM
Após modificar a configuração, reinicie o PHP-FPM para aplicar as alterações:
sudo systemctl restart php-fpm
Exemplo de código de bloco de servidor Nginx PHP-FPM
Configurando Nginx para processamento PHP
Para permitir que o Nginx lide com arquivos PHP, o bloco do servidor deve ser configurado corretamente. O exemplo a seguir demonstra a configuração necessária dentro do server{}
bloco para processamento de arquivos PHP.
Configuração Nginx PHP-FPM
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Validando a configuração do Nginx
Após atualizar a configuração, valide-a para garantir que não haja erros de sintaxe.
sudo nginx -t
A saída esperada deve confirmar que a configuração está correta:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Reiniciando o serviço Nginx
Para aplicar as alterações, reinicie o serviço Nginx:
sudo systemctl restart nginx
Essa reinicialização é essencial para que as mudanças e para que o Nginx comece a processar os arquivos PHP com a nova configuração.
Conclusão
Tudo bem, isso encerra nossa jornada! Configuramos o PHP com sucesso no Rocky Linux, ajustando-o para Apache ou Nginx e ajustando o PHP-FPM para desempenho ideal. Lembre-se de que verificar regularmente os módulos e configurações do PHP mantém tudo funcionando perfeitamente. E não se esqueça de reiniciar seus serviços após qualquer alteração.