Tradução da Instalação do AtoM (ICA-AtoM) do site da Artefactual versão 2.3 com Ubuntu 16.04

Tradução da Instalação do AtoM (ICA-AtoM) do site da Artefactual - Versão 2.3 com Ubuntu 16.04

Documento original no Google Drive: https://docs.google.com/document/d/1mMyAqcsBwbORC2AvNWEPutmZyHOQW4yWh0vme3KsZqk/pub


Linux - Ubuntu 16.04 LTS (Xenial Xerus)

Muitos dos passos de configuração descritos neste documento são aplicáveis à qualquer ambiente moderno do Linux, contanto, alguns deles só serão aplicados ao Ubuntu e provavelmente à qualquer distribuição baseada em Ubuntu.
Este documento é baseado em Ubuntu 16.04 LTS (Xenial Xerus). Uma vez que você o tenha instalado, você deve seguir as instruções descritas a baixo. Particularmente, nós usaremos pacotes do Ubuntu que podem ser encontrados nos repositórios main e universe.

Importante: Por favor verifique se você revisou os requisitos antes de prosseguir.

Instalando as dependências.
  • MYSQL
Nós recomendamos o uso do MySQL 5.6 que é muito mais rápido que seus antecessores. Também experenciamos resultados muitos bons usando Percona Server ou MariaDB, então não fique com medo e os use se quiser!
Vamos instalar o MySQL usando apt install:

sudo apt install percona-server-server-5.6

Durante a instalação, você será requisitado a adicionar uma senha para o administrador padrão (user). Recomendamos que você use uma senha forte e que a salve, pois vai precisar dela  mais tarde.
  • ELASTICSEARCH
Um relativamente novo servidor de pesquisa baseado em Apache Lucene e desenvolvido no Java que trouxe ao AtoM muitos aspectos, performances e escalabilidade avançados. Isto é provavelmente  a maior mudança introduzida no AtoM 2.x e estamos satisfeitos com os resultados.
Ubuntu não disponibiliza um pacote, mas você pode baixar diretamente do site do Elasticsearch se não conseguir a partir dos seguintes métodos.
Primeiro, certifique-se de que o Java está instalado. Neste exemplo usaremos OpenJDK, mas o JVM da Oracle também deve funcionar.

sudo apt install openjdk-8-jre-headless

Após a instalação do Java, prossiga para a instalação do Elasticsearch. Faça o download e instale a chave de acesso publica do repositorio deles:

wget -qO - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -

Agora adicione o repositorio do Elasticsearch:

sudo add-apt-repository "deb http://packages.elasticsearch.org/elasticsearch/1.7/debian stable main"

Pronto para ser instalado. Execute:

sudo apt update
sudo apt install elasticsearch

Inicie o serviço e configure-o para iniciar juntamente ao sistema.

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

  • WEB SERVER
Existem vários servidores capazes de funcionar bem com PHP. O Apache é, provavelmente, o mais popular, nós gostamos dele, mas descobrimos que o Nginx se adapta melhor a ambientes de recursos limitados enquanto ele também  se mantém melhor e mais previsivel abaixo de cargas pesadas. Você está livre para tentar usar outras soluções, mas a seguinte documentação focará apenas em Nginx.

Nginx
No ubuntu, a instalação do Nginx é simples:
O Nginx implanta um servidor padrão (também conhecido como VirtuaHost pelos usuários do Apache) chamado default que pode ser encontrado em /etc/nginx/sites-available/default. Para instalar o AtoM você pode editar o bloco de servidor existente ou adicionar um novo. Nós iremos lhe mostrar como fazer o ultimo.

sudo touch /etc/nginx/sites-available/atom
sudo ln -sf /etc/nginx/sites-available/atom /etc/nginx/sites-enabled/atom
sudo rm /etc/nginx/sites-enabled/default

Agora nós criamos o arquivo de configuraçãos e o conectamos a partir de sites-enabled/ que é o diretório que o Nginx procurará. Isto significa que você pode desabilitar um site removendo seu symlink do diretório sites-enabled/ enquanto armazena o original em sites-available/ caso você queira reutilizá-lo no futuro. Você pode fazer isso com o servidor padrão do Nginx.
A seguir temos o bloqueador padrão de servidor para AtoM. Coloque os seguintes conteúdos em /etc/nginx/sites-enabled/atom.

