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.

Source Distribution

django-arquea-2.4.17.tar.gz (3.0 MB view details)

Uploaded Source

File details

Details for the file django-arquea-2.4.17.tar.gz.

File metadata

File hashes

Hashes for django-arquea-2.4.17.tar.gz
Algorithm Hash digest
SHA256 5d7c5b31531c6b303d8aaa27d5382ac46757677bd5d558a058bf25cc18bb9f54
MD5 4219be0d717e53ba8fae3b6686bc266e
BLAKE2b-256 6ac6e163ba2e903dbb38b38a5398598faeb19f6e1561ad7880c79af36e712d27

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page