Como instalar o PHP no CentOS Stream 9

PHP é uma linguagem de script do lado do servidor amplamente utilizada, projetada para desenvolvimento web, mas também usada como linguagem de programação de uso geral. É particularmente preferido para a criação de sites dinâmicos e interativos. A instalação das versões mais recentes do PHP, como 8.3, 8.2 ou 8.1, garante que você tenha acesso aos recursos, melhorias de desempenho e patches de segurança mais recentes. No CentOS Stream 9, você pode instalar facilmente essas versões usando o repositório Remi RPM, que é conhecido por fornecer pacotes PHP atualizados.

Este guia orientará você no processo de ativação do repositório Remi e instalação das versões PHP mais recentes no CentOS Stream 9.

Importar Remi PHP RPM no CentOS

Atualizando CentOS Stream antes da instalação do PHP

É crucial começar atualizando seu sistema CentOS Stream para garantir que todos os pacotes existentes estejam atualizados. Esta etapa é essencial para a estabilidade e segurança do sistema.

Abra seu terminal e execute o seguinte comando para atualizar seu sistema:

sudo dnf upgrade --refresh

Este comando atualiza seu banco de dados de pacotes e atualiza todos os pacotes instalados para as versões mais recentes disponíveis.

Importando Repositório Remi PHP RPM

O repositório Remi PHP é um repositório de terceiros que oferece as versões mais recentes do PHP. Antes de adicionar o repositório Remi, você deve instalar o repositório EPEL, que fornece pacotes extras para Enterprise Linux.

Primeiro, é recomendado habilitar o repositório CodeReady Linux Builder (CRB), embora opcional. Ele fornece ferramentas e bibliotecas adicionais para desenvolvedores. Habilite o CRB com:

sudo dnf config-manager --set-enabled crb

Após habilitar o CRB, instale o repositório EPEL para EL9 usando:

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

Por fim, importe o repositório Remi PHP para EL9:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Habilitando o repositório PHP Remi no CentOS Stream

Listando Módulos PHP Disponíveis

Antes de instalar o PHP, é fundamental identificar as versões do PHP disponíveis no repositório Remi. Esta etapa ajuda você a tomar uma decisão informada sobre qual versão instalar.

Use o seguinte comando para listar todos os módulos PHP:

dnf module list php

Este comando exibe todas as versões do PHP disponíveis no repositório Remi. É uma etapa crucial para garantir que você escolha a versão que melhor atende às suas necessidades.

Importando chave GPG para o repositório de Remi

Quando solicitado, você deve confirmar a importação da chave GPG para o repositório do Remi. Esta etapa é vital por motivos de segurança, pois verifica a autenticidade dos pacotes que você está prestes a instalar. Digite 'Y' quando solicitado a prosseguir com a importação.

Ativando a versão desejada do PHP

Após confirmar as versões do PHP disponíveis, você pode habilitar a versão específica que atenda às suas necessidades. É aconselhável selecionar uma versão estável e com bom suporte do PHP para seus projetos.

Para habilitar uma versão específica do PHP do repositório Remi, use os seguintes comandos:

sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y

Cada comando ativa uma versão diferente do PHP do repositório Remi. Escolha o comando que corresponde à versão que deseja instalar. O sinalizador '-y' nesses comandos indica a confirmação automática da instalação, agilizando o processo.

Instale PHP 8.3, 8.2 ou 8.1 no CentOS Stream

Escolhendo o servidor Web para instalação do PHP

Selecionar o servidor web apropriado é uma etapa fundamental na configuração do PHP. CentOS Stream oferece suporte a Apache e Nginx, cada um exigindo pacotes PHP diferentes.

Instalação do Apache (httpd) PHP

Para aqueles que usam Apache como servidor web, o comando a seguir instala o PHP junto com a Interface de Linha de Comando PHP (CLI), que é essencial para executar scripts PHP a partir da linha de comando:

sudo dnf install php php-cli -y

Instalação Nginx PHP

Se estiver usando Nginx, você precisará instalar o PHP FastCGI Process Manager (FPM) junto com o PHP CLI. PHP-FPM é uma implementação alternativa de PHP FastCGI altamente eficiente para sites com tráfego intenso:

sudo dnf install php-fpm php-cli -y

Verificando a instalação do PHP

Após a instalação, é importante confirmar se o PHP está instalado corretamente. Execute o seguinte comando para verificar a versão do PHP instalada:

php -v

Este comando exibe a versão atual do PHP, verificando o sucesso da instalação.

Instalando extensões PHP comuns

Para aprimorar a funcionalidade do PHP, pode ser necessário instalar extensões adicionais. O comando abaixo instala extensões PHP comumente usadas, que são vitais para várias plataformas CMS e necessidades de desenvolvimento:

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

É aconselhável revisar e omitir quaisquer extensões que não sejam necessárias para sua configuração.

Visualizando Módulos PHP Carregados

Para inspecionar os módulos PHP atualmente carregados, execute:

php -m

Recomenda-se monitorar e remover regularmente módulos desnecessários para manter o desempenho ideal do sistema.

Instalando o ramo de desenvolvimento PHP

Para requisitos específicos de desenvolvimento, você pode precisar do branch de desenvolvimento PHP. Instale-o com:

sudo dnf install php-devel

Nota: Esta instalação apresenta múltiplas dependências. Prossiga somente se houver uma necessidade específica em seu ambiente de desenvolvimento PHP.

Adicionando ferramentas de desenvolvimento PHP