upstream atom {
 server unix:/run/php7.0-fpm.atom.sock;
}

server {

 listen 80;
 root /usr/share/nginx/atom;

 # http://wiki.nginx.org/HttpCoreModule#server_name
 # _ means catch any, but it's better if you replace this with your server
 # name, e.g. archives.foobar.com
 server_name _;

 client_max_body_size 72M;

 # http://wiki.nginx.org/HttpCoreModule#try_files
 location / {
   try_files $uri /index.php?$args;
 }

 location ~ /\. {
   deny all;
   return 404;
 }

 location ~* (\.yml|\.ini|\.tmpl)$ {
   deny all;
   return 404;
 }

 location ~* /(?:uploads|files)/.*\.php$ {
   deny all;
   return 404;
 }

 location ~* /uploads/r/(.*)/conf/ {

 }

 location ~* ^/uploads/r/(.*)$ {
   include /etc/nginx/fastcgi_params;
   set $index /index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$index;
   fastcgi_param SCRIPT_NAME $index;
   fastcgi_pass atom;
 }

 location ~ ^/private/(.*)$ {
   internal;
   alias /usr/share/nginx/atom/$1;
 }

 location ~ ^/(index|qubit_dev)\.php(/|$) {
   include /etc/nginx/fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_split_path_info ^(.+\.php)(/.*)$;
   fastcgi_pass atom;
 }

 location ~* \.php$ {
   deny all;
   return 404;
 }

}

Agora você precisa habilitar e recarregar o Nginx:

sudo systemctl enable nginx
sudo systemctl reload nginx

  • PHP
O Ubuntu 16.04 empacota o PHP 7.0 que é muito mais rápido que suas versões anteriores.
Nossa maneira favorita de implantar o AtoM é utilizando o PHP-FPM, um gerenciador de processos que estabiliza melhor que outras soluções como o FastCGI. O comando seguinte o instalará juntamente com o resto das extensões exigidas pelo AtoM:

sudo apt install php7.0-cli php7.0-curl php7.0-json php7.0-ldap php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml php7.0-fpm php7.0-mbstring php7.0-mcrypt php7.0-xsl php7.0-zip php-memcache php-apcu

Nós também precisamos de php-apcu-bc, que não está disponível por enquanto para o Ubuntu 16.04. Vamos instalá-lo manualmente por enquanto:

sudo apt install php-dev
sudo pecl install apcu_bc-beta
echo "extension=apc.so" >> /etc/php/7.0/mods-available/apcu-bc.ini
ln -sf /etc/php/7.0/mods-available/apcu-bc.ini /etc/php/7.0/fpm/conf.d/30-apcu-bc.ini
ln -sf /etc/php/7.0/mods-available/apcu-bc.ini /etc/php/7.0/cli/conf.d/30-apcu-bc.ini
sudo systemctl restart php7.0-fpm

Vamos adicionar uma nova PHP pool para AtoM adicionando os seguintes conteúdos em um novo arquivo chamado /etc/php/7.0/fpm/pool.d/atom.conf:

[atom]

; The user running the application
user = www-data
group = www-data

; Use UNIX sockets if Nginx and PHP-FPM are running in the same machine
listen = /run/php7.0-fpm.atom.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0600

; The following directives should be tweaked based in your hardware resources
pm = dynamic
pm.max_children = 30
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 10
pm.max_requests = 200

chdir = /

; Some defaults for your PHP production environment
; A full list here: http://www.php.net/manual/en/ini.list.php
php_admin_value[expose_php] = off
php_admin_value[allow_url_fopen] = on
php_admin_value[memory_limit] = 512M
php_admin_value[max_execution_time] = 120
php_admin_value[post_max_size] = 72M
php_admin_value[upload_max_filesize] = 64M
php_admin_value[max_file_uploads] = 10
php_admin_value[cgi.fix_pathinfo] = 0
php_admin_value[display_errors] = off
php_admin_value[display_startup_errors] = off
php_admin_value[html_errors] = off
php_admin_value[session.use_only_cookies] = 0

; APC
php_admin_value[apc.enabled] = 1
php_admin_value[apc.shm_size] = 64M
php_admin_value[apc.num_files_hint] = 5000
php_admin_value[apc.stat] = 0

