% $Id$
% ---------------------------------------------------------------------------
%
% This is part of the SIGI.
% Copyright (C) 2008 Interlegis
% See the file relatorio.tex for copying conditions.
%
\section { Anexo - Arquivo LEIA-ME}
\label { sec:a1}
\verbatiminput { ../../../../LEIA-ME}
\section { Anexo - Arquivo visaogeral.txt}
\label { sec:a2}
O \textbf { SIGI} é um projeto para um Sistema de Informações Gerenciais do
\href { http://www.interlegis.gov.br/} { Interlegis} , escrito na linguagem de
programação \href { http://www.python.org} { Python} com o framework para
desenvolvimento web \href { http://www.djangoproject.org} { Django} .
\begin { description}
%[visit_definition_list_item]
\item [{Página do projeto}:] %[visit_definition]
\href { http://colab.interlegis.gov.br/wiki/ProjetoSigi} { http://colab.interlegis.gov.br/wiki/ProjetoSigi}
%[depart_definition]
%[depart_definition_list_item]
\end { description}
%___________________________________________________________________________
\hypertarget { caracter-sticas} { }
\pdfbookmark [0] { Características} { caracter-sticas}
\subsection * { Características}
Lista das principais características do SIGI:
\begin { itemize}
\item { }
Serviço web cliente/servidor, podendo ser disponibilizado tanto na
internet quanto na intranet;
\item { }
Multi-plataforma;
\item { } Baseia-se na interface de administração nativa do Django
(\verb |django.contrib.admin|, maiores informações em
\href { http://docs.djangoproject.com/en/dev/ref/contrib/admin/} { http://docs.djangoproject.com/en/dev/ref/contrib/admin/} );
\item { }
Gerencia convênios, equipamentos e inventários, serviços prestados e
composição de Mesas Diretoras das Casas Legislativas;
\item { }
Autenticação no sistema baseada em usuários e grupos, com perfis
diferentes;
\item { }
Emissão de relatórios.
\end { itemize}
%___________________________________________________________________________
\hypertarget { aplica-es} { }
\pdfbookmark [0] { Aplicações} { aplica-es}
\subsection * { Aplicações}
Lista das aplicações Django desenvolvidas para o SIGI:
\begin { description}
%[visit_definition_list_item]
\item [{sigi.apps.casas}:] %[visit_definition]
Gerência de Casas Legislativas.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.contatos}:] %[visit_definition]
Gerência de Contatos do Interlegis com Casas Legislativas,
fornecedores de equipamentos, serviços e etc.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.convenios}:] %[visit_definition]
Convênios do Interlegis com as Casas Legislativas.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.inventario}:] %[visit_definition]
Inventário de equipamentos disponibilizados pelo Interlegis para as
Casas Legislativas.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.mesas}:] %[visit_definition]
Composição das Mesas Diretoras das Casas Legislativas.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.parlamentares}:] %[visit_definition]
Gerência de Parlamentares.
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{sigi.apps.servicos}:] %[visit_definition]
Serviços prestados às Casas Legislativas conveniadas ao Interlegis.
%[depart_definition]
%[depart_definition_list_item]
\end { description}
%___________________________________________________________________________
\hypertarget { requisitos-b-sicos-de-software} { }
\pdfbookmark [0] { Requisitos básicos de software} { requisitos-b-sicos-de-software}
\subsection * { Requisitos básicos de software}
\begin { itemize}
\item { }
Python { \textgreater } = 2.4 { \textless } 3.0
\item { }
Django 1.0
\end { itemize}
%___________________________________________________________________________
\hypertarget { instala-o-e-documenta-o} { }
\pdfbookmark [0] { Instalação e documentação} { instala-o-e-documenta-o}
\subsection * { Instalação e documentação}
Para informações quanto a instalação do SIGI e demais configurações,
veja o arquivo \texttt { docs/instalacao.txt} .
\begin { description}
%[visit_definition_list_item]
\item [{Casos de uso}:] %[visit_definition]
\texttt { docs/arquivos/casosdeuso.dia}
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{Grafo dos Modelos}:] %[visit_definition]
\texttt { docs/arquivos/models.png}
%[depart_definition]
%[depart_definition_list_item]
%[visit_definition_list_item]
\item [{Esquema de dados}:] %[visit_definition]
\texttt { docs/arquivos/esquema.sql}
%[depart_definition]
%[depart_definition_list_item]
\end { description}
A documentação do SIGI está disponível no diretório \texttt { docs/} .
%___________________________________________________________________________
\hypertarget { licen-a-de-uso} { }
\pdfbookmark [0] { Licença de uso} { licen-a-de-uso}
\subsection * { Licença de uso}
O SIGI é disponibilizado como
\href { http://pt.wikipedia.org/wiki/Software_ Livre} { software livre} ,
isto significa que você pode redistribuí-lo e/ou modifica-lo dentro
dos termos da Licença Pública Geral GNU (GPL) como publicada pela
Fundação do Software Livre (FSF); na versão 3 da Licença, ou (na sua
opinião) em qualquer versão mais recente.
Veja o arquivo \texttt { LEIA-ME} para maiores informações a respeito das
condições de cópia e redistribuição.
\section { Anexo - Arquivo instalacao.txt}
\label { sec:a3}
Este documento descreve como efetuar a instalação do Sistema de
Informações Gerenciais do Interlegis (SIGI). Os passos são baseados
nas distribuições GNU/Linux Debian e Ubuntu. Podem ser aplicados sem
dificuldades em outras distribuições, mas poderão sofrer alguma
adaptação.
%___________________________________________________________________________
\hypertarget { prepara-o-do-ambiente-para-a-instala-o} { }
\pdfbookmark [0] { Preparação do ambiente para a instalação} { prepara-o-do-ambiente-para-a-instala-o}
\subsection * { Preparação do ambiente para a instalação}
Há dois tipos de instalação do SIGI, uma para desenvolvimento e outra
para produção.
Para ambas instalações, certifique-se que os seguintes softwares
estejam instalados em seu sistema:
\begin { itemize}
\item { }
Python { \textgreater } = 2.4 { \textless } 3.0
\item { }
Django 1.0
\end { itemize}
O Python pode ser instalado a partir do pacote \texttt { python} com uma
ferramenta de instalação de pacotes como o \texttt { apt-get} ou
\texttt { aptitude} .
Se a sua distribuição não possui o pacote \texttt { python-django} , para
o Django na versão 1.0, será necessário obter e configurar o mesmo
manualmente. A próxima seção traz mais detalhes para esta tarefa.
%___________________________________________________________________________
\hypertarget { instala-o-do-django} { }
\pdfbookmark [1] { Instalação do Django} { instala-o-do-django}
\subsubsection * { Instalação do Django}
O Django 1.0 pode ser obtido através da \href { http://www.djangoproject.com/download/} { página de download} do \href { http://www.djangoproject.com} { Django Project} via \emph { tarball} (\texttt { tar.gz} ) ou via
Subversion (revisão 8961).
%___________________________________________________________________________
\hypertarget { obtendo-e-instalando-o-django} { }
\pdfbookmark [2] { Obtendo e instalando o Django} { obtendo-e-instalando-o-django}
\subsubsection * { Obtendo e instalando o Django}
Primeiramente baixe o \href { http://www.djangoproject.com/download/1.0/tarball/} { tarball do Django 1.0} ou dê
\emph { checkout} na tag 1.0 disponível no repositório do Subversion do
projeto:
\begin { quote} { \ttfamily \raggedright \noindent
svn~checkout~http://code.djangoproject.com/svn/django/tags/releases/1.0/
} \end { quote}
Após isso será necessário colocar o pacote Python do \texttt { django}
(diretório \texttt { django} disponível dentro do diretório/tarball baixado)
no \emph { path} do Python.
Para saber quais são os diretórios que estão no path do Python,
execute em linha de comando:
\begin { quote} { \ttfamily \raggedright \noindent
python~-c~'import~sys;~print~sys.path'
} \end { quote}
Você tem opção de mover o pacote \texttt { django} para algum diretório
coberto pelo path ou adicionar um outro local no path utilizando a
variável de ambiente \texttt { PYTHONPATH} do usuário que rodará o sistema. O
formato do \texttt { PYTHONPATH} é o mesmo do \texttt { PATH} do sistema. Exemplo:
\begin { quote} { \ttfamily \raggedright \noindent
PYTHONPATH=/path/to/django:{ \$ } PYTHONPATH
} \end { quote}
De maneira simplificada, a instalação do Django é como a instalação de
qualquer outro pacote Python.
%___________________________________________________________________________
\hypertarget { preparando-o-ambiente-para-desenvolvimento} { }
\pdfbookmark [1] { Preparando o ambiente para desenvolvimento} { preparando-o-ambiente-para-desenvolvimento}
\subsubsection * { Preparando o ambiente para desenvolvimento}
Se você irá desenvolver o SIGI, é necessário possuir os seguintes
pacotes instalados em sua máquina:
\begin { itemize}
\item { }
sqlite3, para SQLite 3;
\item { }
python-pysqlite2, interface Python para SQLite 3.
\end { itemize}
%___________________________________________________________________________
\hypertarget { preparando-o-ambiente-para-produ-o} { }
\pdfbookmark [1] { Preparando o ambiente para produção} { preparando-o-ambiente-para-produ-o}
\subsubsection * { Preparando o ambiente para produção}
Para disponibilizar o SIGI em um ambiente para produção você
necessitará do MySQL Server ou PostgreSQL, ou qualquer outro Sistema
Gerenciador de Banco de Dados (SGBD) compatível com Django 1.0, e de
suas seguintes interfaces para Python, como os pacotes
\texttt { python-mysqldb} e \texttt { python-psycopg2} (respectivamente para MySQL e
PostgreSQL).
Será necessário também possuir o Apache ({ \textgreater } = 2.2) instalado para
disponibilizar o sistema via HTTP, de forma cliente/servidor, ou outro
servidor web compatível com Python e WSGI (ou FastCGI).
Opcionalmente, você pode utilizar o servidor web Lighttpd para servir
os arquivos estáticos do sistema.
Você encontrará configurações para Apache com WSGI neste documento,
juntamente com instruções para configurar o SIGI com o banco de dados
escolhido.
%___________________________________________________________________________
\hypertarget { instala-o-e-configura-o-do-sigi} { }
\pdfbookmark [0] { Instalação e configuração do SIGI} { instala-o-e-configura-o-do-sigi}
\subsection * { Instalação e configuração do SIGI}
O SIGI está disponível no \href { http://colab.interlegis.gov.br} { Colab} ,
um portal colaborativo para a gerência dos projetos de software do
\href { http://www.interlegis.gov.br} { Interlegis} .
A página do projeto SIGI no Colab pode ser acessada através do link
\href { http://colab.interlegis.gov.br/wiki/ProjetoSigi} { http://colab.interlegis.gov.br/wiki/ProjetoSigi} .
%___________________________________________________________________________
\hypertarget { obtendo-e-instalando-o-sigi} { }
\pdfbookmark [1] { Obtendo e instalando o SIGI} { obtendo-e-instalando-o-sigi}
\subsubsection * { Obtendo e instalando o SIGI}
Para baixar o SIGI, é necessário ter o Subversion instalado em sua
máquina (pacote \texttt { subversion} ). Para \emph { checkout} do sistema via
Subversion, execute o comando abaixo:
\begin { verbatim}
svn checkout http://repositorio.interlegis.gov.br/SIGI/trunk/ \
/path/to/SIGI
\end { verbatim}
Substitua \texttt { /path/to/SIGI} para o local onde deseja instalar o
SIGI. (Iremos considerar o diretório SIGI como a raiz do projeto
durante o restante deste documento.)
%___________________________________________________________________________
\hypertarget { configura-o-do-sigi} { }
\pdfbookmark [1] { Configuração do SIGI} { configura-o-do-sigi}
\subsubsection * { Configuração do SIGI}
Dentro da raiz do projeto, encontra-se um diretório de nome \texttt { sigi}
(pacote Python do projeto). Sua configuração padrão, se encontra no
arquivo \texttt { settings.py} .
Para alterar as configurações do projeto, é recomendado que copie o
arquivo \texttt { local{ \_ } settings.template} para \texttt { local{ \_ } settings.py} e
altere os parâmetros neste arquivo.
%___________________________________________________________________________
\hypertarget { instala-o-em-ambiente-para-desenvolvimento} { }
\pdfbookmark [1] { Instalação em ambiente para desenvolvimento} { instala-o-em-ambiente-para-desenvolvimento}
\subsubsection * { Instalação em ambiente para desenvolvimento}
As configurações padrão do projeto já estão direcionadas para um
ambiente de desenvolvimento e não exige demais configurações.
(Os comandos abaixo deverão ser executados dentro do diretório
\texttt { sigi} , onde se encontra o arquivo \texttt { manage.py} .)
%___________________________________________________________________________
\hypertarget { base-de-dados-em-ambiente-para-desenvolvimento} { }
\pdfbookmark [2] { Base de dados em ambiente para desenvolvimento} { base-de-dados-em-ambiente-para-desenvolvimento}
\subsubsection * { Base de dados em ambiente para desenvolvimento}
Antes de executar o projeto, é necessário preencher o banco de dados
com suas tabelas e valores padrão.
Considerando que possua o SQLite instalado, basta executar o comando
abaixo:
\begin { quote} { \ttfamily \raggedright \noindent
python~manage.py~syncdb
} \end { quote}
%___________________________________________________________________________
\hypertarget { execu-o-do-projeto-em-ambiente-para-desenvolvimento} { }
\pdfbookmark [2] { Execução do projeto em ambiente para desenvolvimento} { execu-o-do-projeto-em-ambiente-para-desenvolvimento}
\subsubsection * { Execução do projeto em ambiente para desenvolvimento}
Para rodar o SIGI, execute em linha de comando:
\begin { quote} { \ttfamily \raggedright \noindent
python~manage.py~runserver
} \end { quote}
O projeto poderá ser acessado através do endereço
\href { http://127.0.0.1:8000/} { http://127.0.0.1:8000/} .
%___________________________________________________________________________
\hypertarget { instala-o-em-ambiente-para-produ-o} { }
\pdfbookmark [1] { Instalação em ambiente para produção} { instala-o-em-ambiente-para-produ-o}
\subsubsection * { Instalação em ambiente para produção}
Para instalar o SIGI em ambiente para produção, devemos configurar um
Sistema Gerenciador de Banco de Dados (SGBD), o qual armazenará os
dados do sistema, e configurar um servidor HTTP, como o Apache, para
disponibilizar o sistema na web.
%___________________________________________________________________________
\hypertarget { configura-o-do-sgdb} { }
\pdfbookmark [2] { Configuração do SGDB} { configura-o-do-sgdb}
\subsubsection * { Configuração do SGDB}
Modifique em seu \texttt { local{ \_ } settings.py} as variáveis
\texttt { DATABASE{ \_ } ENGINE} , \texttt { DATABASE{ \_ } NAME} , \texttt { DATABASE{ \_ } USER} ,
\texttt { DATABASE{ \_ } PASSWORD} , \texttt { DATABASE{ \_ } HOST} e \texttt { DATABASE{ \_ } PORT} de acordo
com o banco de dados disponibilizado para o SIGI.
Em \texttt { DATABASE{ \_ } ENGINE} , suas opções são \texttt { postgresql{ \_ } psycopg2} ,
\texttt { postgresql} , \texttt { mysql} , \texttt { sqlite3} ou \texttt { ado{ \_ } mssql} .
Após isso, é necessário preencher o banco de dados
com suas tabelas e valores padrão. Para tal, execute em linha de
comando:
\begin { quote} { \ttfamily \raggedright \noindent
python~manage.py~syncdb
} \end { quote}
%___________________________________________________________________________
\hypertarget { configura-o-do-servidor-web-apache-com-wsgi} { }
\pdfbookmark [2] { Configuração do servidor web Apache com WSGI} { configura-o-do-servidor-web-apache-com-wsgi}
\subsubsection * { Configuração do servidor web Apache com WSGI}
Exemplos de configurações, de um \texttt { VirtualHost} , estão disponíveis no
diretório \texttt { etc/apache/} dentro do diretório raiz do projeto
(\texttt { SIGI/} ).
%
% Local variables:
% mode: flyspell
% TeX-master: "relatorio.tex"
% End:
%