
🛠 Desenvolvimento remoto de WordPress com VS Code no Amazon EC2
Já perdeu um dia inteiro a tentar montar uma stack local de WordPress que, no fim, se comporta de forma diferente do seu servidor de produção? XAMPP, Docker, máquinas virtuais: cada opção falha no pior momento possível. A versão do PHP está errada, falta uma extensão ou o cliente abre uma página e vê um ecrã branco que nunca lhe apareceu localmente.
O Visual Studio Code consegue ligar-se a um servidor remoto via SSH com a mesma facilidade com que abre uma pasta no seu portátil. Não há magia envolvida: o seu código vai diretamente para uma instância Amazon EC2 onde já está a correr um servidor web completo com WordPress.
Abaixo encontra um guia passo a passo para configurar o VS Code + AWS EC2 para desenvolvimento de plugins e temas WordPress. Desde a criação de um utilizador Linux até guardar o seu espaço de trabalho, sem falhas e com explicação de cada passo.
💡 Visão geral rápida:
- Criar um utilizador sudo num servidor Ubuntu e configurar chaves SSH
- Preparar o seu cliente Windows: OpenSSH, ficheiro de configuração e chave privada
- Ligar o VS Code ao servidor via Remote-SSH e abrir a sua pasta do WordPress
- Guardar o espaço de trabalho para acesso rápido ao seu projeto
Pré-requisitos
Antes de configurar o desenvolvimento remoto, certifique-se de que o lado do servidor está pronto. Parto do princípio de que está em Windows 10 ou posterior e a começar a aprender sobre infraestrutura na cloud. Salte os passos que já concluiu.
Instância Amazon EC2 com Ubuntu e OpenLiteSpeed
Usamos uma Amazon Machine Image baseada em Ubuntu com o servidor web OpenLiteSpeed e uma stack LAMP completa otimizada para WordPress. Se ainda não configurou o servidor, os requisitos mínimos são Ubuntu 20.04 ou 22.04 LTS e pelo menos 2 GB de RAM. Com menos de 2 GB, o composer e o wp-cli irão falhar com erros de falta de memória em projetos de dimensão média.
Utilizador Linux com sudo
O acesso root é desnecessário e perigoso para o trabalho diário. Crie um utilizador normal com privilégios sudo. A DigitalOcean explica o processo no seu guia. Em resumo, dois comandos a partir do root ou com o prefixo sudo:
1 adduser example
Introduza a palavra-passe duas vezes; para as restantes perguntas, pode simplesmente premir Enter. Depois adicione o utilizador ao grupo sudo:
1 usermod -aG sudo example
Par de chaves SSH
O acesso SSH baseia-se num par de chaves. A chave privada (um ficheiro sem extensão ou .pem) é guardada na sua máquina Windows. A chave pública (um ficheiro .pub) é colocada no servidor na lista de chaves autorizadas. Vamos gerar um par diretamente no servidor:
1 su - example 2 mkdir .ssh 3 chmod 700 .ssh 4 touch .ssh/authorized_keys 5 chmod 600 .ssh/authorized_keys 6 ssh-keygen
Quando o ssh-keygen fizer perguntas, prima Enter três vezes (deixe a frase-passe vazia; no nosso cenário, não é necessária). Agora adicione a chave pública à lista de autorizadas e mostre a chave privada no ecrã:
1 cat .ssh/id_rsa.pub >> .ssh/authorized_keys 2 cat .ssh/id_rsa
Verá um bloco como este:
1 -----BEGIN RSA PRIVATE KEY----- 2 ... 3 -----END RSA PRIVATE KEY-----
Copie todo o conteúdo (incluindo as linhas delimitadoras) e guarde-o num ficheiro de texto no seu computador. O caminho poderá ser algo como:
1 C:\Users\Example\.ssh\aws-example-user.pem
O nome do ficheiro é arbitrário. Crie a pasta .ssh dentro do seu perfil do Windows, na mesma localização do ficheiro de configuração do passo seguinte.
Ficheiro de configuração SSH para o Visual Studio Code
O VS Code lê as definições de ligação do ficheiro de configuração SSH padrão. Crie um ficheiro de texto com o nome config (sem extensão) na pasta C:\Users\Example\.ssh\ com o seguinte conteúdo (para mais detalhes sobre o formato, consulte man ssh_config):
1 Host aws-ec2 2 HostName your-server-ip-or-domain.com 3 User example 4 IdentityFile C:\Users\Example\.ssh\aws-example-user.pem
Explicação das diretivas:
- Host: um nome arbitrário apresentado no VS Code (título da janela e indicador de ligação no canto inferior esquerdo);
- HostName: o endereço IP ou domínio da sua instância EC2;
- User: o nome de utilizador Ubuntu criado anteriormente;
- IdentityFile: o caminho absoluto para a chave privada na sua máquina Windows.
Cliente OpenSSH no Windows
O Windows 10 e 11 incluem um cliente SSH integrado, mas pode estar desativado por predefinição. Abra Definições → Aplicações → Funcionalidades opcionais → Adicionar uma funcionalidade. Localize OpenSSH Client na lista e clique em Instalar.

