============ 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.
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
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.
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
, omod_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