; Zend OPcache
php_admin_value[opcache.enable] = 1
php_admin_value[opcache.memory_consumption] = 192
php_admin_value[opcache.interned_strings_buffer] = 16
php_admin_value[opcache.max_accelerated_files] = 4000
php_admin_value[opcache.validate_timestamps] = 0
php_admin_value[opcache.fast_shutdown] = 1

; This is a good place to define some environment variables, e.g. use
; ATOM_DEBUG_IP to define a list of IP addresses with full access to the
; debug frontend or ATOM_READ_ONLY if you want AtoM to prevent
; authenticated users
env[ATOM_DEBUG_IP] = "10.10.10.10,127.0.0.1"
env[ATOM_READ_ONLY] = "off"

O gerenciador do processo precisa ser habilitado e reinicializado:

sudo systemctl enable php7.0-fpm
sudo systemctl start php7.0-fpm

Se o serviço falhar ao inicializar, cheque se o arquivo de configuração foi colado corretamente. Você pode também testar se o syntax está funcionando:

sudo php-fpm7.0 --test

Se você não planeja usar o PHP pool padrão (www), sinta-se livre para remove-lo:

sudo rm /etc/php/7.0/fpm/pool.d/www.conf
sudo systemctl restart php7.0-fpm

  • GERMAN JOB SERVER
O German Job Server é exigido pelo AtoM a partir da versão 2.2.

sudo apt install gearman-job-server

  • OTHER PACKAGES
Para gerar instrumentos de pesquisa PDF, o AtoM exige o Apache FOP 2.1. Após fazer o download e descompacta-lo, certifique-se que você tem o arquivo executável fop no caminho de execução do seu sistema.
Além disso, você talvez precise definir a variável ambiental FOP_HOME para o caminho da pasta que você extraiu o Apache FOP. O seguinte é um comando único e irá definir tudo para você automaticamente:

sudo -u root bash -c "\
   set -e \
   && mkdir /usr/share/fop-2.1 \
   && wget https://archive.apache.org/dist/xmlgraphics/fop/binaries/fop-2.1-bin.tar.gz -O /tmp/fop.tar.gz \
   && tar xvzf /tmp/fop.tar.gz --strip-components 1 -C /usr/share/fop-2.1 \
   && ln -s /usr/share/fop-2.1/fop /usr/bin/fop \
   && rm /tmp/fop.tar.gz \
   && echo 'FOP_HOME=/usr/share/fop-2.1' >> /etc/environment
"

Se você quer que o AtoM seja capaz de processar objetos digitais em formatos como JPEG ou extrair o texto dos seus documentos em PDF, existem certos pacotes que você precisa instalar. Eles não são obrigatórios mas se forem encontrados no sistema, o AtoM irá usa-los para produzir objetos digitais derivados dos seus objetos principais. Para mais informações, visite: Requirements: other dependencies. O seguinte instala-rá todas as dependências recomendadas de uma vez.

sudo apt install imagemagick ghostscript poppler-utils ffmpeg

  • DOWNLOAD AtoM
Agora que instalamos e configuramos todas as dependências, estamos prontos para fazer o download e instalar o AtoM em si. A maneira mais segura é instalando o AtoM a partir do tarball, que você pode encontrar na seção de downloads. Entretanto, usuários experientes talvez prefiram analizar o código do nosso repositório público.
As seguintes instruções assumem que nós estamos instalando AtoM abaixo de /usr/share/nginx e que estamos usando AtoM 2.3.0.

Opção 1: Fazendo o download do Tarball

wget https://storage.accesstomemory.org/releases/atom-2.3.0.tar.gz
sudo mkdir /usr/share/nginx/atom
sudo tar xzf atom-2.3.0.tar.gz -C /usr/share/nginx/atom --strip 1

Por favor, perceba que o tarball talvez não esteja disponível ainda se esta versão ainda está em desenvolvimento. Neste caso, você pode tentar alternar para o método de instalação citado abaixo.

Opção 2: Confira o código do nosso repositório GIT.
Instale o git:

sudo apt install git
sudo mkdir /usr/share/nginx/atom
sudo git clone -b stable/2.3.x http://github.com/artefactual/atom.git /usr/share/nginx/atom
cd /usr/share/nginx/atom

Se você  não está interessado em fazer o download de toda a história do git, você pode também reduzi-lo a um específico numero de revisões, por exemplo: apenas uma versão:

git clone --depth 1 http://github.com/artefactual/atom.git /usr/share/nginx/atom

