Skip to main content

Sistema administrativo do ANSP

Project description

Sistema de gestão de informações para projetos de pesquisa segundo regras estabelecidas pelo termo de outorga e manual de prestação de contas da FAPESP. Desenvolvido pelo NARA inicialmente para a ANSP e aperfeiçoado para o NeuroMat.

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
    

Referências

[ANSP] an Academic Network at São Paulo, Rede Acadêmica do Estado de São Paulo - projeto especial FAPESP coordenado pelo Prof. Dr. Luis Fernandez Lopez - www.ansp.br.

[FAPESP] Fundação de Amparo à Pesquisa do Estado de São Paulo - www.fapesp.br.

[NARA] Núcleo de Aplicações em Redes Avançadas - Equipe que operara e mantém o projeto Rede ANSP - www.ansp.br.

[NEUROMAT] Neuromatemática - Centro de Pesquisa, Inovação e Difusão (CEPID) da FAPESP coordenado pelo Prof. Dr. Antonio Galves - www.neuromat.numec.prp.usp.br.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-arquea-2.4.17.tar.gz (3.0 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page