Para a utilização deste documento é necessário seguir as regras da licença Creative Commons pela mesma Licença 2.0 Brasil .
Você tem a liberdade de:
Compartilhar — copiar, distribuir e transmitir a obra.
Remixar — criar obras derivadas.
Sob as seguintes condições:
Atribuição — Você deve creditar a obra da forma especificada pelo autor ou licenciante (mas não de maneira que sugira que estes concedem qualquer aval a você ou ao seu uso da obra).
Compartilhamento pela mesma licença — Se você alterar, transformar ou criar em cima desta obra, você poderá distribuir a obra resultante apenas sob a mesma licença, ou sob uma licença similar à presente.
Ficando claro que: Renúncia — Qualquer das condições acima pode ser renunciada se você obtiver permissão do titular dos direitos autorais. Domínio Público — Onde a obra ou qualquer de seus elementos estiver em domínio público sob o direito aplicável, esta condição não é, de maneira alguma, afetada pela licença. Outros Direitos — Os seguintes direitos não são, de maneira alguma, afetados pela licença: Limitações e exceções aos direitos autorais ou quaisquer usos livres aplicáveis; Os direitos morais do autor; Direitos que outras pessoas podem ter sobre a obra ou sobre a utilização da obra, tais como direitos de imagem ou privacidade. Aviso — Para qualquer reutilização ou distribuição, você deve deixar claro a terceiros os termos da licença a que se encontra submetida esta obra. A melhor maneira de fazer isso é com um link para esta página.
O e-cidade destina-se a informatizar a gestão dos Municípios Brasileiros de forma integrada. Essa informatização contempla a integração entre os entes municipais: Prefeitura Municipal, Câmara Municipal, Autarquias, Fundações e outros.
A economia de recursos é somente uma das vantagens na adoção do e-cidade. Há liberdade de escolha dos fornecedores e garantia de continuidade do sistema, uma vez que é apoiado pelo Ministério do Planejamento.
O código fonte está disponível para ser baixado livremente no Portal do Software Público Brasileiro: www.softwarepublico.gov.br. O sistema possui a seguinte plataforma tecnológica:
LINUX
APACHE – PHP
POSTGRESQL – PSQL
FPDF
AGATA – API
FIREFOX
HTML / CSS / JAVASCRIPT
JAVA TOMCAT
ECLIPSE
É recomendado que este guia seja executado por um usuário com experiência em instalação de pacotes no Linux e configuração básica de Apache, PHP e PostgreSQL.
Este roteiro está baseado no Sistema Operacional GNU/Linux Ubuntu 10.04 LTS. Cabe lembrar que em outras distribuições Linux o processo de instalação pode variar.
Este manual pressupõe que o servidor de aplicação Web e o banco de dados estarão instalados no mesmo servidor.
Neste guia, sempre que necessário editar algum arquivo, será usado o editor de texto GEDIT. Mas cabe lembrar que é apenas uma opção, existem outros editores como o VIM.
Para instalar o Apache2, execute o seguinte comando:
sudo apt-get install apache2
Agora é necessário alterar o arquivo /etc/apache2/apache2.conf. Usando o gedit, é possível editar as informações desse arquivo executando o comando:
sudo gedit /etc/apache2/apache2.conf
Altere o valor do parâmetro Timeout:
Timeout 12000
Além disso, adicione as seguintes linhas ao final desse arquivo:
Linhas adicionadas para o e-cidade
LimitRequestLine 16382
LimitRequestFieldSize 16382
Agora, altere o arquivo /etc/apache2/conf.d/charset. Usando o gedit faça assim:
sudo gedit /etc/apache2/conf.d/charset
Altere o valor do parâmetro AddDefaultCharset:
AddDefaultCharset ISO-8859-1
Caso a linha desse parâmetro esteja comentada, ou seja, iniciando com o caractere '#', remova este.
Deverá ser criada uma pasta de arquivos temporários. Crie a pasta “tmp” no DOCUMENT_ROOT do Apache (/var/www), da seguinte maneira:
sudo mkdir /var/www/tmp
sudo chown -R www-data.www-data /var/www/tmp
sudo chmod -R 777 /var/www/tmp
Adicione o usuário que irá administrar o e-cidade no grupo “www-data”. Esse usuário varia de acordo com sua instalação. No caso desse manual foi criado um usuário chamado “usuario1”. Deve-se editar o seguinte arquivo:
sudo gedit /etc/group
Adicione a seguinte linha (onde “usuario1” deve ser trocado pelo seu usuário criado na instalação do Ubuntu):
www-data:x:33:usuario1
Execute o seguinte comando para instalar os pacotes necessários:
sudo apt-get install php5 php5-gd php5-pgsql php5-cli php5-mhash php5-mcrypt
Crie a pasta para os logs do PHP5:
sudo mkdir /var/www/log
sudo chown -R www-data.www-data /var/www/log
Agora é necessário editar o arquivo /etc/php5/apache2/php.ini:
sudo gedit /etc/php5/apache2/php.ini
Modifique os seguintes parâmetros:
register_globals = On
register_long_arrays = On
register_argc_argv = On
post_max_size = 64M
magic_quotes_gpc = On
upload_max_filesize = 64M
default_socket_timeout = 60000
max_execution_time = 60000
max_input_time = 60000
memory_limit = 512M
allow_call_time_pass_reference = On
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On
error_log = /var/www/log/php-scripts.log (retirar o ponto e vírgula da frente da linha)
session.gc_maxlifetime = 7200
Caso a linha desses parâmetros estejam comentadas, ou seja, iniciando com o caractere '#', remova este.
Este será o banco de dados usado para armazenar as informações que serão usadas pelo software e-cidade. Para esta instalação será necessário baixar o PostgreSQL versão 8.2.
Para conseguir baixar essa versão, edite o arquivo /etc/apt/sources.list:
sudo gedit /etc/apt/sources.list
Acrescente a seguinte linha ao final do arquivo:
deb http://br.archive.ubuntu.com/ubuntu hardy main universe
Agora, para instalar o PostgreSQL 8.2 deve-se executar os seguintes comandos:
sudo apt-get update
sudo apt-get install postgresql-8.2
Configurando o Cluster.
Cluster é o conjunto de banco de dados gerenciados por uma única instância (conjunto de datafiles, arquivos de controle e processos no servidor que formam um SGDB).
Nessa instalação será usado o cluster do PostgreSQL 8.2 onde será instalado o e-cidade e encoding LATIN1(ISO-8859-1).
Edite o arquivo /etc/postgresql/8.2/main/pg_hba.conf:
sudo gedit /etc/postgresql/8.2/main/pg_hba.conf
Altere as linhas no final do arquivo que estão sem o caractere '#', colocando “trust” no lugar da última coluna. Assim:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Recarregue as configurações do PostgreSQL:
sudo /etc/init.d/postgresql-8.2 reload
Verifique o cluster atual:
psql -U postgres -hlocalhost -l
Veja se o comando retorna o seguinte resultado:
No caso acima precisamos recriar o cluster executando os próximos passos:
Remova o cluster atual:
sudo pg_dropcluster -stop 8.2 main
Crie o novo cluster como LATIN1:
sudo pg_createcluster -e LATIN1 8.2 main
Inicie o PostgreSQL:
sudo /etc/init.d/postgresql-8.2 start
Edite o arquivo /etc/postgresql/8.2/main/pg_hba.conf:
sudo gedit /etc/postgresql/8.2/main/pg_hba.conf
Altere as linhas no final do arquivo que estão sem o caractere '#', colocando “trust” no lugar da última coluna. Assim:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Recarregue as configurações do PostgreSQL:
sudo /etc/init.d/postgresql-8.2 reload
Novamente, verifique o encoding do cluster:
psql -U postgres -hlocalhost -l
ATENÇÃO! Se o resultado do seu comando foi a tabela mostrada acima, pule os próximos passos, indo direto para a parte “Configurando o PostgreSQL 8.2”. Caso o resultado do comando seja algo diferente da tabela acima, então o sistema operacional instalado está sem suporte ao encoding LATIN1. Assim, será necessário realizar os passos abaixo:
Edite o arquivo /var/lib/locales/support.d/local:
sudo gedit /var/lib/locales/support.d/local
Adicione:
pt_BR.ISO-8859-1 ISO-8859-1
Edite o arquivo /etc/locale.alias:
sudo gedit /etc/locale.alias
Adicione:
pt_BR pt_BR.ISO-8859-1
Reconfigure o locales:
sudo dpkg-reconfigure locales
export LANG=pt_BR.ISO-8859-1
sudo pg_createcluster -e LATIN1 8.2 main
Inicie o servidor PostgreSQL:
sudo /etc/init.d/postgresql-8.2 start
Edite o arquivo /etc/postgresql/8.2/main/pg_hba.conf:
sudo gedit /etc/postgresql/8.2/main/pg_hba.conf
Altere as linhas ao final do arquivo que estão sem o caractere “#”, colocando “trust” no lugar da última coluna:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Recarregue as configurações do PostgreSQL:
sudo /etc/init.d/postgresql-8.2 reload
Verifique o encoding:
psql -U postgres -h localhost -l
O resultado deve ser o seguinte:
Configurando o PostgreSQL 8.2
É necessário modificar o arquivo postgresql.conf:
sudo gedit /etc/postgresql/8.2/main/postgresql.conf
Altere os seguintes parâmetros (o restante dos parâmetros ficam inalterados):
max_fsm_pages = 81000
max_fsm_relations = 5000
checkpoint_segments = 16
redirect_stderr = on
log_directory = 'pg_log
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_min_messages = warning
log_min_duration_statement = 5000 # 5 segundos
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d'
autovacuum_naptime = 5min
autovacuum_vacuum_threshold = 50
autovacuum_analyze_threshold = 50
autovacuum_vacuum_cost_delay = 20
add_missing_from = on
default_with_oids = on
escape_string_warning = off
Caso a linha desses parâmetros estejam comentadas, ou seja, iniciando com o caractere '#', remova este.
Reinicie o PostgreSQL:
sudo /etc/init.d/postgresql-8.2 restart
Edite o arquivo /etc/postgresql/8.2/main/pg_hba.conf:
sudo gedit /etc/postgresql/8.2/main/pg_hba.conf
Alterar as linhas no final do arquivo que estão sem o caractere “#”, colocando “trust” no lugar da última coluna:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Recarregue as configurações do PostgreSQL:
sudo /etc/init.d/postgresql-8.2 reload
Altere o arquivo sources.list:
sudo gedit /etc/apt/sources.list
Remova a seguinte linha que adicionamos no passo de instalação do PostgreSQL:
deb http://br.archive.ubuntu.com/ubuntu hardy main universe
Adicione a seguinte linha:
deb http://archive.canonical.com/ lucid partner
Atualize o repositório:
sudo apt-get update
Para instalar o OpenOffice basta executar:
sudo apt-get install openoffice.org-headless openoffice.org-java-common sun-java6-jre
Altere o arquivo /etc/rc.local/:
sudo gedit /etc/rc.local
Adicione o seguinte texto antes da linha que contém “exit 0”:
/usr/bin/soffice -accept="socket,host=localhost,port=8100;urp;" - nofirststartwizard -headless & exit 0
Nesse manual será instalada a versão 2.2.28 da solução, cujo pacote "e-cidade-2.2.28-linux.completo.tar.bz2" deverá ser baixado através do Portal do Software Público, comunidade e-cidade (use o pacote que está na pasta “Pacotes disponíveis” - em Armazenagem de Arquivos). Baixe o pacote e coloque na pasta /tmp. Feito isso, acesse a pasta /tmp:
cd /tmp
Extraia o pacote:
sudo tar jxvf e-cidade-2.2.28-linux.completo.tar-22075083.bz2
Criação da base de dados (chamaremos a base de "e-cidade").
Acesse a seguinte pasta:
cd e-cidade-2.2.28-linux.completo/sql/
Crie o usuário dbportal do postgres:
psql -U postgres -hlocalhost template1 -c "create role dbportal with superuser login password 'dbportal'"
Crie o usuário dbseller do postgres:
psql -U postgres -h localhost template1 -c "create role dbseller with login password 'dbseller'"
Execute o seguinte comando para criar o banco:
createdb -U dbportal e-cidade
Para importar os comandos. SQL de criação da estrutura de dados, execute:
psql -U dbportal e-cidade -f e-cidade-demo-2.2.28.sql
Acesse o pacote e copie os arquivos do e-cidade para a pasta do Apache2:
cd /tmp/e-cidade-2.2.28-linux.completo
sudo cp -r e-cidade /var/www
Ajuste as permissões da pasta /var/www/e-cidade:
sudo chown -R usuario1.www-data /var/www/e-cidade
sudo chmod -R 775 /var/www/e-cidade
sudo chmod -R 777 /var/www/e-cidade/tmp
Lembre-se que “usuario1” varia de acordo com sua instalação e usuário utilizado.
Confira o arquivo de configuração da base de dados:
sudo gedit /var/www/e-cidade/libs/db_conn.php
As variáveis devem estar da seguinte maneira:
$DB_USUARIO = “dbportal”;
$DB_SENHA = “”; // Ou alguma senha, se foi definida para o usuário dbportal no postgresql
$DB_SERVIDOR = “localhost”;
$DB_PORTA = “5432”;
$DB_PORTA_ALT = “5432”;
$DB_BASE = “e-cidade”;
Se você optou por instalar o ambiente gráfico, então basta abrir o navegador Firefox e acessar o seguinte endereço:
http://localhost/e-cidade
Caso você tenha instalado o servidor sem ambiente gráfico, então a partir de um computador desktop abra o navegador Firefox e acesse o seguinte endereço:
http://<ip_do_servidor>/e-cidade
* Onde <b>“ip_do_servidor”</b> indica o entereço IP atribuído na instalação do servidor Ubuntu.
Na tela de login do e-cidade informar o usuário “dbseller” e deixar a senha em branco.
ATENÇÃO! Para correto funcionamento do e-cidade, o Firefox deve estar com as janelas “pop-up” desbloqueadas para o IP do Servidor.
Compatibilidade das versões do Firefox:
O e-cidade é compatível com a versão 3.0 ou inferior do Mozilla Firefox.
Para tornar o e-cidade compatível com as demais versões do Firefox é necessário editar o seguinte arquivo:
sudo gedit /var/www/e-cidade/config/require_extensions.xml
Onde está assim:
<browsers>
<browser name='firefox' versao='1.5.*'></browser>
<browser name='firefox' versao='2.0.*'></browser>
<browser name='firefox' versao='3.0.*'></browser>
<browser name='firefox' versao='3.1.*'></browser>
</browsers>
Deverá ficar da seguinte maneira:
<browsers>
<browser name='firefox' versao='1.5.*'></browser>
<browser name='firefox' versao='2.0.*'></browser>
<browser name='firefox' versao='3.0.*'></browser>
<browser name='firefox' versao='3.1.*'></browser>
<browser name='firefox' versao='3.5.*'></browser>
<browser name='firefox' versao='3.6.*'></browser>
<browser name='msie' versao='6.0.*'></browser>
<browser name='msie' versao='7.0.*'></browser>
<browser name='msie' versao='8.0.*'></browser>
</browsers>
Reinicie o Apache:
sudo /etc/init.d/apache2 restart
O pacote e-cidadeonline é o serviço disponível ao cidadão.
Acesse o pacote onde estão os arquivos do e-cidade:
cd /tmp/e-cidade-2.2.28-linux.completo
Copie os arquivos do e-cidade online para a pasta do Apache2:
sudo cp -r e-cidadeonline /var/www
Ajuste as permissões da pasta:
sudo chown -R usuario1.www-data /var/www/e-cidadeonline
sudo chmod -R 775 /var/www/e-cidadeonline
sudo chmod -R 777 /var/www/e-cidadeonline/tmp
Confira o arquivo de configuração da base de dados:
sudo gedit /var/www/e-cidadeonline/libs/db_conn.php
As variáveis devem estar da seguinte maneira:
$DB_INSTITUICAO = 1;
$DB_SENHA='; // Ou se for definida alguma senha para o usuario dbportal no postgresql
$DB_SERVIDOR = 'localhost';
$DB_PORTA= '5432';
$DB_BASEDADOS = 'e-cidade';
Para acessar o e-cidade online, entre no seguinte endereço:
http://<ip_do_servidor>/e-cidadeonline