Atualizando XOOPS
Este guia cobre a atualização do XOOPS de versões mais antigas para a versão mais recente, preservando seus dados e personalizações.
Informações de Versão
- Estável: XOOPS 2.5.11
- Beta: XOOPS 2.7.0 (teste)
- Futuro: XOOPS 4.0 (em desenvolvimento - veja Roteiro)
Lista de Verificação Pré-Atualização
Seção intitulada “Lista de Verificação Pré-Atualização”Antes de começar a atualização, verifique:
- Versão atual do XOOPS documentada
- Versão alvo do XOOPS identificada
- Backup completo do sistema concluído
- Backup de banco de dados verificado
- Lista de módulos instalados registrada
- Modificações personalizadas documentadas
- Ambiente de teste disponível
- Caminho de atualização verificado (algumas versões pulam versões intermediárias)
- Recursos do servidor verificados (espaço em disco suficiente, memória)
- Modo de manutenção habilitado
Guia de Caminho de Atualização
Seção intitulada “Guia de Caminho de Atualização”Caminhos de atualização diferentes dependendo da versão atual:
graph LR A[2.3.x] -->|Requer 2.4.x| B[2.4.x] B -->|Direto ou via 2.5.x| C[2.5.x] A -->|Via 2.4.x| C C -->|Estável| D[2.5.11] E[2.5.0-2.5.10] -->|Direto| D D -->|Beta| F[2.7.0]Importante: Nunca pule versões principais. Se atualizar de 2.3.x, primeiro atualize para 2.4.x, depois para 2.5.x.
Passo 1: Backup Completo do Sistema
Seção intitulada “Passo 1: Backup Completo do Sistema”Backup de Banco de Dados
Seção intitulada “Backup de Banco de Dados”Use mysqldump para fazer backup do banco de dados:
# Backup completo de banco de dadosmysqldump -u xoops_user -p xoops_db > /backups/xoops_db_backup_$(date +%Y%m%d_%H%M%S).sql
# Backup comprimidomysqldump -u xoops_user -p xoops_db | gzip > /backups/xoops_db_backup_$(date +%Y%m%d_%H%M%S).sql.gzOu usando phpMyAdmin:
- Selecione seu banco de dados XOOPS
- Clique na aba “Exportar”
- Escolha o formato “SQL”
- Selecione “Salvar como arquivo”
- Clique em “Ir”
Verificar arquivo de backup:
# Verificar tamanho de backupls -lh /backups/xoops_db_backup*.sql
# Verificar integridade do backup (descomprimido)head -20 /backups/xoops_db_backup_*.sql
# Verificar backup comprimidozcat /backups/xoops_db_backup_*.sql.gz | head -20Backup do Sistema de Arquivos
Seção intitulada “Backup do Sistema de Arquivos”Faça backup de todos os arquivos do XOOPS:
# Backup de arquivo comprimidotar -czf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar.gz /var/www/html/xoops
# Descomprimido (mais rápido, requer mais espaço em disco)tar -cf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar /var/www/html/xoops
# Mostrar progresso do backuptar -czf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar.gz --verbose /var/www/html/xoops | tailArmazene backups com segurança:
# Armazenamento seguro de backupchmod 600 /backups/xoops_*ls -lah /backups/
# Opcional: Copiar para armazenamento remotoscp /backups/xoops_* user@backup-server:/secure/backups/Testar Restauração de Backup
Seção intitulada “Testar Restauração de Backup”CRÍTICO: Sempre teste se seu backup funciona:
# Verificar conteúdo do arquivo tartar -tzf /backups/xoops_files_*.tar.gz | head -20
# Extrair para local de testemkdir /tmp/restore_testcd /tmp/restore_testtar -xzf /backups/xoops_files_*.tar.gz
# Verificar se arquivos chave existemls -la xoops/mainfile.phpls -la xoops/install/Passo 2: Habilitar Modo de Manutenção
Seção intitulada “Passo 2: Habilitar Modo de Manutenção”Impedir que usuários acessem o site durante a atualização:
Opção 1: Painel de Administração do XOOPS
Seção intitulada “Opção 1: Painel de Administração do XOOPS”- Faça login no painel de administração
- Vá para Sistema > Manutenção
- Habilitar “Modo de Manutenção do Site”
- Definir mensagem de manutenção
- Salvar
Opção 2: Modo de Manutenção Manual
Seção intitulada “Opção 2: Modo de Manutenção Manual”Crie um arquivo de manutenção na raiz web:
<!DOCTYPE html><html><head> <title>Sob Manutenção</title> <style> body { font-family: Arial; text-align: center; padding: 50px; } h1 { color: #333; } p { color: #666; margin: 20px 0; } </style></head><body> <h1>Site Sob Manutenção</h1> <p>Estamos atualizando atualmente nosso site.</p> <p>Tempo estimado: aproximadamente 30 minutos.</p> <p>Obrigado por sua paciência!</p></body></html>Configure Apache para mostrar página de manutenção:
# Em .htaccess ou configuração de vhostErrorDocument 503 /maintenance.html
# Redirecionar todo o tráfego para página de manutenção<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100$ # Seu IP RewriteRule ^(.*)$ - [R=503,L]</IfModule>Passo 3: Baixar Nova Versão
Seção intitulada “Passo 3: Baixar Nova Versão”Baixe o XOOPS do site oficial:
# Baixar versão mais recentecd /tmpwget https://xoops.org/download/xoops-2.5.8.zip
# Verificar checksum (se fornecido)sha256sum xoops-2.5.8.zip# Comparar com hash SHA256 oficial
# Extrair para local temporáriounzip xoops-2.5.8.zipcd xoops-2.5.8Passo 4: Preparação de Arquivo Pré-Atualização
Seção intitulada “Passo 4: Preparação de Arquivo Pré-Atualização”Identificar Modificações Personalizadas
Seção intitulada “Identificar Modificações Personalizadas”Verifique se há arquivos principais personalizados:
# Procurar arquivos modificados (arquivos com mtime mais novo)find /var/www/html/xoops -type f -newer /var/www/html/xoops/install.php
# Verificar temas personalizadosls /var/www/html/xoops/themes/# Observe quaisquer temas personalizados
# Verificar módulos personalizadosls /var/www/html/xoops/modules/# Observe quaisquer módulos criados por vocêDocumentar Estado Atual
Seção intitulada “Documentar Estado Atual”Crie um relatório de atualização:
cat > /tmp/upgrade_report.txt << EOF=== Relatório de Atualização XOOPS ===Data: $(date)Versão Atual: 2.5.6Versão Alvo: 2.5.8
=== Módulos Instalados ===$(ls /var/www/html/xoops/modules/)
=== Modificações Personalizadas ===[Documente quaisquer modificações personalizadas de tema ou módulo]
=== Temas ===$(ls /var/www/html/xoops/themes/)
=== Status de Plugin ===[Liste quaisquer modificações de código personalizado]
EOFPasso 5: Mesclar Novos Arquivos com Instalação Atual
Seção intitulada “Passo 5: Mesclar Novos Arquivos com Instalação Atual”Estratégia: Preservar Arquivos Personalizados
Seção intitulada “Estratégia: Preservar Arquivos Personalizados”Substitua arquivos principais do XOOPS, mas preserve:
mainfile.php(sua configuração de banco de dados)- Temas personalizados em
themes/ - Módulos personalizados em
modules/ - Uploads de usuário em
uploads/ - Dados do site em
var/
Processo Manual de Mesclagem
Seção intitulada “Processo Manual de Mesclagem”# Definir variáveisXOOPS_OLD="/var/www/html/xoops"XOOPS_NEW="/tmp/xoops-2.5.8"BACKUP="/backups/pre-upgrade"
# Criar backup pré-atualização no localmkdir -p $BACKUPcp -r $XOOPS_OLD/* $BACKUP/
# Copiar novos arquivos (mas preservar arquivos sensíveis)# Copiar tudo exceto diretórios protegidosrsync -av --exclude='mainfile.php' \ --exclude='modules/custom*' \ --exclude='themes/custom*' \ --exclude='uploads' \ --exclude='var' \ --exclude='cache' \ --exclude='templates_c' \ $XOOPS_NEW/ $XOOPS_OLD/
# Verificar arquivos críticos preservadosls -la $XOOPS_OLD/mainfile.phpUsando upgrade.php (Se Disponível)
Seção intitulada “Usando upgrade.php (Se Disponível)”Algumas versões do XOOPS incluem script de atualização automatizado:
# Copiar novos arquivos com instaladorcp -r /tmp/xoops-2.5.8/* /var/www/html/xoops/
# Executar assistente de atualização# Visite: http://seu-dominio.com/xoops/upgrade/Permissões de Arquivo Após Mesclagem
Seção intitulada “Permissões de Arquivo Após Mesclagem”Restaurar permissões apropriadas:
# Definir propriedadechown -R www-data:www-data /var/www/html/xoops
# Definir permissões de diretóriofind /var/www/html/xoops -type d -exec chmod 755 {} \;
# Definir permissões de arquivofind /var/www/html/xoops -type f -exec chmod 644 {} \;
# Tornar diretórios graváveischmod 777 /var/www/html/xoops/cachechmod 777 /var/www/html/xoops/templates_cchmod 777 /var/www/html/xoops/uploadschmod 777 /var/www/html/xoops/var
# Proteger mainfile.phpchmod 644 /var/www/html/xoops/mainfile.phpPasso 6: Migração de Banco de Dados
Seção intitulada “Passo 6: Migração de Banco de Dados”Revisar Alterações de Banco de Dados
Seção intitulada “Revisar Alterações de Banco de Dados”Verifique as notas de lançamento do XOOPS para mudanças na estrutura do banco de dados:
# Extrair e revisar arquivos de migração SQLfind /tmp/xoops-2.5.8 -name "*.sql" -type f# Documente todos os arquivos .sql encontradosExecutar Atualizações de Banco de Dados
Seção intitulada “Executar Atualizações de Banco de Dados”Opção 1: Atualização Automatizada (se disponível)
Seção intitulada “Opção 1: Atualização Automatizada (se disponível)”Use o painel de administração:
- Faça login no administrador
- Vá para Sistema > Banco de Dados
- Clique em “Verificar Atualizações”
- Analise as mudanças pendentes
- Clique em “Aplicar Atualizações”
Opção 2: Atualizações Manuais de Banco de Dados
Seção intitulada “Opção 2: Atualizações Manuais de Banco de Dados”Execute arquivos de migração SQL:
# Conectar ao banco de dadosmysql -u xoops_user -p xoops_db
# Exibir alterações pendentes (varia por versão)SELECT * FROM xoops_config WHERE conf_name LIKE '%version%';
# Executar scripts de migração manualmente se necessárioSOURCE /tmp/xoops-2.5.8/migrate_2.5.6_to_2.5.8.sql;Verificação de Banco de Dados
Seção intitulada “Verificação de Banco de Dados”Verificar integridade do banco de dados após atualização:
-- Verificar consistência do banco de dadosREPAIR TABLE xoops_users;OPTIMIZE TABLE xoops_users;
-- Verificar se tabelas chave existemSHOW TABLES LIKE 'xoops_%';
-- Verificar contagens de linhas (devem aumentar ou permanecer iguais)SELECT COUNT(*) FROM xoops_users;SELECT COUNT(*) FROM xoops_posts;Passo 7: Verificar Atualização
Seção intitulada “Passo 7: Verificar Atualização”Verificação de Página Inicial
Seção intitulada “Verificação de Página Inicial”Visite sua página inicial do XOOPS:
http://seu-dominio.com/xoops/Esperado: Página carrega sem erros, exibe corretamente
Verificação do Painel de Administração
Seção intitulada “Verificação do Painel de Administração”Acessar administrador:
http://seu-dominio.com/xoops/admin/Verifique:
- Painel de administração carrega
- Navegação funciona
- Painel exibe adequadamente
- Nenhum erro de banco de dados nos registros
Verificação de Módulo
Seção intitulada “Verificação de Módulo”Verifique módulos instalados:
- Vá para Módulos > Módulos no administrador
- Verifique se todos os módulos ainda estão instalados
- Verifique se há mensagens de erro
- Habilite quaisquer módulos que foram desabilitados
Verificação de Arquivo de Log
Seção intitulada “Verificação de Arquivo de Log”Analise os registros do sistema para erros:
# Verifique log de erro do servidor webtail -50 /var/log/apache2/error.log
# Verifique log de erro do PHPtail -50 /var/log/php_errors.log
# Verifique log de sistema do XOOPS (se disponível)# No painel de administração: Sistema > LogsTestar Funções Principais
Seção intitulada “Testar Funções Principais”- Login/logout de usuário funciona
- Registro de usuário funciona
- Funções de upload de arquivo
- Notificações por e-mail enviadas
- Funcionalidade de pesquisa funciona
- Funções de administrador operacionais
- Funcionalidade de módulo intacta
Passo 8: Limpeza Pós-Atualização
Seção intitulada “Passo 8: Limpeza Pós-Atualização”Remover Arquivos Temporários
Seção intitulada “Remover Arquivos Temporários”# Remover diretório de extraçãorm -rf /tmp/xoops-2.5.8
# Limpar cache de template (seguro deletar)rm -rf /var/www/html/xoops/templates_c/*
# Limpar cache do siterm -rf /var/www/html/xoops/cache/*Remover Modo de Manutenção
Seção intitulada “Remover Modo de Manutenção”Re-habilitar acesso normal ao site:
# Remover redirecionamento do modo de manutenção de .htaccess# Ou deletar arquivo maintenance.htmlrm /var/www/html/maintenance.htmlAtualizar Documentação
Seção intitulada “Atualizar Documentação”Atualizar suas notas de atualização:
# Documentar atualização bem-sucedidacat >> /tmp/upgrade_report.txt << EOF
=== Resultados da Atualização ===Status: SUCESSOData de Atualização: $(date)Nova Versão: 2.5.8Duração: [tempo em minutos]
Testes Pós-Atualização:- [x] Página inicial carrega- [x] Painel de administração acessível- [x] Módulos funcionais- [x] Registro de usuário funciona- [x] Banco de dados otimizado
EOFAtualização de Solução de Problemas
Seção intitulada “Atualização de Solução de Problemas”Problema: Tela Branca em Branco Após Atualização
Seção intitulada “Problema: Tela Branca em Branco Após Atualização”Sintoma: Página inicial não mostra nada
Solução:
# Verificar erros do PHPtail -f /var/log/apache2/error.log
# Habilitar modo de depuração temporariamenteecho "define('XOOPS_DEBUG', 1);" >> /var/www/html/xoops/mainfile.php
# Verificar permissões de arquivols -la /var/www/html/xoops/mainfile.php
# Restaurar de backup se necessáriocp /backups/xoops_files_*.tar.gz /tmp/cd /tmp && tar -xzf xoops_files_*.tar.gzProblema: Erro de Conexão de Banco de Dados
Seção intitulada “Problema: Erro de Conexão de Banco de Dados”Sintoma: Mensagem “Não é possível conectar ao banco de dados”
Solução:
# Verificar credenciais do banco de dados em mainfile.phpgrep -i "database\|host\|user" /var/www/html/xoops/mainfile.php
# Testar conexãomysql -h localhost -u xoops_user -p xoops_db -e "SELECT 1"
# Verificar status do MySQLsystemctl status mysql
# Verificar se banco de dados ainda existemysql -u xoops_user -p -e "SHOW DATABASES" | grep xoopsProblema: Painel de Administração Não Acessível
Seção intitulada “Problema: Painel de Administração Não Acessível”Sintoma: Não é possível acessar /xoops/admin/
Solução:
# Verificar regras de .htaccesscat /var/www/html/xoops/.htaccess
# Verificar se arquivos de administrador existemls -la /var/www/html/xoops/admin/
# Verificar se mod_rewrite está habilitadoapache2ctl -M | grep rewrite
# Reiniciar servidor websystemctl restart apache2Problema: Módulos Não Carregando
Seção intitulada “Problema: Módulos Não Carregando”Sintoma: Módulos mostram erros ou foram desativados
Solução:
# Verificar se arquivos de módulo existemls /var/www/html/xoops/modules/
# Verificar permissões de módulols -la /var/www/html/xoops/modules/*/
# Verificar configuração de módulo no banco de dadosmysql -u xoops_user -p xoops_db -e "SELECT * FROM xoops_modules WHERE module_status = 0"
# Reativar módulos no painel de administração# Sistema > Módulos > Clique no módulo > Atualizar StatusProblema: Erros de Permissão Negada
Seção intitulada “Problema: Erros de Permissão Negada”Sintoma: “Permissão negada” ao fazer upload ou salvar
Solução:
# Verificar propriedade de arquivols -la /var/www/html/xoops/ | head -20
# Corrigir propriedadechown -R www-data:www-data /var/www/html/xoops
# Corrigir permissões de diretóriofind /var/www/html/xoops -type d -exec chmod 755 {} \;
# Tornar cache/uploads graváveischmod 777 /var/www/html/xoops/cachechmod 777 /var/www/html/xoops/templates_cchmod 777 /var/www/html/xoops/uploadschmod 777 /var/www/html/xoops/varProblema: Carregamento Lento de Página
Seção intitulada “Problema: Carregamento Lento de Página”Sintoma: Páginas carregam muito lentamente após atualização
Solução:
# Limpar todos os cachesrm -rf /var/www/html/xoops/cache/*rm -rf /var/www/html/xoops/templates_c/*
# Otimizar banco de dadosmysql -u xoops_user -p xoops_db << EOFOPTIMIZE TABLE xoops_users;OPTIMIZE TABLE xoops_posts;OPTIMIZE TABLE xoops_config;ANALYZE TABLE xoops_users;EOF
# Verificar log de erros do PHP para avisosgrep -i "deprecated\|warning" /var/log/php_errors.log | tail -20
# Aumentar memória/tempo de execução do PHP temporariamente# Edite php.ini:memory_limit = 256Mmax_execution_time = 300Procedimento de Reversão
Seção intitulada “Procedimento de Reversão”Se a atualização falhar criticamente, restaure de backup:
Restaurar Banco de Dados
Seção intitulada “Restaurar Banco de Dados”# Restaurar de backupmysql -u xoops_user -p xoops_db < /backups/xoops_db_backup_YYYYMMDD_HHMMSS.sql
# Ou de backup comprimidogunzip < /backups/xoops_db_backup_YYYYMMDD_HHMMSS.sql.gz | mysql -u xoops_user -p xoops_db
# Verificar restauraçãomysql -u xoops_user -p xoops_db -e "SELECT COUNT(*) FROM xoops_users"Restaurar Sistema de Arquivos
Seção intitulada “Restaurar Sistema de Arquivos”# Parar servidor websystemctl stop apache2
# Remover instalação atualrm -rf /var/www/html/xoops/*
# Extrair backupcd /var/www/htmltar -xzf /backups/xoops_files_YYYYMMDD_HHMMSS.tar.gz
# Corrigir permissõeschown -R www-data:www-data xoops/find xoops -type d -exec chmod 755 {} \;find xoops -type f -exec chmod 644 {} \;chmod 777 xoops/cache xoops/templates_c xoops/uploads xoops/var
# Iniciar servidor websystemctl start apache2
# Verificar restauração# Visite http://seu-dominio.com/xoops/Lista de Verificação de Verificação de Atualização
Seção intitulada “Lista de Verificação de Verificação de Atualização”Após conclusão da atualização, verifique:
- Versão do XOOPS atualizada (check admin > System info)
- Página inicial carrega sem erros
- Todos os módulos funcionais
- Login de usuário funciona
- Painel de administração acessível
- Upload de arquivo funciona
- Notificações por e-mail funcionais
- Integridade do banco de dados verificada
- Permissões de arquivo corretas
- Modo de manutenção removido
- Backups protegidos e testados
- Desempenho aceitável
- SSL/HTTPS funcionando
- Nenhuma mensagem de erro nos registros
Próximos Passos
Seção intitulada “Próximos Passos”Após atualização bem-sucedida:
- Atualizar qualquer módulo personalizado para versões mais recentes
- Revisar notas de lançamento para recursos descontinuados
- Considerar otimizar desempenho
- Atualizar configurações de segurança
- Testar toda a funcionalidade completamente
- Manter arquivos de backup seguros
Tags: #atualização #manutenção #backup #migração-de-banco-de-dados
Artigos Relacionados:
- ../../06-Módulo-Publisher/Guia-do-Usuário/Instalação
- Requisitos-do-Servidor
- ../Configuração/Configuração-Básica
- ../Configuração/Configuração-de-Segurança