Como instalar PHP no Rocky Linux 9/8

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.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário