WordPress

Sites WordPress nativos com PHP-FPM e MySQL próprios, HTTPS, backups, staging, migração e edição completa via MCP.

  • Categoria: Servidores e infraestrutura
  • Estado: Disponível
  • Requisitos: Um VPS ativo com a função wordpress disponível; Pelo menos 256 MB de RAM e 1 GB de disco livres; Para um domínio próprio: o DNS dele deve apontar para o VPS
  • Ferramentas MCP (Só leem): listar_sitios_wordpress, ver_sitio_wordpress, leer_logs_wordpress, ver_web_wordpress, listar_backups_wordpress
  • Ferramentas MCP (Escrevem ou modificam): instalar_app, probar_web_wordpress, controlar_cache_wordpress, crear_backup_wordpress, crear_staging_wordpress, cambiar_direccion_wordpress, revelar_credencial_app, controlar_app
  • Ferramentas MCP (Destrutivas): editar_contenido_wordpress, editar_menus_wordpress, editar_medios_wordpress, configurar_sitio_wordpress, controlar_extensiones_wordpress, editar_usuarios_wordpress, editar_seo_wordpress, editar_archivos_wordpress, ejecutar_wp_cli_wordpress, consultar_base_wordpress, controlar_cron_wordpress, configurar_correo_wordpress, editar_integraciones_wordpress, eliminar_backup_wordpress, restaurar_backup_wordpress, desinstalar_app

Markdown

O que permite fazer?

Cada site WordPress é um app: roda de forma nativa (sem Docker) com seu usuário Linux, seu pool de PHP-FPM e seu banco no MySQL do VPS. Vários sites isolados entre si podem conviver no mesmo VPS.

  • Criar um site vazio, uma loja (WooCommerce) ou um site com Elementor.
  • Trazer um site a partir de um backup de outra hospedagem (All-in-One, Duplicator, UpdraftPlus ou um painel de hospedagem).
  • Publicá-lo com HTTPS em um endereço automático ou domínio próprio, e mudá-lo depois.
  • Fazer backups, restaurá-los, criar um staging e publicá-lo.
  • Atualizar núcleo, banco, plugins e temas.
  • Editar conteúdo, menus, mídia, ajustes, plugins, usuários, SEO, arquivos, cron, cache, e-mail e integrações, pelo painel ou via MCP.

Quando convém usar?

  • Sites institucionais, blogs ou lojas que se quer ter em um servidor próprio.
  • Mudar um WordPress de outra hospedagem sem mexer em arquivos à mão.
  • Que um agente de IA mantenha o site: conteúdo, plugins, testes em um navegador real.

Como funciona na ArduMaker?

  1. validar: VPS ativo, função wordpress do sistema, memória e disco mínimos.
  2. preparar: PHP 8.3 com PHP-FPM e as extensões do WordPress, e wp-cli (uma vez por VPS, verificado contra o .sha512 publicado); o motor MySQL é instalado se faltar.
  3. instalar: as senhas são guardadas antes (a do admin e a do banco); são criados o banco wp<id> e a conta 'wp<id>'@'localhost', o usuário Linux, as pastas, o pool e o cron; o núcleo é baixado, o wp-config.php é escrito e a instalação é feita com uma URL provisória.
  4. configurar: se foram pedidos extras, são instalados WooCommerce e/ou Elementor.
  5. publicar: o endereço é reservado, o server block é escrito no nginx do VPS, o site passa para https://<domínio> com wp search-replace e é publicado com DNS, proxy e HTTPS. Verifica-se /wp-login.php com 200.

Se publicar falhar, o site fica instalado e a nova tentativa publica de novo sem reinstalar. O TLS é colocado pela plataforma na frente do VPS; o nginx do VPS passa HTTPS on para o PHP para o WordPress não entrar em um loop de redirecionamentos ao abrir /wp-admin.

Nenhum campo é obrigatório: site_title (padrão «Mi sitio»), admin_email (padrão: o de quem instala), admin_user (3 a 40 caracteres; não são aceitos admin, administrator, root nem wordpress), locale (padrão es_ES), custom_domain, extras e origen (para trazer um backup ou copiar outro site).

O que muda realmente?

O quêOnde / como
Arquivos do site/srv/wordpress/wp<id>/public
Backups/srv/wordpress/wp<id>/backups/, fora da pasta pública
Usuário Linuxwp<id>, de sistema, sem login
PHPPool wp<id> com socket próprio, pm = ondemand e open_basedir na sua pasta
Bancowp<id> no MySQL, conta 'wp<id>'@'localhost' (só por socket)
Cronwp<id>-cron.timer roda os eventos vencidos a cada 5 minutos
WebServer block do domínio no nginx do VPS

Com pm = ondemand um site sem visitas não gasta memória, por isso cabem vários em um plano pequeno. Um site não pode ler os arquivos PHP de outro.