Uma vez que você clonou o código do nosso repositório git, você precisa-rá compilar os arquivos CSS:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt install nodejs make
sudo npm install -g "less@<2.0.0"
sudo make -C /usr/share/nginx/atom/plugins/arDominionPlugin

  • FILESYSTEM PERMISSIONS
Por padrão, Nginx executa como um usuário www-data. Existem alguns diretórios abaixo de AtoM que precisam ser escritos pelo servidor da web. A maneira mais fácil de garantir isto, é atualizando o dono do diretório do AtoM e seu conteúdo executando:

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

Se você está implantando o AtoM em um ambiente compartilhado, nós recomendamos que você preste atenção nas permissões definidas para os “outros”. O seguinte é um exemplo de como limpar todos os pedaços de modo para os outros:

sudo chmod o= /usr/share/nginx/atom

  • CREATE THE DATABASE
Assumindo que você está executando o MySQL em um localhost, por favor, crie a base de dados executando o seguinte comando, usando a senha que você criou mais cedo:

mysql -h localhost -u root -p -e "CREATE DATABASE atom CHARACTER SET utf8 COLLATE utf8_unicode_ci;"

Perceba que a base de dados foi chamada de atom. Sinta-se livre para alterar este nome.
Se o seu servidor do MySQL não for o mesmo que o seu servidor da web, troque o “localhost” com o endereço do seu servidor MySQL.

AVISO:
Tenha certeza que você está usando uma base de dados vazia! Não re-utilize uma base de dados antiga a menos que ela esteja vazia. Você sempre pode derruba-la usando o comando DROP DATABASE e então cria-la novamente.

Além disso, é sempre uma boa ideia criar um usuário MySQL específico para que o AtoM mantenha as coisas mais seguras. É assim que você pode criar um usuário chamado atom com senha 12345 e as permições necessárias para a base de dados criadas acima.

mysql -h localhost -u root -p -e "GRANT INDEX, CREATE, SELECT, INSERT, UPDATE, DELETE, ALTER, LOCK TABLES ON atom.* TO 'atom'@'localhost' IDENTIFIED BY '12345';"

Note que os privilégios de INDEX, CREATE e ALTER são somente necessários durante a instalação ou quando você atualiza o AtoM para uma nova versão. Eles podem ser removidos do usuário uma vez que você terminar a instalação ou você pode alterar o usuário utilizado pelo AtoM a partir de config.php.

  • RUN THE WEB INSTALLER
Você agora deve estar preparado para executar o instalador. É uma interface simples na web que altera algumas configurações internas de acordo ao seu ambiente adicionando as mesas e os dados iniciais necessários à base de dados recentemente criada.

Abra o seu navegador e digite a URL na barra de endereços. A URL pode mudar muito dependendo da configuração do seu servidor. A URL será, normalmente, algo como http://localhost. O AtoM te redirecionará para o instalador automaticamente.

O processo de instalação consiste em um número de passos nos quais você será questionado sobre alguns detalhes de configuração, como a localização do servidor da sua base de dados. Se você seguiu este documento ao pé da letra, é assim que você deve preencher os seguintes campos:
  • Database name: atom
  • Database username: atom
  • Database password: 12345
  • Database host: localhost
  • Database port: 3306
  • Search host: localhost
  • Search port: 9200
  • Search index: atom

Com certeza, alguns desses campos aparentarão bem diferente se você estiver executando o AtoM de uma maneira distribuida, na qual os seus serviços de MySQL ou Elasticsearch estão sendo executados em máquinas distintas.

O outros campos podem ser completados como necessário:
  • Site title
  • Site description
  • Site base URL
  • Username
  • E-mail address
  • Password

Dica: Você pode mudar o título do site, a descrição e a URL de base mais tarde, através de  Admin > Settings > Site information. Veja: Site information para mais informações. O nome de usuário, email e senha também podem ser alterados por um administrador após a instalação, através da interface de usuário - veja: Edite um usuário existente.

Comentários

  1. Can't connect to the server (Failed to connect to localhost port 9200: Connection refused).

    Eu tivesse esse problema, como resolver?

    ResponderExcluir

Postar um comentário

Comente aqui, por favor .....

Postagens mais visitadas deste blog

ISO 16175 atualizada .....

Novas versões do Modelo OAIS (ISO 14721) e normas relacionadas, ISO 16363 e ISO 16919 que foram atualizadas agora no final de 2024