Skip to content

annapaula/arquea

 
 

Repository files navigation

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
  1. Instale o virtualenv:

    pip install virtualenv
  2. Crie o ambiente virtual:

    virtualenv <nome do ambiente>
  3. Entre no diretório do ambiente virtual e ative-o:

    cd <nome do ambiente>
    source bin/activate
  4. Instale o django-arquea:

    pip install django-arquea

Configuração

  1. Crie um novo projeto Django:

    django-admin startproject <nome do projeto>
  2. Adicione a seguinte linha no final seu settings.py:

    cd <nome do projeto>
    vi <nome do projeto>/settings.py
    INSTALLED_APPS += ('configuracao',)
  3. Crie as configurações padrão:

    python manage.py criarsistema <nome do projeto>
  4. 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.

  5. Execute :

    python manage.py createsuperuser

    para criar o super usuário inicial.

  6. 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.

  1. Instale a biblioteca de desenvolvimento do PostgreSQL:

    apt-get install libpq-dev
  2. Instale o servidor do PostgreSQL:

    apt-get install postgresql
  3. Crie 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+D
  4. Repita o passo 4 de "Instalação" e instale o psycopg:

    pip install psycopg2
  5. Edite 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>'
        } 
    }
  6. Execute os passos 4 e 5 de "Configuração".
  7. 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/ .

  1. Instale o apache2, o mod_wsgi;
  2. Habilite esses módulos;
  3. 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

  4. Execute, no diretório do projeto:

    python manage.py collectstatic

About

Sistema Arquea de administração de projetos FAPESP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 54.7%
  • HTML 22.3%
  • JavaScript 17.2%
  • CSS 4.6%
  • PHP 1.2%