Um ambiente completo de desenvolvimento web que suporta WordPress, PHP e HTML com dashboard visual integrado.
- Visão Geral
- Funcionalidades
- Instalação
- Estrutura de Diretórios
- Dashboard
- Tipos de Sites
- Automação WordPress
- Configuração de Permissões
- Troubleshooting
- Changelog
Este projeto oferece um ambiente de desenvolvimento web completo com:
- Dashboard visual para gerenciar todos os sites
- Suporte multi-tecnologia: WordPress, PHP e HTML
- Configuração automática de Apache e MySQL
- Sistema de permissões otimizado
- Automação nativa sem dependências externas
- Interface web moderna e responsiva
- Gerenciamento visual de todos os sites
- Criação e exclusão de sites com um clique
- Monitoramento de status em tempo real
- Informações detalhadas de cada site
- WordPress: Sites completos com CMS
- PHP: Sites com processamento server-side
- HTML: Sites estáticos de alta performance
- Instalação automática do WordPress
- Configuração de banco de dados
- Configuração de Apache
- Atribuição automática de portas
- Gerenciamento de permissões
- Ubuntu/Debian (ou similar)
- Acesso root/sudo
- Conexão com internet
# Clone o repositório
git clone <repository-url>
cd webhost
# Execute o script de instalação
sudo bash scripts/setup-ambiente-dev.shO script irá:
- Instalar todas as dependências
- Configurar Apache, MySQL e PHP
- Criar estrutura de diretórios
- Configurar permissões
- Instalar o dashboard
- Configurar sudoers para automação
/opt/webhost/
├── dashboard/ # Interface web do dashboard
│ ├── api/ # APIs para gerenciamento
│ ├── assets/ # CSS, JS e imagens
│ └── index.php # Página principal
├── sites/
│ ├── wordpress/ # Sites WordPress
│ ├── php/ # Sites PHP
│ └── html/ # Sites HTML
├── site-info/ # Informações dos sites
├── scripts/ # Scripts de gerenciamento
│ ├── setup-ambiente-dev.sh # Instalação do ambiente
│ ├── cleanup-ambiente-dev.sh # Limpeza do ambiente
│ ├── wp-multi.sh # Gerenciamento WordPress
│ ├── php-multi.sh # Gerenciamento PHP
│ ├── html-multi.sh # Gerenciamento HTML
│ └── check-status.sh # Verificação de status
└── logs/ # Logs do sistema
- URL:
http://localhost - Porta padrão: 80
- Visão geral do sistema: Status, recursos, logs
- Gerenciamento de sites: Criar, deletar, visualizar
- Monitoramento: Status em tempo real
- Logs: Visualização de logs do sistema
- Backup: Backup automático de sites
O dashboard executa com permissões www-data e tem acesso sudo para:
- Executar scripts de criação/deleção
- Gerenciar arquivos dos sites
- Configurar Apache
- Operações de banco de dados
- Tecnologia: WordPress completo
- Cor: Verde (
btn-success) - Portas: 9001-10000
- Estrutura: WordPress completo com banco de dados
- Admin:
/wp-admincom credenciais automáticas
Criação via Dashboard:
- Nome do site
- Domínio (opcional, padrão: localhost)
- Instalação automática do WordPress
- Criação de banco de dados
- Configuração de admin
- Tecnologia: PHP puro
- Cor: Azul (
btn-primary) - Portas: 9001-10000
- Estrutura: Apenas
index.phpna raiz - Performance: Alta velocidade
Criação via Dashboard:
- Nome do site
- Domínio (opcional, padrão: localhost)
- Template PHP básico
- Configuração Apache otimizada
- Tecnologia: HTML5 estático
- Cor: Laranja (
btn-warning) - Portas: 9001-10000
- Estrutura: Apenas
index.htmlna raiz - Performance: Máxima velocidade
Criação via Dashboard:
- Nome do site
- Domínio (opcional, padrão: localhost)
- Template HTML5 básico
- Configuração Apache para arquivos estáticos
O sistema usa automação nativa PHP em vez de WP-CLI:
Vantagens:
- ✅ Sem dependências externas
- ✅ Instalação mais rápida
- ✅ Menos pontos de falha
- ✅ Controle total do processo
Como funciona:
- Criação de banco de dados MySQL
- Download do WordPress
- Configuração via funções PHP nativas
- Instalação automática
- Configuração de admin
| Aspecto | Automação Nativa | WP-CLI |
|---|---|---|
| Dependências | Nenhuma | WP-CLI instalado |
| Velocidade | Mais rápida | Mais lenta |
| Confiabilidade | Alta | Média |
| Controle | Total | Limitado |
# Diretório principal
chown -R :sudo /opt/webhost
chmod -R 775 /opt/webhost
chmod g+s /opt/webhost
# Usuário do sistema
usermod -a -G sudo,www-data $CURRENT_USER# /etc/sudoers.d/www-data
www-data ALL=(ALL) NOPASSWD: SETENV: /opt/webhost/scripts/wp-multi.sh
www-data ALL=(ALL) NOPASSWD: SETENV: /opt/webhost/scripts/php-multi.sh
www-data ALL=(ALL) NOPASSWD: SETENV: /opt/webhost/scripts/html-multi.sh
www-data ALL=(ALL) NOPASSWD: mysql, mysqldump, apache2ctl, systemctl reload apache2, systemctl restart apache2- ✅ Acesso compartilhado entre usuários
- ✅ Herança automática de grupo
- ✅ Execução segura via dashboard
- ✅ Sem prompts de senha
# Verificar Apache
sudo systemctl status apache2
sudo apache2ctl configtest
# Verificar permissões
ls -la /opt/webhost/dashboard/# Verificar sudoers
sudo cat /etc/sudoers.d/www-data
# Verificar permissões
ls -la /opt/webhost/scripts/# Verificar portas em uso
ss -tuln | grep :900
# Verificar configurações Apache
ls -la /etc/apache2/sites-enabled/# Recriar permissões
sudo chown -R :sudo /opt/webhost
sudo chmod -R 775 /opt/webhost
sudo chmod g+s /opt/webhost# Apache
sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/apache2/access.log
# Sistema
sudo journalctl -u apache2 -f
sudo journalctl -u mysql -f# Verificar status do ambiente
sudo ./scripts/check-status.sh
# Limpar ambiente completamente
sudo ./scripts/cleanup-ambiente-dev.sh
# Reinstalar ambiente
sudo ./scripts/setup-ambiente-dev.sh- Arquivos .htaccess: Cada site pode ter suas próprias configurações
- Controle granular: Configurações específicas por diretório
- Facilidade de configuração: Sintaxe mais intuitiva para desenvolvedores
- Compatibilidade: Maior compatibilidade com frameworks e CMS
- Headers de segurança: Configuração automática via mod_headers
- Compressão: Otimização automática via mod_deflate
- Cache: Configuração inteligente de cache via mod_expires
- Controle de acesso: Configurações granulares de permissões
- Comandos padrão: a2ensite, a2dissite, apache2ctl
- Logs centralizados: Todos os logs em /var/log/apache2/
- Configurações modulares: Módulos habilitados automaticamente
- Teste de configuração: Validação automática antes de aplicar mudanças
- 🔄 Migração completa de Nginx para Apache
- ✨ Suporte a arquivos .htaccess para cada site
- 🔧 Configurações VirtualHost otimizadas
- 🛡️ Headers de segurança via mod_headers
- 📦 Compressão via mod_deflate
- ⚡ Cache de arquivos estáticos via mod_expires
- 🔄 Scripts atualizados para Apache (a2ensite, a2dissite)
- 📊 Logs centralizados em /var/log/apache2/
- 🎯 Maior flexibilidade para desenvolvedores
- ✨ Adicionado suporte a sites PHP
- ✨ Adicionado suporte a sites HTML
- 🎨 Dashboard redesenhado com seções separadas
- 🎨 Cores padronizadas por tecnologia
- 🔧 APIs específicas para cada tipo de site
- 📱 Interface responsiva melhorada
- ✨ Dashboard web completo
- 🔐 Sistema de permissões otimizado
- ⚙️ Configuração sudoers automática
- 🎛️ Gerenciamento visual de sites
- 🔧 APIs REST para automação
- 📊 Monitoramento em tempo real
- 🔄 Refatoração para
/opt/webhost - 🔧 Correção de permissões
- ⚡ Otimização de performance
- 🐛 Correção de bugs diversos
- 📚 Documentação atualizada
- ✨ Instalação automática do WordPress
- 🌐 Configuração Apache automática
- 🗄️ Configuração MySQL automática
- 🔧 Scripts de gerenciamento
- 📁 Estrutura de diretórios organizada
Para contribuir com o projeto:
- Fork o repositório
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Thiago Macêdo
- Desenvolvedor Full Stack
- Especialista em WordPress e PHP
- Criador do ambiente de desenvolvimento
⭐ Se este projeto te ajudou, considere dar uma estrela!