Visual Studio Code e a extensão Remote Development
Transfira o VS Code: pode optar pela versão estável (ícone azul) ou pela edição Insiders (ícone verde, atualizações mais frequentes). Não há diferença para o desenvolvimento remoto.
Imediatamente após a instalação, adicione o pacote de extensões Remote Development da Microsoft. O pacote inclui três extensões. Duas delas (Remote, Containers e WSL) podem ser desativadas; não são necessárias para a nossa tarefa. Mantenha apenas Remote, SSH.
Configurar o desenvolvimento remoto
Ligar ao servidor

- Prima
F1ou clique no botão laranja-escuro no canto inferior esquerdo da janela. - Comece a escrever
Remote-SSH; a sugestão de preenchimento automático Remote-SSH: Connect to Host… aparecerá. Selecione-a e prima Enter. - Na lista pendente, escolha o nome especificado na diretiva
Hostdo seu ficheiro de configuração, por exemplo,SSH: aws-ec2. O VS Code obtém a lista de anfitriões diretamente do seuconfig. - Pronto, está ligado. Uma nova janela será aberta; pode fechar a anterior.
A ligação é rápida e o editor parece responsivo porque apenas as diferenças dos ficheiros são enviadas pela rede, e não toda a interface.

Criar uma área de trabalho
- Abra Ficheiro → Abrir Pasta… (ou prima
Ctrl+K, depoisCtrl+O; prima as teclas sequencialmente, não em simultâneo). - No navegador de ficheiros que aparece, navegue até à raiz do WordPress, por exemplo,
/var/www/example.com/. Pode colar o caminho manualmente e clicar em OK.
Todos os ficheiros do WordPress aparecerão no painel do Explorador, à esquerda. Para adicionar outras pastas do servidor à área de trabalho (por exemplo, o diretório de outro plugin ou tema), use Ficheiro → Adicionar Pasta à Área de Trabalho….

Agora guarde esta vista como uma área de trabalho para poder regressar ao projeto com um único clique:
- Prima
F1, comece a escreversave worke selecione Áreas de Trabalho: Guardar Área de Trabalho Como…. - Guarde o ficheiro com o nome
wp.code-workspacenum local conveniente no servidor (a extensão.code-workspaceserá adicionada automaticamente). - Feche e reabra o VS Code; a área de trabalho aparecerá em Ficheiro → Recentes ou será carregada automaticamente se tiver sido a última a ser aberta.
Para alternar entre várias áreas de trabalho, use F1 → open work → selecione na lista.

