Desenvolvimento

Como Criar um Ambiente de Desenvolvimento WordPress

Como você desenvolve seus plugins e temas WordPress? Apenas codifica e testa em produção? Ou usa o XAMPP, WAMP no Windows, e LEMP ou LAMP no Linux? O que vamos propor aqui é usar o Docker para criar um ambiente isolado, facilmente editável e leve. Com ele, criar novos temas e plugins será super fácil.

Pré-Requisitos

  • Docker
  • Docker Compose
  • IDE (como VSCode, PhpStorm ou JetBrains Fleet)

Estrutura do nosso projeto

Nosso objetivo é criar um docker-compose que nos permita desenvolver plugins ou temas em WordPress. Nossa estrutura contará com duas pastas (uma para plugins e outra para temas) e um arquivo docker-compose.yml. Todo o restante do WordPress ficará “oculto” no volume wordpress_data, fora do nosso fácil acesso. Caso você precise alterar, por exemplo, o arquivo de configuração ou outra pasta, mostraremos como fazer isso mais abaixo.

Criando o Docker Compose para o WordPress

Nosso docker-compose irá gerenciar dois serviços: um com MariaDB (poderia ser MySQL) e outro com o próprio WordPress. Iniciando pelo banco, temos a seguinte estrutura:

Criando um servidor mariaDB via docker compose

services:
  db:
    image: mariadb
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped
    ports:
      - 3307:3306
    environment:
      MYSQL_ROOT_PASSWORD: codeinloop_root
      MYSQL_DATABASE: wordpress
      MYSQL_USER: codeinloop_user
      MYSQL_PASSWORD: codepass

volumes:
  db_data: {}
YAML

No arquivo anterior, estamos definindo a imagem do banco de dados como image: mariadb, de forma implícita como a última versão (latest). Fazemos isso para não deixar nosso código desatualizado com o passar do tempo. Nomeamos o serviço como db, e usaremos isso mais adiante como link de conexão. Definimos a porta como 3307; porém, por se tratar de um serviço que pode ser acessado apenas pelo Docker e pelo WordPress, essa linha seria opcional. Entretanto, caso você queira usar um cliente de banco de dados como DBeaver ou PhpMyAdmin, poderá acessar usando o endereço localhost na porta 3307. Em environment, estamos apenas definindo login e senhas do banco de dados, que usaremos no WordPress.

Criando um servidor WordPress via docker compose

Uma vez que já temos o nosso banco de dados, podemos criar o servidor do WordPress. Para isso, usaremos a imagem oficial do WordPress, disponível no Docker Hub. Nessa página, você poderá escolher todas as opções de configuração. No momento deste artigo, usaremos a versão latest, porém é possível alterar para uma compatível com seu projeto.

Também vamos definir que esse container só seja iniciado após o banco de dados estar pronto, usando a tag depends_on. Em complemento a essa tag, poderíamos definir o healthcheck.

Vamos configurar os volumes com três linhas: nas duas primeiras, indicamos o local onde temos a pasta de plugins e temas, e na última definimos o volume para as demais informações. Diferente do caso do banco de dados, neste momento, quando estamos definindo a porta, queremos que ela seja acessível por nós e por isso a definimos. Para acessar, use o endereço: http://localhost:8000. Caso queira que fique na porta 80 ou outra diferente, basta mudar o valor antes dos dois pontos (:). Por fim, definimos os valores de conexão com o banco de dados.

services:

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./themes:/var/www/html/wp-content/themes
      - ./plugins:/var/www/html/wp-content/plugins
      - wordpress_data:/var/www/html
    ports:
      - '8000:80'
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  wordpress_data: {}
YAML

Executando o WordPress localmente

Agora que já definimos o nosso docker-compose, podemos iniciá-lo da seguinte forma:

docker compose up -d
YAML

Em seguida, acesse http://localhost:8000 para fazer a primeira configuração, indicando idioma, login e senha do administrador do WordPress.

Conclusão

Sabia que era tão fácil configurar um ambiente para desenvolver em WordPress? Agora, com uma IDE, você já pode começar a construir seus temas e plugins. Caso você queira debugar o código pela sua IDE, será necessário adaptar o docker-compose. Se tiver essa necessidade, comente aqui ou deixe nos comentários como você faz. Lembrando que este projeto completo está disponível em nosso Github.

Deixe um comentário

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.