Skip to content

Configuração e instalação

Jamil Atta Junior edited this page Mar 23, 2016 · 34 revisions

Pré-requisitos:

  • python 2.7 e pacote de desenvolvimento: python-dev (em ubuntu: sudo apt-get install python2.7-dev)
  • pacotes de desenvolvimento para instalar lxml (em ubunutu: sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev)
  • git version 1.9.1 (em ubuntu: sudo apt-get install git)
  • pip, Virtualenv and Virtualenvwrapper instalados e atualizados (tutorial de instalação em Ubuntu).
  • servidor MongoDB (usuário e senha e porta podem ser definidos na configuração), com acesso para importar dump de dados inicial.
  • a app faz envio de emails utilizando credenciais de alguma conta de email (e de preferência exclusiva para o site) conhecida pelo administrador do site. Opcionalmente, quando for trabalhar no desenvolvimento, pode iniciar um servidor SMTP de Debug simplesmente executando no shell python -m smtpd -n -c DebuggingServer localhost:"1025" e ajustando o host, porta, etc no arquivo de configuração.

Instalação:

  1. clonar o projeto: git clone https://github.com/scieloorg/opac.git.
  2. criar virtualenv: mkvirtualenv opac.
  3. instalar dependências: cd opac e pip install -r requirements.txt e pip install -r requirements.dev.txt e pip install -r requirements.production.txt.
  4. criar arquivo de configurações locais (o novo arquivo não deve ser versionado):
cp opac/opac/webapp/config/templates/development.template opac/opac/webapp/config/development.py

Todas as credencias e configuração que não podem ficar públicas DEVERÃO ficar neste arquivo.

  1. editar o arquivo com as configurações locais:
  2. verificar modo DEBUG=True (somente para desenvolvimento).
  3. mudar o SECRET_KEY por exemplo com estas instruções
  4. mudar a configuração de acesso ao MongoDB (MONGODB_SETTINGS)
  5. alterar a configuração colocando o caminho absoluto do diretório para o arquivo .sqlite (OPAC_DATABASE_DIR)
  6. Definir a variável de ambiente: export OPAC_CONFIG="<caminho absoluto do arquivo gerado no item 4>/development.py"
  7. configurar e importar banco de dados documental (ver abaixo).
  8. configurar banco de dados relacional (ver abaixo).
  9. criar super usuário para acessar o admin (ver abaixo).
  10. no diretório opac iniciar o servidor: python manager.py runserver -h 0.0.0.0 -p 5000 e acessar em http://localhost:5000 ou no modo /admin com as credenciais do usuário criado no passo anterior.

Configuração:

Banco de dados documental (MongoDB):

O banco MongoDB armazena uma coleção em particular (uma coleção se refere a um conjunto de periódicos), e esta coleção esta relaciona com periódicos, fascículos e artigos. A estrutura de cada um destes documentos é definida no projeto: OPAC schema.

  1. obter um dump do banco e conhecer o acrônimo da coleção que esta nesse dump.
  2. restaurar o dump e se for necessário ajustar o arquivo de configuração (MONGODB_SETTINGS)
  3. importar o banco: mongorestore --db <nome do banco> <caminho pro dump>

Mais informação na documentação oficial.

Banco de dados relacional (SQLite):

Por definição utilizamos o banco de dados relacional para armazenar 'Usuário' e dados de controle da app ou configurações dinâmicas.

O nome do banco de dados esta definido na configuração: DATABASE_FILE. O banco de dados será criado no caminho definido na configuração: DATABASE_PATH. Por padrão o banco encontra-se em: /tmp/opac_admin.sqlite.

Para remover todos os dados do banco, pode ser utilizado o comando: python manager reset_dbsql

    Remove todos os dados do banco de dados SQL.
    Por padrão, se o banco SQL já existe, o banco não é modificado.
    Utilize o parametro --force=True para forçar a remoção dos dados.

    Uma vez removidos os dados, todas as tabelas serão criadas novamente.

Após remover os dados, você deve criar um usuário para administrar o site pela interface web de administração

Criar usuário via shell:

  1. acessar o diretório do projeto: cd <PATH>/opac.
  2. ativar o virtualenv workon opac.
  3. criar o primeiro usuário: python manager.py create_superuser.
  4. inserir um nome de email válido.
  5. inserir a senha, (não tem "echo" da entrada de dados).
  6. confirmar o email (y), caso contrario será enviado um email de confirmação ao email indicado do usuário.
  7. Acessar o site http://localhost:5000/admin com as credenciais do novo usuário.
  8. Este novo usuário já pode criar novos usuário via interface web (http://127.0.0.1:5000/admin/user/).