Skip to Content

Migração para versão 2.6.4

9 de julho de 2021

Este post contém o passo-a-passo em português para a migração de uma instância de AtoM para a versão 2.6.4. A versão anterior migrada neste tutorial foi a 2.3.0 – 138. Os procedimentos aqui apresentados baseiam-se quase que totalmente na documentação oficial do sistema (com algumas modificações). A documentação oficial está disponível na Wiki da Artefactual.

Copiar dados da versão anterior: backup do servidor antigo

Antes de iniciar o procedimento, é necessário acessar o servidor que hospeda a versão anterior do AtoM e copiar os arquivos de upload, download e tradução, bem como fazer um dump do banco de dados do sistema, conforme comandos a seguir.

Compactar diretórios uploads, downloads e r, além do arquivo messages.xml. O diretório r é necessário para instalações baseadas na Base Arch, pois a estrutura foi criada em uma das versões utilizadas pela base previamente:

tar -cvzf uploads.tgz /usr/share/nginx/atom/uploads/
tar -cvzf downloads.tgz /usr/share/nginx/atom/downloads/
tar -cvzf r.tgz /usr/share/nginx/atom/r
tar -cvzf messages.tgz /usr/share/nginx/atom/apps/qubit/i18n/pt_BR/messages.xml

Realizar dump do banco de dados:

mysqldump -uroot -p atom > atom_antigo.sql 

Instalar arquivos no servidor novo

Após transferir para o novo servidor, os arquivos .tgz devem ser descompactados e ter seus conteúdos movidos (ou copiados) para os respectivos diretórios do sistema. Antes, porém, certifique-se que está logado com permissão de superusuário ou execute o comando:

sudo su

Comandos para descompactar os arquivos .tgz:

tar -xvzf uploads.tgz
tar -xvzf downloads.tgz
tar -xvzf r.tgz
tar -xvzf messages.tgz

Comandos para mover os arquivos (relacionados a objetos digitais: uploads, downloads e r):

mv usr/share/nginx/atom/uploads/* /usr/share/nginx/atom/uploads/ 
mv usr/share/nginx/atom/downloads/* /usr/share/nginx/atom/downloads/
mv usr/share/nginx/atom/r /usr/share/nginx/atom/

Comandos para instalar o arquivo de tradução. Neste caso, renomearemos o arquivo atual antes de mover o backup, para manter a versão mais recente no servidor:

mv /usr/share/nginx/atom/apps/qubit/i18n/pt_BR/messages.xml /usr/share/nginx/atom/apps/qubit/i18n/pt_BR/_messages.xml
cp usr/share/nginx/atom/apps/qubit/i18n/pt_BR/messages.xml /usr/share/nginx/atom/apps/qubit/i18n/pt_BR/

No caso do arquivo de tradução, é importante também atribuir permissão de escrita, para que os usuários consigam atualizá-lo via interface administrativa do AtoM:

chmod 775 /usr/share/nginx/atom/apps/qubit/i18n/pt_BR/messages.xml

Atualizar banco de dados

Antes de fazer a carga do banco de dados anterior, deve-se remover o banco de dados atual e criar um novo, de mesmo nome:

mysql -u root -p -e "DROP DATABASE IF EXISTS atom;"
mysql -u root -p -e "CREATE DATABASE atom CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"

Realizar carga do banco de dados:

mysql -uroot -p atom < atom_antigo.sql

Deletar views indevidas. Percebeu-se, no procedimento de migração da versão 2.3 para a 2.6 que duas views que não fazem parte do AtoM foram criadas na estrutura do banco de dados. Uma dessas views gerou um problema após a migração, que impedia o backup do banco de dados. Por conta disso, foi necessário refazer o procedimento, removendo as views em questão.

A remoção foi feita no console do mysql, acessado pelo comando:

mysql –uroot –p

Depois de logado, deve-se executar os seguintes comandos:

use atom;
drop view new_view;
drop view VW_TERM;
exit;

Após carga e ajustes, deve-se executar a rotina de upgrade, no diretório raiz do AtoM:

cd /usr/share/nginx/atom
php -d memory_limit=-1 symfony tools:upgrade-sql

Nota:É fundamental confirmar que deseja continuar com o upgrade, caso contrário, o procedimento não será realizado

Ajustar as permissões

Para garantir que todos os arquivos e diretórios do AtoM podem ser manipulados pelo usuário do Nginx (www-data):

chown -R www-data:www-data /usr/share/nginx/atom

Re-gerar os thumbnails dos objetos digitais

A partir do comando (a ser executado na raiz do AtoM – /usr/share/nginx/atom):

php symfony digitalobject:regen-derivatives

Popular a interface de busca

Com o comando (a ser executado no diretório raiz do AtoM):

php -d memory_limit=-1 symfony search:populate

Limpar o cache da aplicação e reiniciar os serviços

A partir do script refresh.sh, criado na etapa de instalação (deve ser executado no diretório raiz do AtoM):

./refresh.sh

Pronto! O AtoM, ou melhor, a Base Arch está migrada!

Categories: Tutoriais
Comentários desativados