-
Notifications
You must be signed in to change notification settings - Fork 22
Configuração e instalação
- 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.
- clonar o projeto:
git clone https://github.com/scieloorg/opac.git
. - criar virtualenv:
mkvirtualenv opac
. - instalar dependências:
cd opac
epip install -r requirements.txt
epip install -r requirements.dev.txt
epip install -r requirements.production.txt
.- caso de não consiga instalar o pacote
opac_schema
ver as instruções no README.rst do projeto
- caso de não consiga instalar o pacote
- 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.
- editar o arquivo com as configurações locais:
- verificar modo DEBUG=True (somente para desenvolvimento).
- mudar o
SECRET_KEY
por exemplo com estas instruções - mudar a configuração de acesso ao MongoDB (
MONGODB_SETTINGS
) - alterar a configuração colocando o caminho absoluto do diretório para o arquivo .sqlite (
OPAC_DATABASE_DIR
) - Definir a variável de ambiente:
export OPAC_CONFIG="<caminho absoluto do arquivo gerado no item 4>/development.py"
- configurar e importar banco de dados documental (ver abaixo).
- configurar banco de dados relacional (ver abaixo).
- criar super usuário para acessar o admin (ver abaixo).
- 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.
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.
- obter um dump do banco e conhecer o acrônimo da coleção que esta nesse dump.
- restaurar o dump e se for necessário ajustar o arquivo de configuração (
MONGODB_SETTINGS
) - importar o banco:
mongorestore --db <nome do banco> <caminho pro dump>
Mais informação na documentação oficial.
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
- acessar o diretório do projeto:
cd <PATH>/opac
. - ativar o virtualenv
workon opac
. - criar o primeiro usuário:
python manager.py create_superuser
. - inserir um nome de email válido.
- inserir a senha, (não tem "echo" da entrada de dados).
- confirmar o email (
y
), caso contrario será enviado um email de confirmação ao email indicado do usuário. - Acessar o site
http://localhost:5000/admin
com as credenciais do novo usuário. - Este novo usuário já pode criar novos usuário via interface web (
http://127.0.0.1:5000/admin/user/
).