PauloRB.dev

Desenvolvedor de Software

Como Configurar um Ambiente WordPress com Docker e phpMyAdmin | PauloRB.dev Como Configurar um Ambiente WordPress com Docker e phpMyAdmin – PauloRB.dev
Como Configurar um Ambiente WordPress com Docker e phpMyAdmin

Como Configurar um Ambiente WordPress com Docker e phpMyAdmin

Desenvolver WordPress localmente com Docker é uma maneira eficiente de criar e testar plugins, temas e personalizações. Neste artigo, vamos montar um ambiente completo usando Docker Compose, incluindo WordPress, MySQL e phpMyAdmin. Além disso, vamos mapear a pasta wp-content e o arquivo wp-config.php para facilitar o desenvolvimento.

Pré-requisitos

Antes de começar, certifique-se de ter o Docker e o Docker Compose instalados na sua máquina. Se ainda não os tem, siga as instruções oficiais:

Estrutura do Projeto

Vamos criar a seguinte estrutura de diretórios:

meu-projeto-wordpress/
├── docker-compose.yml
├── wp-content/
│ ├── plugins/
│ ├── themes/
│ ├── uploads/
├── wp-config.php
└── logs/ (opcional)

  • docker-compose.yml: Arquivo de configuração do Docker Compose.
  • wp-content/: Diretório para plugins, temas e uploads.
  • wp-config.php: Arquivo de configuração do WordPress.
  • logs/ (opcional): Diretório para armazenar logs.

Passo a Passo

1. Crie a Estrutura de Diretórios

No terminal, execute os seguintes comandos:

mkdir -p meu-projeto-wordpress/wp-content/{plugins,themes,uploads}
cd meu-projeto-wordpress
touch docker-compose.yml wp-config.php

2. Configure o docker-compose.yml

Abra o arquivo docker-compose.yml e adicione o seguinte conteúdo:

version: '3.8'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./wp-config.php:/var/www/html/wp-config.php
      - ./logs:/var/log/apache2 # Opcional: para logs do servidor
    working_dir: /var/www/html

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: somewordpress
    restart: always

volumes:
  db_data:

Explicação:

  • db: Container do MySQL com persistência de dados via volume (db_data).
  • wordpress: Container do WordPress com mapeamento do diretório wp-content e do arquivo wp-config.php.
  • phpmyadmin: Container do phpMyAdmin para gerenciar o banco de dados.
  • Volumes:
    • db_data: Persiste os dados do MySQL.
    • ./wp-content: Mapeia o diretório wp-content para desenvolvimento de plugins e temas.
    • ./wp-config.php: Mapeia o arquivo de configuração do WordPress.

3. Configure o wp-config.php

Abra o arquivo wp-config.php e adicione o seguinte conteúdo:

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'wordpress');
define('DB_HOST', 'db');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

define('WP_DEBUG', true); // Ativar modo de depuração

$table_prefix = 'wp_';

if (!defined('ABSPATH')) {
    define('ABSPATH', __DIR__ . '/');
}

require_once ABSPATH . 'wp-settings.php';

Este arquivo configura a conexão com o banco de dados e ativa o modo de depuração (WP_DEBUG).

4. Inicie os Containers

No terminal, execute o comando para iniciar os containers:

-d faz com que os containers sejam executados em segundo plano.

5. Acesse o WordPress e o phpMyAdmin

  • WordPress:
    • Abra o navegador e acesse: http://localhost:8000
    • Siga o processo de instalação do wordpress
  • phpMyAdmin:
    • Acesse: http://localhost:8080
    • Use as credenciais:
      • Servidor: db
      • Usuário: wordpress
      • Senha: wordpress

6. Desenvolva Plugins e Temas

  • Plugins:
    • Crie uma pasta dentro de wp-content/plugins/ para o seu plugin, por exemplo:

mkdir -p wp-content/plugins/meu-plugin

  • Dentro dessa pasta, crie o arquivo principal do plugin (meu-plugin.php).
  • Temas:
    • Crie uma pasta dentro de wp-content/themes/ para o seu tema, por exemplo:

mkdir -p wp-content/themes/meu-tema

  • Dentro dessa pasta, crie os arquivos necessários para um tema WordPress, como style.css e index.php.

 

7. Pare os Containers (Quando Necessário)

Para parar os containers, execute:

Se quiser remover tudo, incluindo os volumes, use:

docker-compose down --volumes

Com esse ambiente Docker, você tem tudo o que precisa para desenvolver WordPress localmente. O mapeamento do diretório wp-content e do arquivo wp-config.php facilita a personalização e o desenvolvimento de plugins e temas. Além disso, o phpMyAdmin permite gerenciar o banco de dados de forma simples.

Esse setup é ideal para desenvolvedores que desejam um ambiente de desenvolvimento rápido, isolado e reproduzível. Agora é só começar a criar! 🚀

 

Mais Posts

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

E vamos a mais um tutorial de outro joguinho clássico só que dessa vez vamos recriar o Tetris. Link do... Leia mais

Como acessar o entity Manager(Doctrine) dentro de comandos no Symfony 5

Como acessar o entity Manager(Doctrine) dentro de comandos no Symfony 5

Ao termos de criar comandos personalizados no Symfony na maioria das vezes se faz necessário o uso de alguma interação... Leia mais

Como instalar o DBEAVEr via PPA no Ubuntu Linux e derivados.

Como instalar o DBEAVEr via PPA no Ubuntu Linux e derivados.

Vamos a mais um post HOW TO…. Abra o Terminal: Você pode fazer isso procurando por “Terminal” no menu de... Leia mais

Como instalar o Go Language no Ubuntu ?

Como instalar o Go Language no Ubuntu ?

Então resolvi tirar um tempo para conhecer outras linguagens de programação e no momento resolvi iniciar com a GO pois... Leia mais