Skip to content

Configuração e instalação

Juan Funez edited this page Jan 26, 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 instance/config.py

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.
    • caso de não poder instalar o pacote opac_schema ver as instruções no README.rst do projeto
    • para instalar a versão de packtools com html generator, dentro do virtualenv (pip install -e git+https://github.com/jfunez/packtools.git@html-generator-new#egg=packtools)
  4. criar arquivo de configurações locais (o novo arquivo não deve ser versionado): cp instance/config.py.template instance/config.py Todas as credencias e configuração que não devem ficar públicas DEVEM ficar em este arquivo.
  5. editar o arquivo com as configurações locais:
  6. colocar no modo DEBUG=True (somente para desenvolvimento).
  7. mudar o SECRET_KEY por exemplo com estas instruções
  8. mudar a configuração de acesso ao MongoDB (MONGODB_SETTINGS)
  9. especificar o arquivo de configuração dependendo do modo no qual vai rodar:
  • desenvolvimento: export OPAC_CONFIG="config.development"
  • produção: export OPAC_CONFIG="config.production"
  1. configurar banco de dados relacional (ver abaixo).
  2. configurar/importar banco de dados documental (ver abaixo).
  3. criar super usuário para acessar o admin (ver abaixo).
  4. iniciar o servidor: python manager.py runserver -h 0.0.0.0 -p 5000, ao acessar ao http://localhost:5000 e para acessar no /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 a configuração do projeto MONGODB_SETTINGS @ opac/instance/config.py.
  3. importar o banco: mongorestore <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/).