Ligação simbólica (opcional)
Se estiver a desenvolver um plugin específico, é conveniente colocar os seus ficheiros de origem no diretório pessoal do utilizador e criar uma ligação simbólica para eles dentro do WordPress:
1 ln -s /home/example/wp /var/www/dev.example.com/wp-content/plugins/my-plugin
O caminho da esquerda é a pasta real do projeto; o caminho da direita é a ligação simbólica dentro de wp-content/plugins. Isto isola o código do plugin do núcleo do WordPress e simplifica o controlo de versões.
⁉️🤔 Perguntas frequentes
Tenho de usar o Amazon EC2 ou outro VPS funciona?
Qualquer servidor com Ubuntu e acesso SSH funciona. DigitalOcean, Linode, Vultr, Hetzner: o processo de configuração é idêntico. O único requisito são pelo menos 2 GB de RAM para um desenvolvimento confortável em WordPress com debugging. Esta abordagem não funciona em alojamento partilhado; precisa de acesso root ou sudo. O VS Code Remote SSH não está vinculado a um fornecedor de cloud específico: pode ligar-se a qualquer máquina com o sshd ativo, até mesmo um Raspberry Pi na sua rede local. A única diferença é a latência; quanto mais próximo o datacenter, mais responsivo é o editor.
Tenho de pagar tráfego ao trabalhar através do VS Code Remote SSH?
O tráfego é mínimo. O VS Code envia apenas alterações de ficheiros e comandos de terminal por SSH; não são transmitidos pixels da interface nem binários de extensões. Um dia típico de desenvolvimento fica-se pelas dezenas de megabytes. As extensões (incluindo o próprio Remote-SSH) são instaladas no servidor uma vez, durante a primeira ligação, o que representa um custo único de algumas centenas de megabytes. Se tiver um limite de tráfego rigoroso, desative as atualizações automáticas das extensões no anfitrião remoto através de
F1 → Preferences: Configure Runtime Argumentse adicione"remote.extensionDownloader.enabled": false. Mas para a grande maioria dos utilizadores, isto é desnecessário.
Posso trabalhar a partir de um servidor remoto num tablet ou telemóvel?
Tecnicamente, sim, através do VS Code for the Web num browser, mas com ressalvas. A versão de browser não suporta Remote SSH diretamente. Uma alternativa: configure o VS Code Server na instância (um produto separado, não o confunda com o Remote SSH) e ligue-se a ele a partir do seu browser. Para um tablet com teclado, é um cenário viável; para um telemóvel, é mais uma curiosidade. Uma opção mais prática é levar um portátil leve ou um Chromebook com subsistema Linux: toda a carga computacional permanece no servidor e o cliente consome recursos mínimos.
O que devo fazer se a ligação cair durante longos períodos de inatividade?
Configure o keepalive na sua configuração SSH. Adicione duas linhas à secção do seu anfitrião no ficheiro
C:\Users\Example\.ssh\config:ServerAliveInterval 60eServerAliveCountMax 5. O cliente enviará um pacote keepalive a cada 60 segundos e manterá a ligação durante até cinco pacotes perdidos consecutivos, pelo que a ligação pode sobreviver até 5 minutos de silêncio total na rede. Uma alternativa: executetmuxouscreenno servidor para processos de longa duração, para evitar perder a sessão do terminal se a ligação cair.
É seguro guardar uma chave privada em texto simples numa máquina Windows?
Um ficheiro
.pemsem frase-passe é, de facto, um texto simples que qualquer pessoa com acesso à sua conta Windows pode ler. Medidas de proteção por ordem crescente de segurança: (1) defina uma frase-passe ao criar a chave (ossh-keygenperguntará; não prima Enter, introduza antes uma frase-passe); (2) guarde a chave numa partição encriptada (o BitLocker está ativo por defeito no Windows 11 Pro); (3) para ambientes de produção, utilize um agente SSH com uma chave física (YubiKey). Para um ambiente de desenvolvimento, uma opção de compromisso é uma chave com frase-passe: o VS Code recordá-la-á durante a sessão, só precisará de a introduzir uma vez por dia, mas a chave torna-se inútil sem a frase-passe, mesmo que o ficheiro seja comprometido.
O que escolher para o trabalho diário: Remote SSH ou uma stack local
O Remote SSH através do VS Code não é uma solução milagrosa. Se está a escrever um plugin que só precisa do wp-cli e de testes unitários, uma configuração local em Docker com o wordpress-develop compila num minuto e não requer acesso à internet. Mas se está a depurar a integração com uma API externa, a testar compatibilidade entre navegadores ou a mostrar o progresso a um cliente, um servidor remoto com um ambiente de produção ganha.
Para uma abordagem combinada, mantenha uma instância EC2 de desenvolvimento a correr continuamente (uma t3.small reservada tem um preço razoável) e ligue-se a ela a qualquer momento, de qualquer lugar. O código reside no servidor, as cópias de segurança automáticas estão ativas e não fica preso a uma máquina específica. Experimente: após uma semana de desenvolvimento remoto, não vai querer voltar ao XAMPP.



