mirror of https://github.com/interlegis/sigi.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							612 lines
						
					
					
						
							21 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							612 lines
						
					
					
						
							21 KiB
						
					
					
				| % | |
| %  This is part of the SIGI. | |
| %  Copyright (C) 2008 Interlegis | |
| %  See the file relatorio.tex for copying conditions. | |
| % | |
|  | |
| \section{Anexos} | |
| \label{sec:anexos} | |
| 
 | |
| \subsection{Visão Geral} | |
| \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} | |
| \subsubsection*{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{requisitos-b-sicos-de-software}{} | |
| \pdfbookmark[0]{Requisitos básicos de software}{requisitos-b-sicos-de-software} | |
| \subsubsection*{Requisitos básicos de software} | |
| \begin{itemize} | |
| \item {}  | |
| Python {\textgreater}= 2.4 {\textless} 3.0 | |
| 
 | |
| \item {}  | |
| Django 1.0 | |
| 
 | |
| \end{itemize} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{licen-a-de-uso}{} | |
| \pdfbookmark[0]{Licença de uso}{licen-a-de-uso} | |
| \subsubsection*{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. | |
| 
 | |
| \subsection{Organização do sistema} | |
| \label{sec:org} | |
| 
 | |
| \subsubsection{Listagem do conteúdo dos diretórios} | |
| \verbatiminput{../arquivos/tree.txt} | |
| 
 | |
| \subsubsection{Descrição dos arquivos e diretórios} | |
| \begin{description} | |
| \item[COPYING:] Arquivo com a licença do sistema (GPLv3). | |
| 
 | |
| \item[LEIA-ME/README:] Contém informações do sistema, nota de | |
|   copyright e instruções de instalação. | |
| 
 | |
| \item[devel.db:] Base de dados SQLite utilizada para desenvolvimento | |
|   do sistema. | |
| 
 | |
| \item[docs/:] Diretório com toda documentação escrita para o sistema | |
|   (relatórios, manual de instalação, casos de uso, esquema de base de | |
|   dados, etc). | |
| 
 | |
| \item[etc/:] Diretório com arquivos variados: configuração do Apache, | |
|   \textit{patchs} de códigos, etc. | |
| 
 | |
| \item[media/:] Diretório com arquivos estáticos e de mídia do sistema | |
|   (imagens, CSS, javascripts). | |
| 
 | |
| \item[sigi/:] Pacote Python do sistema. | |
| 
 | |
| \item[sigi/admin/:] Pacote de código relacionado com a aplicação | |
|   \verb|admin| do Django (\verb|django.contrib.admin|). | |
| 
 | |
| \item[sigi/apps/:] Pacote de aplicações do sistema, maiores | |
|   informações na Seção \ref{sec:apps}. | |
| 
 | |
| \item[sigi/settings.py:] Configurações padrões do sistema. | |
| 
 | |
| \item[sigi/local\_settings.template:] Exemplo de configurações locais | |
|   do sistema (pertinentes à instalação). Deverá ser copiado para | |
|   \verb|sigi/local_settings.py| para sua utilização. | |
| 
 | |
| \item[sigi/locale/:] Diretório com localização local do projeto. | |
| 
 | |
| \item[sigi/manage.py:] Script de gerenciamento do projeto, gerado pelo | |
|   framework Django. | |
| 
 | |
| \item[sigi/templates/:] Diretório com templates HTML do Django. | |
| 
 | |
| \item[sigi/urls.py:] Modulo de configuração de URLs. | |
| \end{description} | |
| 
 | |
| \subsubsection{Descrição das aplicações} | |
| \label{sec:apps} | |
| O SIGI é composto de algumas aplicações Django, cada uma com um | |
| propósito bem definido. | |
| 
 | |
| Uma aplicação Django é um pacote Python modular, podendo ser | |
| reaproveitado em outros projetos. | |
| 
 | |
| Algumas aplicações possuem algum nível de relacionamento com as | |
| outras. | |
| 
 | |
| Segue descrição de cada aplicação: | |
| 
 | |
| \begin{description} | |
| \item[sigi.apps.casas:] | |
|   Gerência de Casas Legislativas. | |
| 
 | |
| \item[sigi.apps.contatos:] | |
|   Gerência de Contatos do Interlegis com Casas Legislativas, | |
|   fornecedores de equipamentos, serviços e etc. | |
| 
 | |
| \item[sigi.apps.convenios:] | |
|   Convênios do Interlegis com as Casas Legislativas. | |
| 
 | |
| \item[sigi.apps.inventario:] | |
|   Inventário de equipamentos disponibilizados pelo Interlegis para as | |
|   Casas Legislativas. | |
| 
 | |
| \item[sigi.apps.mesas:] | |
|   Composição das Mesas Diretoras das Casas Legislativas. | |
| 
 | |
| \item[sigi.apps.parlamentares:] | |
|   Gerência de Parlamentares. | |
| 
 | |
| \item[sigi.apps.servicos:] | |
|   Serviços prestados às Casas Legislativas conveniadas ao Interlegis. | |
| \end{description} | |
| 
 | |
| \subsubsection{Relacionamento entre as aplicações} | |
| \label{sec:rel} | |
| 
 | |
| A Figura \ref{fig:apps} demonstra o relacionamento entre as | |
| aplicações e seus \emph{models}. | |
| 
 | |
| Uma seta direcional representa uma relação \textit{muitos para | |
|   um}. Uma seta bidirecional representa uma relação \textit{muitos | |
|   para muitos}. | |
| 
 | |
| A seta pontilhada representa uma relação genérica, como descrito na | |
| documentação do Django:\\ | |
| http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/\#id1 | |
| 
 | |
| \begin{figure}[p] | |
|   \centering | |
|   \includegraphics[angle=90,width=130mm]{../imagens/apps.png} | |
|   \caption{Relacionamento entre as aplicações} | |
|   \label{fig:apps} | |
| \end{figure} | |
| 
 | |
| \subsection{Casos de Uso} | |
| \label{sec:casos} | |
| 
 | |
| Esta seção descreve a utilização do sistema através de \emph{Casos de | |
|   Uso}, representando os principais atores e suas interações com o | |
| sistema. | |
| 
 | |
| Os Casos de Uso servem de auxílio à compreensão dos usuários quanto à | |
| implementação e uso do sistema. | |
| 
 | |
| \subsubsection{Casos de Uso do SIGI} | |
| A Figura \ref{fig:casos} apresenta os Casos de Uso do SIGI de maneira | |
| simplificada. | |
| 
 | |
| \begin{figure}[h] | |
|   \centering | |
|   \includegraphics[width=120mm]{../imagens/casosdeuso.png} | |
|   \caption{Casos de Uso} | |
|   \label{fig:casos} | |
| \end{figure} | |
| 
 | |
| \paragraph{Descrição dos Atores} | |
| \begin{description} | |
| \item[Funcionário Interlegis Autorizado:] usuário apenas com | |
|   atribuições de leitura no sistema. Inclui pessoal da Subsecretaria | |
|   de Apoio Técnico e Relações Institucionais (SSATR) e Subsecretaria | |
|   de Planejamento e Fomento (SSPLF). | |
| \item[SSFAC:] Subsecretaria de Formação e Atendimento à Comunidade do | |
|   Legislativo. | |
| \item[SSADM:] Subsecretaria de Administração. | |
| \item[SEIT:] Serviço de Infra-estrutura Tecnológica. | |
| \end{description} | |
| 
 | |
| \paragraph{Descrição das Atividades} | |
| \begin{description} | |
| \item[Emitir Relatórios:] consiste em obter informações e emitir | |
|   relatórios de diversas partes do sistema. | |
| \item[Emitir Etiquetas:] consiste em obter informações e emitir | |
|   etiquetas de algumas partes do sistema. | |
| \item[Pesquisar e Recuperar Informações:] habilidades de pesquisa e | |
|   obtenção de informações da base de dados do sistema. | |
| \item[Gerenciar Mesas Diretoras:] consiste em inserir, atualizar e | |
|   remover \emph{Mesas Diretoras}, \emph{Sessões Legislativas} e | |
|   modificar a \emph{Composição das Mesas Diretoras}. | |
| \item[Gerenciar Parlamentares:] consiste em inserir, atualizar e | |
|   remover \emph{Parlamentares} e \emph{Partidos}. | |
| \item[Gerenciar Equipamentos:] consiste em inserir, atualizar e | |
|   remover \emph{Equipamentos} e \emph{Fornecedores}. | |
| \item[Gerenciar Casas Legislativas:] consiste em inserir, atualizar e | |
|   remover \emph{Casas Legislativas}. | |
| \item[Gerenciar Convênios:] consiste em inserir, atualizar e remover | |
|   \emph{Convênios}. | |
| \item[Gerenciar Inventário:] consiste em atualizar o \emph{Inventário} | |
|   das Casas Legislativas. | |
| \item[Gerenciar Serviços:] consiste em inserir, atualizar e remover | |
|   \emph{Serviços} prestados às Casas Legislativas. | |
| \end{description} | |
| 
 | |
| \subsection{Modelo de dados} | |
| \label{sec:modelo} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.casas (figura \ref{fig:casas})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=60mm]{../imagens/casas.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.casas} | |
|   \label{fig:casas} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.contatos (figura \ref{fig:contatos})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=120mm]{../imagens/contatos.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.contatos} | |
|   \label{fig:contatos} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.convenios (figura \ref{fig:convenios})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=100mm]{../imagens/convenios.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.convenios} | |
|   \label{fig:convenios} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.inventario (figura \ref{fig:inventario})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=120mm]{../imagens/inventario.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.inventario} | |
|   \label{fig:inventario} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.mesas (figura \ref{fig:mesas})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=145mm]{../imagens/mesas.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.mesas} | |
|   \label{fig:mesas} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.parlamentares (figura \ref{fig:parlamentares})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=100mm]{../imagens/parlamentares.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.parlamentares} | |
|   \label{fig:parlamentares} | |
| \end{figure} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.servicos (figura \ref{fig:servicos})} | |
| \begin{figure}[h!] | |
|   \centering | |
|   \includegraphics[width=60mm]{../imagens/servicos.png} | |
|   \caption{Diagrama de Classes da aplicação sigi.apps.servicos} | |
|   \label{fig:servicos} | |
| \end{figure} | |
| 
 | |
| \subsection{Esquema de dados} | |
| \label{sec:esquema} | |
| 
 | |
| Nesta seção estão descritos os esquemas de criação das entidades e de | |
| seus relacionamentos do banco de dados \emph{SQL} para cada aplicação | |
| do SIGI. | |
| 
 | |
| \small | |
| \subsubsection{Aplicação sigi.apps.casas} | |
| \verbatiminput{../arquivos/casas.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.contatos} | |
| \verbatiminput{../arquivos/contatos.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.convenios} | |
| \verbatiminput{../arquivos/convenios.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.inventario} | |
| \verbatiminput{../arquivos/inventario.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.mesas} | |
| \verbatiminput{../arquivos/mesas.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.parlamentares} | |
| \verbatiminput{../arquivos/parlamentares.sql} | |
| 
 | |
| \subsubsection{Aplicação sigi.apps.servicos} | |
| \verbatiminput{../arquivos/servicos.sql} | |
| \normalsize | |
| 
 | |
| \subsection{Manual de Instalação} | |
| \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} | |
| \subsubsection{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} | |
| \subsubsection{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: | |
| %
 | |
| 
 |