Como Instalar e Usar o MailHog com Laravel para Testes de Email
No desenvolvimento de aplicações web, especialmente no Laravel, enviar emails é uma tarefa comum. Porém, testar o envio de emails... Leia mais
Desenvolvedor de Software
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.
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:
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.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
docker-compose.ymlAbra 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:
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.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.wp-config.phpAbra 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).
No terminal, execute o comando para iniciar os containers:
docker-compose up -d
O -d faz com que os containers sejam executados em segundo plano.
dbwordpresswordpresswp-content/plugins/ para o seu plugin, por exemplo:
mkdir -p wp-content/plugins/meu-plugin
meu-plugin.php).wp-content/themes/ para o seu tema, por exemplo:
mkdir -p wp-content/themes/meu-tema
style.css e index.php.
Para parar os containers, execute:
docker-compose down
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! 🚀
No desenvolvimento de aplicações web, especialmente no Laravel, enviar emails é uma tarefa comum. Porém, testar o envio de emails... Leia mais
Elixir é uma linguagem de programação dinâmica e funcional, desenvolvida por José Valim em 2011, projetada para construir aplicações escaláveis... Leia mais
Recentemente me deparei com um problema curioso que ocorre no GIT principalmente enquanto escrevemos código em modo root e depois... Leia mais
A robótica e a eletrônica são áreas fascinantes que combinam criatividade e lógica para construir soluções incríveis. Hoje, vamos explorar... Leia mais