O WP Staging CLI permite criar e gerir ambientes WordPress baseados em Docker para desenvolvimento e testes locais. Este guia abrange como adicionar, listar, eliminar e gerir sites WordPress.
O que vai obter
Cada site Docker inclui:
- PHP-FPM com a versão de PHP que escolher
- Servidor web Nginx com HTTPS
- Base de dados MariaDB
- Mailpit para testes de email
- Certificados SSL automáticos através do mkcert
- Configuração do ficheiro hosts para domínios locais
Pré-requisitos
- Docker 20.10.0 ou posterior
- Docker Compose 2.19.0 ou posterior
- 2 núcleos de CPU e 4 GB de RAM, no mínimo
Adicionar um novo site
Crie um novo site WordPress com um domínio local personalizado:
wpstaging add https://mysite.localOu sem o protocolo:
wpstaging add mysite.localPrecisa de um WordPress Multisite?
wpstaging add mysite.local --multisiteDepois de o site ser criado, pode aceder-lhe em https://mysite.local.
Adicionar um site a partir de um ficheiro de Backup existente
Crie um novo site e restaure a partir de um ficheiro de backup WP Staging num único passo:
wpstaging add mysite.local --from=backup.wpstgOu a partir de um URL remoto:
wpstaging add mysite.local --from=https://example.com/backup.wpstgWordPress Multisite:
wpstaging add mysite.local --multisite --from=BACKUP_URLEsta é a forma recomendada de criar uma cópia local do seu site de produção. Trata de tudo: instalação Docker, extração do backup, importação da base de dados e substituição do URL.
Personalizar a configuração do site
Versão do PHP
Indique a versão do PHP (a predefinição é 8.1):
wpstaging add mysite.local --php=8.2As versões de PHP disponíveis dependem das imagens Docker suportadas.
Versão do WordPress
Instale uma versão específica do WordPress (a predefinição é a mais recente):
wpstaging add mysite.local --wp=6.4.2Portas personalizadas
Altere as portas predefinidas caso entrem em conflito com outros serviços:
wpstaging add mysite.local \
--http-port=8080 \
--https-port=8443 \
--db-port=3307Endereço IP do contentor
Por predefinição, os sites usam endereços IP no intervalo 127.3.2.x. Pode indicar um IP personalizado:
wpstaging add mysite.local --container-ip=127.0.0.1Caminho do ambiente
Altere o local onde os ambientes Docker são guardados (predefinição: ~/wpstaging):
wpstaging add mysite.local --env-path=/custom/pathTodas as opções do comando add
| Opção | Predefinição | Descrição |
|---|---|---|
--php | 8.1 | Versão do PHP |
--wp | latest | Versão do WordPress |
--from | – | Caminho ou URL do ficheiro de backup a restaurar |
--env-path | ~/wpstaging | Caminho onde guardar os ambientes Docker |
--container-ip | 127.3.2.1 | Endereço IP do contentor |
--http-port | 80 | Porta HTTP do Nginx |
--https-port | 443 | Porta HTTPS do Nginx |
--db-port | 3306 | Porta do MariaDB |
--db-root | 123456 | Palavra-passe root do MariaDB |
--mailpit-http-port | 8025 | Porta da interface web do Mailpit |
--disable-mailpit | false | Desativar o contentor do Mailpit |
Opções de configuração do WordPress
| Opção | Predefinição | Descrição |
|---|---|---|
--db-name | auto | Nome da base de dados do WordPress |
--db-user | auto | Utilizador da base de dados do WordPress |
--db-pass | auto | Palavra-passe da base de dados do WordPress |
--db-prefix | wp_ | Prefixo das tabelas do WordPress |
--db-host | localhost | Hostname da base de dados do WordPress |
--db-ssl | false | Ativar SSL na ligação à base de dados do WordPress |
--admin-user | admin | Nome do administrador WordPress |
--admin-pass | admin | Palavra-passe do administrador WordPress |
--admin-email | admin@dev.null | Email do administrador WordPress |
--secure-credentials | false | Gerar credenciais aleatórias e seguras |
--multisite | false | Ativar WordPress Multisite |
Listar sites
Veja todos os sites WordPress no seu ambiente Docker:
wpstaging listExemplo de saída:
HOSTNAME STATUS PHP IP
mysite.local running 8.1 127.3.2.1
dev.local stopped 8.2 127.3.2.2
test.local running 8.0 127.3.2.3Ver detalhes de sites específicos
Obtenha informação detalhada sobre um ou mais sites:
wpstaging list mysite.localOu vários sites:
wpstaging list site1.local site2.localEliminar sites
Elimine um site específico:
wpstaging del mysite.localElimine vários sites:
wpstaging del site1.local site2.localElimine todos os sites (com confirmação):
wpstaging delAviso: Eliminar um site remove todos os seus ficheiros, base de dados e configuração. Esta ação não pode ser anulada.
Ativar/desativar sites
Desative um site sem o eliminar:
wpstaging disable mysite.localReative um site desativado:
wpstaging enable mysite.localOs sites desativados mantêm os seus dados, mas os respetivos contentores não são iniciados.
Repor um site
Reponha um site para uma instalação WordPress nova:
wpstaging reset mysite.localEsta ação remove todo o conteúdo WordPress e reinstala o WordPress, mantendo a configuração Docker intacta.
Repor com uma versão diferente do WordPress
Indique uma versão diferente do WordPress durante a reposição:
wpstaging reset mysite.local --wp=6.5Repor e restaurar a partir de um Backup
Reponha o site e restaure a partir de um backup WP Staging num único passo:
wpstaging reset mysite.local --from=backup.wpstg
wpstaging reset mysite.local --from=https://example.com/backup.wpstgCredenciais seguras
Para maior segurança, especialmente em ambientes partilhados, utilize credenciais aleatórias:
wpstaging add mysite.local --secure-credentialsIsto gera palavras-passe aleatórias para:
- Utilizador root do MariaDB
- Utilizador da base de dados do WordPress
- Utilizador administrador do WordPress
As credenciais geradas são mostradas após a criação do site.
WordPress Multisite
Crie uma instalação WordPress Multisite:
wpstaging add mynetwork.local --multisiteNotas sobre macOS
Utilizadores de macOS: A criação automática de alias de IP está ativa por predefinição para configurações multi-site sem fricção, usando o intervalo de loopback 127.3.2.1 – 127.3.2.254. Esta operação requer sudo e ser-lhe-á pedida a palavra-passe.
Dica: Configure sudo sem palavra-passe para o wpstaging e evite pedidos repetidos de palavra-passe. Consulte as FAQ para instruções.
Próximos passos
- Controlar contentores Docker – Iniciar, parar e gerir contentores
- Configuração do Docker – Opções de configuração avançadas
- Criar uma cópia local de um site WordPress – Tutorial completo