Para recursos avançados de desenvolvimento, incluindo depuração, instale ferramentas adicionais usando:

sudo dnf install php-xdebug php-pcov

Essas ferramentas são essenciais para depuração e análise de cobertura de código em PHP, mas tome cuidado com as dependências adicionais que elas introduzem.

Configurando o usuário Nginx para PHP-FPM no CentOS Stream

Editando a configuração PHP-FPM para Nginx

No CentOS Stream, o usuário padrão para PHP-FPM é definido como ‘Apache’, o que não é compatível com configurações Nginx. Para otimizar o PHP-FPM para Nginx, é necessária uma alteração na configuração.

Acessando a configuração PHP-FPM

Comece abrindo o arquivo de configuração do PHP-FPM. Este arquivo contém configurações específicas de como o PHP-FPM interage com seu servidor web. Use o comando a seguir para editar o arquivo www.conf:

sudo nano /etc/php-fpm.d/www.conf

Este comando inicia o editor de texto Nano com o arquivo de configuração PHP-FPM.

Modificando configurações de usuário e grupo

No arquivo de configuração, localize as linhas que especificam o usuário e o grupo. Por padrão, eles são definidos como 'Apache'. Mude o usuário e o grupo para 'Nginx' para alinhar o serviço PHP-FPM com o Nginx:

; Usuário/grupo de processos Unix; Nota: O usuário é obrigatório. Se o grupo não estiver definido, o grupo do usuário padrão; será usado. ; RPM: apache escolhido para poder acessar algum diretório como httpd user = nginx ; RPM: Mantenha um grupo com permissão para escrever no diretório de log. grupo = nginx

Aqui estão alguns exemplos visuais funcionais:

Salvando e saindo do arquivo de configuração

Após fazer as alterações, salve o arquivo pressionando CTRL+O e saia com CTRL+X. Esta ação salva as modificações e fecha o editor Nano.

Reiniciando o serviço PHP-FPM

Para aplicar as alterações, reinicie o serviço PHP-FPM usando:

sudo systemctl restart php-fpm

Este comando garante que o PHP-FPM comece a ser executado sob o usuário e grupo Nginx, garantindo compatibilidade e segurança aprimorada para a configuração do seu servidor web Nginx no CentOS Stream.

Exemplo de código de bloco de servidor Nginx PHP-FPM

Configurando o bloco de servidor Nginx para processamento PHP

Para habilitar o processamento PHP em Nginx em CentOS Stream, o bloco server dentro do arquivo de configuração Nginx deve ser modificado. O exemplo a seguir demonstra a configuração necessária para manipular arquivos PHP. Esta configuração requer a especificação do bloco de localização PHP.

    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;
    }

Este código garante que o Nginx lide corretamente com os arquivos PHP, redirecionando-os para o processador PHP-FPM. Aqui está uma análise rápida:

  • location ~ .php$: Esta diretiva diz ao Nginx para aplicar as seguintes regras a qualquer arquivo que termine em .php. O til ~ indica que esta é uma correspondência de expressão regular.
  • try_files $uri =404: Esta linha verifica se o arquivo PHP existe no URI especificado. Caso contrário, o Nginx retornará um erro 404. Esta é uma medida de segurança para evitar a execução não autorizada de scripts.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Esta diretiva especifica o soquete onde o serviço PHP-FPM está escutando. Nesse caso, o Nginx passa as solicitações PHP para o processo PHP-FPM por meio do soquete /run/php-fpm/www.sock.
  • fastcgi_index index.php;: Define index.php como o script padrão a ser executado quando um diretório é acessado.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Esta linha define o parâmetro SCRIPT_FILENAME, que é essencial para o PHP-FPM encontrar o arquivo de script no sistema de arquivos. Combina a raiz do documento com o nome do script.
  • include fastcgi_params;: Inclui os parâmetros FastCGI padrão fornecidos pelo Nginx. Estas são configurações padrão necessárias para que o PHP-FPM funcione corretamente.

Essa configuração garante que o Nginx lide corretamente com as solicitações PHP, passando-as para o serviço PHP-FPM para processamento, uma etapa crucial para executar sites e aplicativos baseados em PHP em um servidor Nginx.

Verificando a configuração do Nginx

Após atualizar o bloco do servidor, verifique se há erros de sintaxe na configuração do Nginx com o seguinte comando:

sudo nginx -t

Exemplo de saída confirmando uma verificação de sintaxe bem-sucedida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Esta etapa garante que sua configuração Nginx esteja livre de erros de sintaxe e pronta para implementação.

Reiniciando o serviço Nginx

Para aplicar as alterações de configuração do PHP-FPM, reinicie o serviço Nginx:

sudo systemctl restart nginx

Essa reinicialização torna as alterações efetivas, permitindo que o Nginx processe arquivos PHP usando a configuração atualizada do bloco do servidor.

Conclusão

Ao instalar o PHP por meio do repositório Remi RPM no CentOS Stream 9, você garante que seu sistema esteja equipado com as versões estáveis ​​mais recentes do PHP, incluindo 8.3, 8.2 e 8.1. Esta configuração fornece desempenho aprimorado, acesso aos recursos mais recentes e segurança aprimorada para seus aplicativos da web. Atualizar regularmente o PHP através do repositório Remi manterá seu sistema seguro e atualizado com os desenvolvimentos mais recentes em PHP. Aproveite a flexibilidade e o poder que o PHP oferece para criar e manter aplicações web dinâmicas.

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

Deixe um comentário