-
Notifications
You must be signed in to change notification settings - Fork 22
Configuração e instalação
## 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](roundhere.net/journal/virtualenv-ubuntu-12-10/)).
-
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](docs.python.org/2/library/smtpd.html?highlight=smtp%20debuggingserver#debuggingserver-objects) 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:
-
clonar o projeto: “git clone github.com/scieloorg/opac.git“.
-
criar virtualenv: “mkvirtualenv opac“.
-
instalar dependências: “cd opac“ e “pip install -r requirements.txt“.
-
caso de não consiga instalar o pacote “opac_schema“ ver as [instruções no README.rst do projeto](github.com/scieloorg/opac_schema/blob/master/README.rst#instalation)
-
-
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**.
-
editar o arquivo com as configurações locais:
-
colocar no modo DEBUG=True (somente para desenvolvimento).
-
mudar o “SECRET_KEY“ por exemplo com [estas instruções](gist.github.com/geoffalday/2021517)
-
mudar a configuração de acesso ao MongoDB (“MONGODB_SETTINGS“)
-
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"``
-
configurar banco de dados relacional (ver abaixo).
-
configurar/importar banco de dados documental (ver abaixo).
-
criar super usuário para acessar o admin (ver abaixo).
-
iniciar o servidor: “python manager.py runserver -h 0.0.0.0 -p 5000“, ao acessar ao [localhost:5000](http://localhost:5000) e para acessar no [/admin](localhost:5000/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](github.com/scieloorg/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 a configuração do projeto “MONGODB_SETTINGS“ @ “opac/instance/config.py“.
-
importar o banco: “mongorestore <caminho pro dump>“. Mais informação na [documentação oficial](docs.mongodb.org/manual/tutorial/backup-and-restore-tools/).
### 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](127.0.0.1:5000/admin/)
## Criar usuário via shell:
-
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 “localhost:5000/admin“ com as credenciais do novo usuário.
-
Este novo usuário já pode criar novos usuário via interface web (“127.0.0.1:5000/admin/user/“).