Você está na página 1de 12

SIMEC Sistema Integrado de Planejamento,

Oramento e Finanas

Guia de implantao

Verso 1.0
Elaborado por Adonias Malosso <malosso@gmail.com>

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

Sumrio
Introduo .................................................................................................................................................3
1. Estrutura da aplicao .......................................................................................................................4
1.1 Diretrios e arquivos ..................................................................................................................4
2. Configurao do ambiente ................................................................................................................4
2.1 Servidor de aplicaes PHP .......................................................................................................4
2.2 Bibliotecas e pacotes necessrios no servidor ............................................................................5
2.3 Domnio no servidor WEB .........................................................................................................6
2.4 Banco de dados ...........................................................................................................................7
3. Parmetros de configurao ..............................................................................................................8
3.1 Configurao da aplicao .........................................................................................................8
3.2 Configurao do controle de erros .............................................................................................9
4. Acesso e usurios ............................................................................................................................10
4.1 Primeiro acesso.........................................................................................................................10

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

Introduo
O SIMEC uma ferramenta web escrita em linguagem PHP e com servidor de banco de dados
PostgreSQL. O sistema em PHP responsvel pela lgica do servidor com interfaces do lado do
cliente escritas em Javascript, enquanto o PostgreSQL faz o papel de repositrio de dados.

Para suportar o sistema preciso que essas tecnologias o sejam disponibilizas nos servidores. Alm
disso importante que as rotinas de backup estejam corretamente configuradas e sejam
periodicamente verificadas a fim de testar a confiabilidade do processo.

A infra-estrutura de servidores precisa seguir um modelo bsico aonde um servidor de aplicaes


responde s requisies do usurio. Essas requisies executam pesquisas no SGBD PostgreSQL
para entregar as informaes solicitadas conforme ilustrao da figura 1.
Figura 1 Diagrama de servios do sistema

Usurio

WWW
PHP

Elaborado por Adonias Malosso

SGBD
PostgreSQL

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

1. Estrutura da aplicao
1.1

Diretrios e arquivos

Os arquivos do sistema esto distribudos na seguinte estrutura de diretrios principais.

|-arquivos
|-global
|-includes
|-obras
|---modulos
|-projetos
|---modulos
|---www
|-seguranca
|---modulos
|---www
|-www
|---geral
|---imagens
|---obras
|---includes

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao
As pastas global e includes so as principais pastas do sistema contendo respectivamente os
arquivos de configurao da aplicao e as bibliotecas de cdigo compartilhadas.
Na pasta www e em suas subpastas esto os arquivos acessveis diretamente pelo usurio e na
pasta seguranca/www bem como em suas subpastas esto os arquivos acessveis diretamente do
mdulo de segurana do SIMEC. Os arquivos pblicos relacionados ao mdulo de obras esto na
pasta www/obras. Dentre os arquivos acessveis diretamente destacam-se scripts PHP de acesso
pblico, arquivos JAVASCRIPT, imagens dentre outros.

Os arquivos da pasta seguranca/modulos e obras/modulos so os arquivos dos programas


desenvolvidos e no devem nunca estar acessveis diretamente pelos usurios a no ser atravs do
Sistema de Segurana da Plataforma SIMEC que implementa as restries de acesso de acordo
com os nveis de segurana estabelecidos.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

2. Configurao do ambiente
2.1

Servidor de aplicaes PHP

O servidor de aplicaes precisa ser um dos diversos servidores web com suporte a linguagem PHP
conforme descrito em (www.php.net) e deve utilizar a verso 5.2 ou maior do PHP em qualquer uma
de suas revises mais recentes.

Uma vez instalado o servidor web preciso configurar o PHP na verso desejada. As alteraes de
configurao no PHP so os parmetros abaixo a serem ajustados no arquivo php.ini, ser
considerado que os arquivos da aplicao esto no diretrio /var/www/simec /app/ num ambiente
Linux.

