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

DOCUMENTOS ARQUIVÍSTICOS DIGITAIS: CONSIDERAÇÕES SOBRE SUA CONCEITUAÇÃO

Repositórios arquivísticos digitais confiáveis (RDC-Arq) como plataforma de preservação digital em um ambiente de gestão arquivística

Função Arquivística Aquisição/Incorporação implementada no AtoM (ICA-Ato...