Backups, staging e migração

  • crear_backup_wordpress: cópia completa (banco e wp-content) em um .tar.gz fora da pasta pública.
  • restaurar_backup_wordpress com exatamente uma origem: backup (uma cópia do site: voltar atrás), url (um arquivo que o VPS baixa: cópia da ArduMaker .tar.gz, All-in-One .wpress, Duplicator .zip, UpdraftPlus ou .tar.gz de um painel de hospedagem) ou from_app (outro site do mesmo VPS). Depois de carregar, o site volta ao seu próprio endereço.
  • crear_staging_wordpress: um site novo no mesmo VPS, carregado com uma cópia e com endereço próprio. É publicado restaurando o site ao vivo com from_app igual ao staging.
  • Ao importar um backup o admin da ArduMaker é recriado com sua senha: o backup traz seus próprios usuários.
  • cambiar_direccion_wordpress despublica o endereço antigo (DNS, proxy e server block), publica o novo com HTTPS e reescreve todas as URLs do site.

Atualizar e desinstalar

A ação update (controlar_app) atualiza núcleo, banco, plugins e temas, e antes garante o PHP 8.3 e o pool do site. Desinstalar remove o pool e o cron; com delete_data também apaga arquivos, banco e senhas.

Esquema

  1. Internet: HTTPS em wordpress-<id> ou um domínio próprio
  2. Plataforma: termina o TLS e leva até o VPS
  3. nginx do VPS: server block do site, HTTPS on
  4. Pool PHP-FPM `wp<id>`: como o usuário wp<id>
  5. MySQL: banco wp<id> por socket
Um site WordPress

Resultado esperado

O site aparece em Apps e em listar_sitios_wordpress com seu endereço e extras. revelar_credencial_app devolve o usuário e a senha do /wp-admin; a senha do banco nunca sai: só o wp-config.php a usa. ver_sitio_wordpress com view: salud mostra a resposta HTTP, o pool do PHP, atualizações pendentes e cron atrasado.

Erros e resolução

ErroCausaTentar de novo?
php_no_instaladoNão foi possível preparar o PHP-FPMSim
base_ya_existeJá existe um banco wp<id> que este site não criou; não é tocadoNão
base_no_creada / wordpress_no_instaladoFalhou o banco ou a instalação do núcleoSim
nginx_no_configurado / wordpress_url_no_cambiadaFalhou o server block ou a mudança de URL ao publicarSim, sem reinstalar
backup_incompleto / backup_no_importadoO backup enviado não chegou inteiro ou não pôde ser importadoSim, após reenviá-lo
wordpress_copia_fallida / wordpress_restauracion_fallidaFalhou o backup ou a restauraçãoSim
wordpress_comando_fallido (422)O wp-cli saiu com erro; a saída cortada diz por quêCorrigindo o pedido

Para diagnosticar: leer_logs_wordpress (PHP-FPM, debug.log, erros ou acessos do nginx), ver_web_wordpress (estado, HTML, links ou formulários de um caminho) e probar_web_wordpress, que abre o site em um navegador real dentro do VPS e devolve uma captura, o texto visível e os erros de console.

Relação com MCP

O WordPress tem seu próprio domínio MCP, /mcp/wordpress (referência geral em /mcp/docs). Tudo roda no VPS com wp-cli como o usuário do site. Há três níveis: ver (quem vê o app), alterar (além disso, não ser agente somente leitura) e delicado (banco de dados, arquivos, restaurar, wp-cli livre, apagar usuários: admin da empresa).

TipoFerramentas
Leituralistar_sitios_wordpress, ver_sitio_wordpress, leer_logs_wordpress, ver_web_wordpress, listar_backups_wordpress
Conteúdo e siteeditar_contenido_wordpress, editar_menus_wordpress, editar_medios_wordpress, configurar_sitio_wordpress, controlar_extensiones_wordpress, editar_usuarios_wordpress, editar_seo_wordpress
Servidoreditar_archivos_wordpress, ejecutar_wp_cli_wordpress, consultar_base_wordpress, controlar_cron_wordpress, controlar_cache_wordpress, configurar_correo_wordpress, editar_integraciones_wordpress, probar_web_wordpress
Backups e endereçocrear_backup_wordpress, crear_staging_wordpress, cambiar_direccion_wordpress
Destrutivasrestaurar_backup_wordpress, eliminar_backup_wordpress, desinstalar_app
  • É criado com instalar_app (app_type: wordpress); a credencial do /wp-admin sai com revelar_credencial_app (só admin).
  • ejecutar_wp_cli_wordpress recusa eval, eval-file, shell, package, server e cli, e as opções --exec e --require.
  • editar_archivos_wordpress trabalha só dentro de wp-content e nunca toca wp-config.php; um .php é verificado com php -l antes de substituí-lo.
  • consultar_base_wordpress roda leituras como estão; qualquer escrita precisa de confirmed.
  • O usuário admin da ArduMaker no site não pode ser apagado nem rebaixado.

Funcionalidades relacionadas