Logo abaixo da pasta app esto os arquivos e os diretrios apresentados na seo 1.1.

output_buffering = on
Altera o PHP para fazer buffer por padro das requisies

include_path = ".;/var/www/simec /app/global"


Altera a caminho padro do include path do PHP para incluir a pasta global da aplicao.

upload_max_filesize = 128M
Altera o tamanho mximo permito para envio de arquivos. Alterado no exemplo para 128
Megabites. No caso de ser necessrio anexar no sistema arquivos de tamanhos maiores, o
parmetro precisa ser ajustado correspondentemente.

post_max_size = 128M
Altera o tamanho mximo permitido para o recebimento de dados pelo servidor. Alterado no
exemplo para 128 Megabytes. Deve ser igual ou maior que o parmetro de upload mximo.

max_execution_time = 120
Altera o tempo de execuo mximo dos scripts para at 120 segundos.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

max_input_time = 60
Altera o tempo mximo que o servidor pode gastar interpretando os dados de entrada para
at 60 segundos.

memory_limit = 256M
Altera o limite de memria que um script pode consumir para at 256 Megabytes;

2.2

Bibliotecas e pacotes necessrios no servidor

Para o correto funcionamento do programa necessrio alm do servidor web com suporte ao PHP
que alguns mdulos adicionais sejam instalados.

Os mdulos do PHP que precisam estar instalados no servidor so as seguintes extenses:

Php-pgsql: extenso com o driver para conexo s bases de dados PostgreSQL do PHP

Php-gd2: habilita a funes para manipulao de imagens pelo PHP

Php-sockets: habilita operaes de rede a partir do PHP

Alm disso, preciso que existam fontes true type disponveis no ambiente e seu path seja
corretamente configurado. Em ambientes Linux isso pode ser disponibilizado atravs do pacote
msttfcorefontes com um conjunto de fontes padro.

Para

localizar

as

fontes

instaladas

aplicao

deve

ser

referenciada

ao

diretrio

/usr/share/fonts/msttcorefonts/. Quando esse diretrio no existe na distribuio utilizada, pode-se


criar um link simblico at a pasta que armazena as fontes no sistema ou especificar um novo valor
para a constante TTF_DIR da biblioteca jpgraph utilizada na aplicao.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

2.3

Domnio no servidor WEB

Alm dos ajustes no PHP preciso que o sistema seja configurado num domnio prprio. A aplicao
necessita de algumas regras de diretrios, apresentados no item um, e faz algumas referncias em
cdigo que obrigam o uso de um domnio para funcionar corretamente. No servidor de aplicaes
APACHE HTTPD verso 2 ou superior essa definio feita atravs de um VirtualHost conforme
especificado abaixo.

<VirtualHost *:80>
DocumentRoot "/var/www/simec /app/www"
ServerName simec
ErrorLog "logs/simec -error_log"
CustomLog "logs/simec -access_log" common
DirectoryIndex login.php index.php
Alias /seguranca/ "/var/www/simec/app/seguranca/www/"
AddDefaultCharset ISO-8859-1
</VirtualHost>

No exemplo acima alguns parmetros so fundamentais para o funcionamento da aplicao e


precisam ser corretamente definidos em qualquer servidor de aplicaes que seja utilizado.

AddDefaultCharset ISO-8859-1
Altera o conjunto de caracteres padro do servidor para o latin-1.

DirectoryIndex login.php index.php


Altera o arquivo padro para o login.php

Alias /seguranca/ "/var/www/simec /app/seguranca/www/"


Adiciona o diretrio seguranca/www como um caminho vlido com o nome seguranca.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

ServerName simec
Trata-se do domnio pelo qual a aplicao ser acessada. No ambiente de homologao o
domnio deve ser diferente do de produo. importante que a respectiva entrada de DNS
exista.

2.4

Banco de dados

A instalao do banco de dados deve seguir as instrues para instalao de um servidor


