Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Configurando um ambiente com PHP 8.2 e Apache usando Docker

Olá, leitores! No post de hoje, vamos aprender como configurar um ambiente de desenvolvimento utilizando o PHP 8.2 e o Apache no Linux, mas fiquem tranquilos, essas instruções também são perfeitamente aplicáveis a máquinas Windows. A única diferença é que você precisará adequar o mapeamento de volumes conforme as especificidades do sistema operacional.

Passo 1: Executando o contêiner PHP-FPM 8.2 Primeiro, vamos executar o seguinte comando para iniciar o contêiner do PHP-FPM 8.2:

docker run -d -p 9000:9000 --restart always \
        -e TIMEZONE=America/Sao_Paulo \
        -v /etc/php8.2_docker:/usr/local/etc/php \
        -v /var/www:/var/www/ \
        -v /var/php_sessions82/:/var/lib/php/sessions/ \
        --name php82 devilbox/php-fpm-8.2

Esse comando irá criar e executar o contêiner, mapeando a porta 9000 do host para a porta 9000 do contêiner, definindo o fuso horário para “America/Sao_Paulo” e vinculando os diretórios necessários.

Passo 2: Iniciando o contêiner do Apache
Agora, vamos executar o seguinte comando para iniciar o contêiner do Apache:


docker run -d --name apache -p 80:80 --restart always -v /var/www:/var/www/ -v /var/log/apache/:/var/log/apache/ -v /etc/apache2:/usr/local/apache2/conf --link php82 httpd:2.4.37

Esse comando irá criar e executar o contêiner do Apache, mapeando a porta 80 do host para a porta 80 do contêiner, vinculando os diretórios necessários e estabelecendo a conexão com o contêiner do PHP-FPM.

Passo 3: Configurando o Apache Agora, precisamos realizar algumas configurações no Apache. Acesse a pasta “/etc/apache2/sites-enabled” e crie um arquivo de configuração com o nome do seu domínio, por exemplo, “www.meudominio.com”.

Dentro do arquivo, adicione o seguinte conteúdo, adaptando-o para o seu domínio:

<VirtualHost *:80>
        ServerName www.meudominio.com
        ServerAlias meudominio.com www.meudominio.com
        DocumentRoot /var/www/www.meudominio.com/html
        CustomLog /var/log/apache/www.meudominio.com.vhost combined
        ErrorLog /var/log/apache/www.meudominio.com_error.log
        <Directory "/var/www/www.meudominio.com/html/">
                Options -Indexes +FollowSymLinks -MultiViews
                AllowOverride All
                Require all granted
        </Directory>
        <FilesMatch \.php$>
                SetHandler "proxy:fcgi://php82:9000"
        </FilesMatch>
        AccessFileName .htaccess
        <Files .htaccess>
                Order deny,allow
                Deny from all
        </Files>
        RewriteEngine on
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
        RewriteRule .* - [F]
</VirtualHost>

Nesse arquivo de configuração, você deve especificar o nome do servidor, o alias e o diretório raiz do seu site.

No exemplo fornecido, o arquivo de configuração define o servidor como “www.meudominio.com” e o alias como “meudominio.com” e “www.meudominio.com”. Certifique-se de substituir essas informações pelo seu domínio personalizado.

O próximo passo é definir o diretório raiz do seu site. No exemplo, o diretório raiz é “/var/www/www.meudominio.com/html”. Substitua essa parte pelo caminho correspondente ao diretório raiz do seu projeto.

Em seguida, são configurados os logs personalizados do Apache. Os logs de acesso serão registrados em “/var/log/apache/www.meudominio.com_log.vhost” e os logs de erros em “/var/log/apache/www.meudominio.com_error.log”. Você pode personalizar esses caminhos de acordo com suas preferências.

Dentro da tag <Directory></Directory>, é definida a configuração para o diretório raiz do seu site. No exemplo, estão configuradas algumas opções, como permitir a sobreposição de configurações através do arquivo .htaccess, permitir todas as solicitações e definir as permissões corretas. Certifique-se de ajustar essas configurações de acordo com as necessidades do seu projeto.

Na seção <FilesMatch \.php$></FilesMatch>, é especificado o tratamento das requisições PHP pelo PHP-FPM. O Apache irá encaminhar as solicitações PHP para o contêiner “php82” na porta 9000, onde o PHP-FPM está sendo executado.

A partir daí, são realizadas algumas configurações adicionais, como definir o nome do arquivo de acesso como .htaccess e negar o acesso a esse arquivo.

Por fim, é ativada a reescrita de URLs e configurada uma regra de segurança para bloquear os métodos de requisição “TRACE” e “TRACK”.

Lembre-se de salvar o arquivo de configuração com as alterações feitas e reiniciar o contêiner do Apache para que as configurações entrem em vigor.

Espero que este passo a passo tenha sido útil para configurar o ambiente com PHP 8.2 e Apache usando Docker. Aproveite seu novo ambiente de desenvolvimento e comece a criar projetos incríveis!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima