Mudanças entre as edições de "Atualizacao OJS"
(Created page with "Tutorial de Migração e Atualização do OJS (v3.2.1.4 para v3.3.0.22)Este guia documenta o processo de migração de ambiente e atualização do Open Journal Systems (OJS) p...") |
(Sem diferença)
|
Edição das 16h48min de 15 de julho de 2026
Tutorial de Migração e Atualização do OJS (v3.2.1.4 para v3.3.0.22)Este guia documenta o processo de migração de ambiente e atualização do Open Journal Systems (OJS) para corrigir inconsistências estruturais e eliminar vulnerabilidades de segurança exploradas por bots.Passo 1: Backup e Exportação no Servidor Antigo (OJS 3.2.1.4)Acesse o servidor de produção antigo via terminal SSH e execute os comandos abaixo para exportar o banco de dados e compactar os arquivos de mídias e submissões.1.1. Exportação do Banco de Dadosmysqldump -u seu_usuario_banco -p seu_banco_ojs > /tmp/ojs_prod_32.sql1.2. Compactação do Diretório de Uploads Privados (files_dir)tar -czvf /tmp/uploads_ojs.tar.gz -C /usr/uploads .1.3. Compactação da Pasta Pública de Imagens e Temastar -czvf /tmp/public_ojs.tar.gz -C /var/www/ojs publicPasso 2: Importação e Preparação no Novo Servidor (Debian/PHP 8.1)Envie os arquivos gerados no /tmp do servidor antigo para o /tmp do novo servidor. Em seguida, prepare a estrutura do OJS 3.3.0.22 limpo.2.1. Restauração dos Uploads Privados no Novo Caminhomkdir -p /usr/uploadstar -xzvf /tmp/uploads_ojs.tar.gz -C /usr/uploads2.2. Instalação do Código Limpo do OJS 3.3 e Restauração da Pasta Publiccd /var/www/(Assumindo que você já baixou e extraiu o OJS 3.3 em /var/www/ojs3)tar -xzvf /tmp/public_ojs.tar.gz -C /var/www/ojs3/2.3. Criação e Importação do Banco de Dados de Homologaçãomysql -u root -p -e "CREATE DATABASE ojs3_teste CHARACTER SET utf8 COLLATE utf8_general_ci;"mysql -u root -p ojs3_teste < /tmp/ojs_prod_32.sqlPasso 3: Saneamento Preventivo do Banco de Dados (DBeaver/MySQL)Antes de iniciar a atualização, é obrigatório corrigir as inconsistências de dados e estruturas antigas que travam o atualizador do OJS. Abra o seu gerenciador de banco de dados (ex: DBeaver), conecte-se à base ojs3_teste e execute o bloco SQL abaixo integralmente:-- =================================================================-- CORREÇÃO 1: TABELA EMAIL_LOG (Erro de truncamento de dados)-- =================================================================DELETE FROM email_logWHERE assoc_id IS NULLOR assoc_type IS NULLOR assoc_id = 0OR assoc_type = 0;DELETE FROM email_log WHERE NOT assoc_id REGEXP '^[0-9]+$';-- =================================================================-- CORREÇÃO 2: TABELA REVIEW_ROUND_FILES (Erro 150 / Chave Estrangeira)-- =================================================================-- Força as duas tabelas a usarem o mesmo motor InnoDBALTER TABLE submission_files ENGINE=InnoDB;ALTER TABLE review_round_files ENGINE=InnoDB;-- Iguala perfeitamente o tipo de dado da coluna de ligação nas duas tabelasALTER TABLE submission_files MODIFY file_id BIGINT NOT NULL;ALTER TABLE review_round_files MODIFY file_id BIGINT NOT NULL;-- Remove registros órfãos de revisões que apontam para arquivos inexistentesDELETE FROM review_round_filesWHERE file_id NOT IN (SELECT file_id FROM submission_files);-- Remove registros zerados ou nulos que corrompem a chave estrangeira posteriorDELETE FROM review_round_files WHERE file_id IS NULL OR file_id = 0;Passo 4: Execução do Script de Atualização (CLI)Com os dados limpos, prepare o arquivo de configuração e dispare o interpretador de atualização do OJS via linha de comando.4.1. Configuração InicialEdite o arquivo /var/www/ojs3/config.inc.php com as credenciais do banco ojs3_teste, aponte o files_dir = /usr/uploads e ajuste temporariamente a diretiva de instalação:installed = Off4.2. Execução do UpgradeAcesse a pasta raiz do novo OJS e execute o comando:cd /var/www/ojs3php tools/upgrade.php upgrade(Nota: O processo realizará a migração pesada OJSv3_3_0UpgradeMigration. É normal o script levar entre 45 minutos e 2 horas processando as tabelas e arquivos em segundo plano. Aguarde a mensagem final: "Successfully upgraded to version 3.3.0.22").Passo 5: Ajuste Fino de Permissões no Linux (Pós-Upgrade)Para resolver erros de escrita de templates (Smarty: unable to write file) e garantir a segurança do ambiente contra injeções de arquivos por bots, aplique as permissões estritas no Debian:# 1. Garante que o root é dono do código e o grupo www-data (Apache) possa lercd /var/www/ojs3sudo chown -R root:www-data .2. Libera escrita estritamente nas pastas de cache e uploads públicossudo chmod -R 775 cache/ public/3. Libera escrita no diretório privado de uploadssudo chown -R root:www-data /usr/uploadssudo chmod -R 775 /usr/uploads4. Limpa resíduos e caches antigos gerados no processosudo rm -rf cache/.php cache/t_compile/ cache/_db/*5.1. Ativação do SistemaRetorne ao arquivo /var/www/ojs3/config.inc.php e reative o OJS mudando a diretiva para:installed = On