PostgreSQL verso 8.4 ou superior. A base de dados da aplicao compatvel com qualquer
sistema operacional e parmetros de ajuste no servidor devem seguir uma configurao especfica
de cada ambiente. No entanto, o sistema necessita que a base de dados criada tenha instalada a
linguagem PL/PgSQL e seja criada com charset UTF-8.

Depois de criada no charset correto e tendo disponibilizado a linguagem PL/PgSQL segue-se com a
restaurao da cpia do banco de dados.

Exemplo:

pg_resotre -U postgres -h localhost -d simec -v bd_simec_spb.backup

Para uma restaurao na base simec, rodando no servidor local, com usurio de login postgres e
nome do arquivo de backup bd_simec_spb.backup.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

3. Parmetros de configurao
3.1

Configurao da aplicao

As configuraes do sistema so definidas no arquivo global/config.inc. As seguintes linhas


precisam ser alteradas para refletir o ambiente aonde o aplicativo ser executado. Todas as variveis
apresentadas so obrigatrias e devem continuar existindo, mesmo que em algumas configuraes
especficas e no comuns de ambiente, algumas possam assumir valores em branco, como a senha
de acesso ao banco de dados.

define( 'APPRAIZ', '/var/www/simec /app/' );


Configura o caminho completo para o diretrio base contendo os arquivos da aplicao.

define( 'MAXONLINETIME', 3600);


Tempo mximo em segundos que o usurio pode ficar conectado ao sistema sem que sua
sesso expire. Essa funcionalidade controlada no arquivo estouvivo.php, no diretrio www.

$servidor_bd = 'localhost';
Endereo do servidor de banco de dados

$porta_bd = '5432';
Porta do servidor de banco de dados

$nome_bd = 'simec';
Nome da base de dados

$usuario_db = 'postgres';
Usurio do servidor de banco de dados

$senha_bd = senhauserpostgres';
Senha de acesso ao banco de dados

include_once( 'config.dev.php' );
Controle de erros com notificao por email. Quando um erro encontrado o sistema mostra

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao
uma mensagem amigvel para o usurio e encaminha detalhes do ocorrido por email para os
administradores do sistema. Para habilit-lo ou desabilit-lo basta colocar essa linha no
config.inc ou retir-la (com comentrios de cdigo de preferncia). Detalhes sobre a
configurao do mdulo de erros na prxima seo.

3.2

Configurao do controle de erros

A plataforma SIMEC possui um recurso de controle de erros que notifica amigavelmente o usurio
quando algum erro de execuo do script solicitado ocorre. A execuo interrompida retomada e
uma mensagem apresentada ao usurio, informando que a execuo do programa gerou um erro e
o mesmo foi encaminhado aos administradores do sistema para correo.

Os administradores do sistema recebem um email contendo todo o trace da operao que originou o
erro. Sendo assim, possvel identificar o ponto de falha e executar uma correo independente de
uma solicitao do usurio que experimentou o problema.

O controle de erros precisa ser habilitado no arquivo global/config.inc atravs da linha que inclui o
arquivo config.dev.php conforme apresentado na seo anterior.

Uma vez habilitado o parmetro com a lista de desenvolvedores que recebe a mensagem de erro
pode ser ajustado no arquivo includes/failure/ErrorHandler.php atravs da varivel $paraonde
especificada no corpo da funo enviaEmail($msgLog) da classe ErrorHandler.

O valor padro de $paraonde simec@email.com, podendo ser alterado.

Elaborado por Adonias Malosso

SIMEC Sistema Integrado de Planejamento, Oramento e Finanas


Guia de implantao

4. Acesso e usurios
4.1

Primeiro acesso

O banco de dados disponibilizado no portal do Software Pblico Brasileiro conta com um usurio
padro para acesso aplicao cujo CPF 111.111.111-11 e senha de acesso 12345.

Elaborado por Adonias Malosso

10

Você também pode gostar