Este post orienta como realizar o preparo do ambiente para receber uma nova instalação de AtoM. Ele é totalmente baseado na documentação oficial da aplicação, versão 2.8, desenvolvida e mantida pela Artefactual.
Todos os comandos devem ser executados no terminal do Linux. E com permissão de super usuário. Para tal, abra o terminal e digite o comando abaixo, seguido da senha de root (que em nosso ambiente de teste é 12345):
sudo su
MySQL
O AtoM exige a versão 8.0 do MySQL. Ele deve ser instalado com os seguintes comandos:
sudo apt update sudo apt install mysql-server
Após a instalação, é recomendado que seja executado um script de segurança, para aprimorar a segurança do banco de dados.
sudo mysql_secure_installation
As decisões tomadas na execução do script, devem ser feitas em parceria com a equipe de infraestrutura e/ou segurança. E podem variar, de ambiente a ambiente. Decisões sugeridas:
- Instalar componente de validação de senhas (para exigir senhas fortes)? NO (porque aqui vamos usar senhas de teste, mas em ambiente de produção reconsidere a decisão)
- Remover usuário anônimo: YES
- Remover login remoto do usuário root: YES
- Remover base de dados de teste, que acompanha a instalação: YES
- Recarregar tabelas de privilégios: YES
Depois, deve-se configurar o modo de execução do MySQL, conforme orientação da documentação. A mudança sugerida afeta a sintaxe SQL suportada pelo MySQL , incluindo verificações e validação de dados.
Antes de partir para o próximo passo, atualize a senha de root do Mysql, acessando o terminal do MySQL:
mysql -uroot -p
E digitando este comando:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root@12345';
Crie um novo arquivo com o comando nano:
nano /etc/mysql/conf.d/mysqld.cnf
E cole os seguintes valores nele:
[mysqld] sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION optimizer_switch='block_nested_loop=off'
E acione as teclas CTRL e X simultaneamente para encerrar o nano, optando por YES, quando o aplicativo perguntar se deseja salvar as alterações.
Depois, basta reiniciar o serviço do MySQL, com o comando:
sudo systemctl restart mysql
Elasticsearch
O próximo passo é instalar o Elasticsearch, servidor de busca baseado no Apache Lucene e desenvolvido em Java, que é utilizado na busca do AtoM.
Antes de instalá-lo, porém, é necessário ter o Java instalado na máquina, o que pode ser feito com o seguinte comando:
sudo apt install openjdk-11-jre-headless apt-transport-https software-properties-common
Após instalar o Java, siga para a instalação do Elasticsearch. Como o Ubuntu não fornece o pacote desse servidor, é necessário baixar e instalar via fabricante. O primeiro passo é instalar a chave de assinatura pública usada no repositório deles:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Uma mensagem de “OK” será exibida
Importante: O tracinho do final do comando não pode ser ignorado!
O próximo passo é adicionar o repositório do Elasticsearch no Ubuntu, com o comando:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
E, finalmente, partir para a instalação:
sudo apt update sudo apt install elasticsearch
O último passo é configurar o serviço para ser iniciado toda vez que a máquina foi reiniciada e iniciá-lo:
sudo systemctl enable elasticsearch sudo systemctl start elasticsearch
PHP
Para o AtoM recomenda-se usar o PHP 7.4. O comando a seguir instalará essa versão do PHP, juntamente com extensões importantes para o funcionamento do nosso sistema de interesse:
sudo apt install php-common php7.4-common php7.4-cli php7.4-curl php7.4-json php7.4-ldap php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-mbstring php7.4-xsl php7.4-zip php-apcu php-apcu-bc
Como utilizamos o Memcached como mecanismo de cache do AtoM, é necessário instalar também o php-memcache:
sudo apt install php-memcache
Gearman Job Server
O servidor de tarefas Gearman é exigido pelo AtoM, a partir da versão 2.2. Logo, precisa ser instalado com o comando:
sudo apt install gearman-job-server
Outros pacotes
Para finalizar, precisamos instalar outros pacotes importantes para o funcionamento de recursos do AtoM. São eles: Apache FOP, ImageMagick, GhostScript, Poppler-utils e FFmpeg.
Apache FOP
Recurso usado no AtoM para criar recursos de localização em arquivos PDF. O comando para instalação é:
sudo apt install --no-install-recommends fop libsaxon-java
Observação: O comando utiliza o parâmetro –no-install-recommends intencionalmente, para garantir que apenas dependências sejam instaladas e não pacotes ‘recomendados’. Se esse parâmetro não for especificado, o openjdk-8-jre será instalado como uma dependência para um dos pacotes recomendados. Como o openjdk-8-jre-headless foi instalado anteriormente (com o Elasticsearch), é importante evitar a instalação do pacote openjdk-8-jre também (redundância).
Antes de passar para os próximos pacotes, é importante certificar-se de que o comando java padrão aponta para o binário java versão 11. Isso pode ser feito com o comando (ignore os erros):
sudo update-java-alternatives -s java-1.11.0-openjdk-amd64
Dica: para listar todas as instalações do jdk disponíveis e as seleções de alternativas de atualização do java, utiliza-se os comandos:
sudo update-java-alternatives -l sudo update-alternatives --get-selections | grep java
Demais pacotes
Os demais pacotes podem ser instalados com um comando apenas, que é o seguinte:
sudo apt install imagemagick ghostscript poppler-utils ffmpeg
- ImageMagick: usado para criar derivados de imagens (miniaturas) de objetos digitais. Trata-se de um conjunto de softwares para criar, editar, compor ou converter imagens bitmap. Pode ler e escrever imagens em uma variedade de formatos (mais de 100), incluindo DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG e TIFF. Além disso, pode ser usado para redimensionar, inverter, espelhar, rotacionar, distorcer e transformar imagens, ajustar cores das imagens, aplicar vários efeitos especiais ou desenhar texto, linhas, polígonos, elipses e curvas de Bézier.
- GhostScript: é usado com ImageMagick para criar imagens derivadas de PDF de uma ou várias páginas. Trata-se de um conjunto de software baseado em um interpretador para as linguagens de descrição de página Adobe Systems’ PostScript e Portable Document Format (PDF).
- poppler-utils: Acompanha um utilitário, o pdftotext que permite extrair texto em PDF e torná-lo pesquisável por meio da interface de busca. Trata-se de um utilitário de linha de comando, de código aberto, que converte arquivos PDF em arquivos de texto simples — ou seja, extrai dados de texto de arquivos encapsulados em PDF.
- FFmpeg: usado no AtoM para criar derivados de vídeo e para permitir a visualização do vídeo diretamente pelo navegador. Trata-se de uma solução completa e multiplataforma para gravar, converter e transmitir áudio e vídeo. Inclui libavcodec – a principal biblioteca de codecs de áudio/vídeo.