Sistema administrativo do ANSP
Project description
============ Sistema ANSP ============
Sistema de gerenciamento de projetos Fapesp desenvolvido pelo NARA/ANSP. É um conjunto de aplicações Django para gerenciar concessões e gastos de um projeto Fapesp.
Instalação
1. Instale os pacotes de desenvolvimento do python, xml, ffi, xslt, zlib e yaml, o pacote de fontes liberation e o pip para instalar pacotes python. No caso do Ubuntu, seria:
apt-get install libffi-dev libpython-dev libxml2-dev libxslt1-dev zlib1g-dev libyaml-dev fonts-liberation python-pip
Instale o virtualenv:
pip install virtualenv
Crie o ambiente virtual:
virtualenv <nome do ambiente>
Entre no diretório do ambiente virtual e ative-o:
cd <nome do ambiente> source bin/activate
Instale o django-arquea:
pip install django-arquea
Configuração
Crie um novo projeto Django:
django-admin startproject <nome do projeto>
Adicione a seguinte linha no final seu settings.py:
cd <nome do projeto> vi <nome do projeto>/settings.py INSTALLED_APPS += ('configuracao',)
Crie as configurações padrão:
python manage.py criarsistema <nome do projeto>
Execute
python manage.py migrate
para criar a base de dados inicial e
python manage.py loaddata initial_data.yaml
para carregar os dados iniciais.
Execute
python manage.py createsuperuser
para criar o super usuário inicial.
Execute
python manage.py runserver
e acesse http://localhost:8000 para verificar se a aplicação está rodando.
Colocando em produção
1. Estando tudo ok nas etapas anteriores, é hora de colocar em produção. Por padrão, é criada uma base de dados SQLite, que é ótima para testes, mas não é muito indicada para um ambiente de produção. Recomendamos utilizar o PostgreSQL ou o MySQL. Mostraremos como instalar e configurar o PostgreSQL no Ubuntu.
Instale a biblioteca de desenvolvimento do PostgreSQL:
apt-get install libpq-devInstale o servidor do PostgreSQL:
apt-get install postgresqlCrie a base de dados:
sudo su - postgres createdb <base> createuser <user> psql <base> grant all on database <base> to <user>; alter user <user> password '<pass>'; quit CTRL+DRepita o passo 4 de “Instalação” e instale o psycopg:
pip install psycopg2Edite o arquivo settings.py e altere as informações do banco de dados:
cd <nome do projeto> vi <nome do projeto>/settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'localhost', # se instalar o servidor em outra máquina, ip ou hostname dele 'NAME': '<base>', 'USER': '<user>', 'PASSWORD': '<pass>' } }Execute os passos 4 e 5 de “Configuração”.
Execute o passo 6 de “Configuração” para verificar se com o PostgreSQL tudo continua funcionando.
2. Para colocarmos em produção, precisamos de um webserver. Abaixo, é utilizado o Apache + WSGI, mas pode ser feito de outras maneiras, como descrito em https://docs.djangoproject.com/en/1.7/howto/deployment/ .
Instale o apache2, o mod_wsgi;
Habilite esses módulos;
Configure o apache. Considerando que o sistema rodará sozinho na máquina, a configuração seria apenas modificar o arquivo /etc/apache2/sites-available/000-default:
WSGIScriptAlias / /path/to/your/project/project/wsgi.py WSGIPythonPath /path/to/your/project/project:/virtualenv/dir/lib/python2.7/site-packages <VirtualHost *:80> WSGIProcessGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL} Alias /files/ /var/www/files/ Alias /static/ /var/www/static/ <Directory /var/www/static> Require all granted </Directory> <Directory /var/www/files> Require all granted </Directory> <Directory /path/to/your/project/project> <Files wsgi.py> Require all granted </Files> </Directory> <Location "/files"> AuthType Basic AuthName "Sistema" Require valid-user AuthBasicProvider wsgi WSGIAuthUserScript /path/to/your/project/project/wsgi.py </Location> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>trocando os diretórios e arquivos informados pelos da sua instalação
Execute, no diretório do projeto:
python manage.py collectstatic
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.