O e-cidade destina-se a informatizar a gestão dos Municípios Brasileiros de forma integrada. Esta 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, além da liberdade de escolha dos fornecedores e garantia de continuidade do sistema, uma vez apoiado pelo Ministério do Planejamento.

1. Instalação do CentOS 7.x

O CentOS, abreviação de Community ENTerprise Operating System, é uma distribuição Linux de classe Enterprise derivada de códigos fonte gratuitamente distribuídos pela Red Hat Enterprise Linux e mantida pelo CentOS Project. Como o uso em servidores pode exigir uma maior compatibilidade com o hardware, a versão indicada para o uso com esta documentação é a CentOS 7.x.

1.1 Obtendo a mídia de instalação

A mídia de instalação pode ser obtida diretamente do site do projeto e gravada em CD, DVD ou pendrive. No site http://www.centos.org/download/ esta disponível a versão mais recente, mas utilizaremos a versão 7 x86_64 disponível em http://mirror.globo.com/centos/7/isos/x86_64/ (CentOS-7-x86_64-Minimal-1611.iso) por questões de compatibilidade com o produto.

1.2 Instalando o CentOS 7.x

O processo de instalação do sistema operacional não é coberto por esta documentação, mas recomendamos a utilização da imagem mínima, em “pt_BR” Português do Brasil.

Dica: Maiores informações sobre a instalação e personalização do sistema operacional podem ser obtidas em:
http://wiki.centos.org/Documentation

1.3 Editando os arquivos de configuração

Durante o processo de configuração descrito nesta documentação, é necessário editar e modificar diversos arquivos de texto. Para realizar estas modificações, sugerimos a utilização do editor “vim”, mas você pode usar qualquer outro editor de texto de sua preferência.

Para instalar o editor de arquivos execute o comando:

[linux]# yum -y install vim

Dica: Mais informações sobre o editor de textos “vim” podem ser obtidas em:
http://www.vim.org/.

1.4 Desabilitando o SELinux

Atenção: Se você tiver problemas com a execução do Apache, certifique-se que o contexto de seus arquivos de configuração do Apache estão corretamente configurados no SELinux, ou altere o modo de execução do SELinux para permissivo, ou desative-o.

Para desativar o SELinux, edite o arquivo de configuração através do comando:

[linux]# vim /etc/selinux/config

Altere a linha de:

SELINUX=enforcing

Para:

SELINUX=disabled

Dica: Note que o valor correto é disabled, muitos usuários digitam apenas disable.

1.5 Instalando o repositório EPEL

Para instalar o repositório de Pacotes Adicionais para Enterprise Linux (EPEL), execute o comando abaixo:

[linux]# yum -y install epel-release

1.6 Instalando o repositório REMI

Para instalar o repositório, execute o comando abaixo:

[linux]# yum -y localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

1.7 Atualizando o sistema operacional

Após a instalação, recomendamos a atualização dos pacotes do sistema operacional, para realizar esta tarefa, execute o comando abaixo:

[linux]# yum -y update

1.8 Reinicie o servidor

Para reiniciar o servidor, utilize o comando:

[linux]# shutdown -r now

2. Instalação do PostgreSQL 9.5.x

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto sem custo de licença. Este é o programa que vai gerenciar e armazenar o banco de dados relacional utilizado pelo e-cidade.

Dica: Mais informações sobre o PostgreSQL podem ser obtidas em:
http://www.postgresql.org/.

2.1 Configurando o repositório

Para instalar o PostgreSQL 9.5.x e suas dependências, utilizaremos o gerenciador de pacotes yum, que nos prove as últimas atualizações dos pacotes requeridos através de um canal seguro e confiável.

2.1.1 Instale o repositório através do comando:
[linux]# yum -y localinstall https://yum.postgresql.org/9.5/redhat/rhel-7.2-x86_64/pgdg-centos95-9.5-3.noarch.rpm

Dica: Mais informações sobre o gerenciador de pacotes “yum” podem ser obtidas em:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-yum.html

2.2 Ajustando o encoding

2.2.1 Configurando e regerando o ‘locale’

Para o servidor do banco de dados, é necessário alterar a ordenação do locale, para realizar esta tarefa, edite o arquivo de configuração com o comando abaixo:

[linux]# vim /usr/share/i18n/locales/pt_BR

Localize o bloco de configuração LC_COLLATE e END LC_COLLATE, e adicione dentro do bloco as seguintes linhas:

reorder-after <U00A0>
<U0020><CAP>;<CAP>;<CAP>;<U0020>
reorder-end
2.2.2 Regerando o ‘locale’

Para criação do cluster do e-cidade precisamos ter o locale pt_BR ISO-8859-1 disponível no sistema, para regerar utilize o comando abaixo.

[linux]# localedef -i pt_BR -c -f ISO-8859-1 -A /usr/share/locale/locale.alias pt_BR.ISO-8859-1

2.3 Instalando o PostgreSQL 9.5.x

Para realizar a instalação do PostgreSQL 9.5.x através do gerenciador de pacotes execute os comandos:

[linux]# yum -y install postgresql95 postgresql95-contrib postgresql95-server

2.4 Criando e configurando o cluster

O e-cidade utiliza encoding LATIN1 (ISO-8859-1) no cluster do PostgreSQL 9.5.x. Por isso vamos criar e iniciar o cluster quer será utilizado pela aplicação.

Dica: Mais informações sobre a configuração do cluster:
http://www.postgresql.org/docs/9.5/static/sql-cluster.html

2.4.1 Vamos criar o novo cluster do banco de dados como LATIN1 usando os comandos:
[linux]# export LC_ALL=pt_BR.ISO-8859-1
[linux]# su - postgres -c "/usr/pgsql-9.5/bin/initdb -A trust -D /var/lib/pgsql/9.5/data -E LATIN1 --locale=pt_BR.ISO-8859-1 -U postgres"
2.4.2 Para a correta integração com o e-cidade, é necessário alterar algumas configurações do cluster criado através do comando:
[linux]# vim /var/lib/pgsql/9.5/data/postgresql.conf

Atenção: Os demais parâmetros, não descritos aqui, não precisam ser alterados.

Localize e altere as linhas do arquivo do arquivo de configuração, descomentando-as se necessário (remover o caractere # do início da linha), substituindo os valores correspondentes conforme a indicação abaixo.

listen_addresses = '*'
max_connections = 20
bytea_output = 'escape'
max_locks_per_transaction = 256
default_with_oids = on
escape_string_warning = off
standard_conforming_strings = off
2.4.3 Inicie o servidor PostgreSQL através do comando:
[linux]# systemctl start postgresql-9.5
2.4.4 Verifique o resultado da configuração usando o comando:
[linux]# psql -U postgres -h localhost -l

A saída do comando deve ser parecida com os valores abaixo.

   Nome    |   Dono   | Codificação |     Collate      |      Ctype       | Privilégios de acesso
-----------+----------+-------------+------------------+------------------+-----------------------
 postgres  | postgres | LATIN1      | pt_BR.ISO-8859-1 | pt_BR.ISO-8859-1 |
 template0 | postgres | LATIN1      | pt_BR.ISO-8859-1 | pt_BR.ISO-8859-1 | =c/postgres          +
           |          |             |                  |                  | postgres=CTc/postgres
 template1 | postgres | LATIN1      | pt_BR.ISO-8859-1 | pt_BR.ISO-8859-1 | =c/postgres          +
           |          |             |                  |                  | postgres=CTc/postgres
2.4.5 Adicione o serviço do PostgresSQL a inicialização do sistema operacional usando o comando:
[linux]# systemctl enable postgresql-9.5

2.5 Criando a estrutura de banco de dados para o e-cidade

Vamos criar os usuários necessários para o funcionamento do e-cidade através dos comandos:

Atenção: Em ambientes de produção, nunca utilize senhas que tenham o mesmo nome da conta de usuário. Mais informações sobre segurança de senhas podem ser obtidas em:
http://cartilha.cert.br/senhas/.

psql -U postgres -c "CREATE ROLE ecidade WITH SUPERUSER LOGIN PASSWORD 'ecidade';"
psql -U postgres -c "CREATE ROLE plugin WITH LOGIN PASSWORD 'plugin';"
psql -U postgres -c "CREATE ROLE dbseller WITH LOGIN PASSWORD 'dbseller';"

Em seguida, utilize o comando abaixo para criar o banco de dados:

psql -U postgres -c "CREATE DATABASE ecidade OWNER ecidade;"

3. Instalação do Apache

Apache é o servidor web mais usado em sistemas Linux. Servidores web são usados para servir páginas Web que, normalmente, são solicitadas pelos computadores clientes através de navegador, como o Firefox, Chromium, etc.

Dica: Mais informações sobre o Apache podem ser obtidas em:
http://www.apache.org/.

3.1 Instalando o Apache

Para realizar a instalação do servidor web Apache através do gerenciador de pacotes, execute o comando:

[linux]# yum -y install httpd

3.2 Configurando o Apache

3.2.1 Para a correta integração com o e-cidade, é necessário alterar algumas configurações do apache, edite o arquivo de configuração através do comando:
[linux]# vim /etc/httpd/conf/httpd.conf

Localize o bloco abaixo:

<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

E altere para:

<Directory "/var/www/html">
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>

LimitRequestLine 16382
LimitRequestFieldSize 16382
Timeout 12000
AddDefaultCharset ISO-8859-1
SetEnv no-gzip 1

Localize o bloco abaixo:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

E altere para:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Dica: Mais informações sobre o VirtualHost podem ser obtidas em:
http://httpd.apache.org/docs/current/vhosts/examples.html.

3.3 Adicione o serviço do Apache a inicialização do sistema operacional usando o comando:

[linux]# systemctl enable httpd

4. Instalação do PHP 5.6 e PHP-FPM

PHP é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.

O PHP-FPM é uma alternativa ao PHP FastCGI com muitas funcionalidades voltadas a sites com grande número de acessos e carga.

Dica: Mais informações sobre o PHP podem ser obtidas em:
http://www.php.net/ e http://php-fpm.org/

4.1 Instalando o PHP 5.6 e o PHP-FPM

Para realizar a instalação do PHP 5.6 através do gerenciador de pacotes, execute o comando:

[linux]# yum -y install php56 php56-php-cli php56-php-common php56-php-pear php56-php-pecl-jsonc php56-php-pecl-zip php56-php-process php56-php-xml php56-runtime php56-php-bcmath php56-php-gd php56-php-interbase php56-php-pecl-jsonc php56-php-mbstring php56-php-mcrypt php56-php-pgsql php56-php-soap php56-php-pecl-sqlite php56-php-xmlrpc php56-php-pecl-zip php56-php-fpm unzip zip xz xz-lzma-compat bzip2

4.2 Configurando o PHP 5.6 e o PHP-FPM

4.2.1 Habilitar as dependências de configuração através do comando:
[linux]# vim /etc/httpd/conf.d/php5.6-fpm.conf
<IfModule !mod_php5.c>
<IfModule proxy_fcgi_module>
    <IfModule setenvif_module>
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
    <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
        SetHandler "proxy:fcgi://127.0.0.1:9000/"
    </FilesMatch>
    <Proxy "fcgi://127.0.0.1:9000/">
    </Proxy>
    <FilesMatch ".+\.phps$">
        Require all denied
    </FilesMatch>
    <FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
        Require all denied
    </FilesMatch>
</IfModule>
</IfModule>
4.2.2 Configurar o arquivo de pool do PHP-FPM através dos comandos:
[linux]# vim /opt/remi/php56/root/etc/php-fpm.d/www.conf

Localize as linhas abaixo:

php_admin_value[error_log] = /opt/remi/php56/root/var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on

E altere para:

;php_admin_value[error_log] = /opt/remi/php56/root/var/log/php-fpm/www-error.log
;php_admin_flag[log_errors] = on
4.2.3 Configurar o arquivo de log do PHP-FPM através dos comandos:
[linux]# touch /var/log/php_errors.log
[linux]# chown apache.apache /var/log/php_errors.log
4.2.4 Para a correta integração com o e-Cidade, é necessário alterar algumas configurações do PHP através do comando:
[linux]# vim /opt/remi/php56/root/etc/php.ini

Atenção: Os demais parâmetros, não descritos aqui, não precisam ser alterados.

Localize e altere as linhas do arquivo do arquivo de configuração, descomentando-as se necessário (remover o caractere ; do início da linha), substituindo os valores correspondentes conforme a indicação abaixo.

short_open_tag = On
session.gc_maxlifetime = 7200
date.timezone = "America/Sao_Paulo"
[linux]# ln -s /opt/remi/php56/root/usr/bin/php /usr/bin/php
4.2.6 Reinicie o serviço do PHP-FPM e do Apache usando os comandos:
[linux]# systemctl restart php56-php-fpm
[linux]# systemctl restart httpd

4.3 Adicione o serviço do PHP-FPM a inicialização do sistema operacional usando o comando:

[linux]# systemctl enable php56-php-fpm

5. Instalação do LibreOffice

O LibreOffice é uma suite de escritório livre compatível com as principais suítes de escritório do mercado. Oferece todas as funções esperadas de uma suite profissional: editor de textos, planilha, apresentação, editor de desenhos e banco de dados.
No e-cidade, o LibreOffice é utilizado para exportar documentos baseados em modelos de formulários.

Dica: Mais informações sobre o LibreOffice podem ser obtidas em:
https://pt-br.libreoffice.org/.

5.1 Instalando dependências

Antes de instalarmos o pacote do LibreOffice, devemos instalar uma dependência através do comando:

[linux]# yum -y localinstall https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

5.2 Instalando o LibreOffice

Para realizar a instalação do LibreOffice através do gerenciador de pacotes, execute o comando:

[linux]# yum -y install libreoffice-writer

6. Instalação do e-cidade

6.1 Obtendo o pacote de instalação

O pacote de instalação pode ser obtido diretamente do site do Portal do Software Público. No endereço da comunidade do e-cidade (https://softwarepublico.gov.br/social/e-cidade) estão disponíveis as últimas versões e suas atualizações. Como estamos realizando uma nova instalação, você deve baixar o pacote completo, um exemplo de nome do pacote seria: e-cidade-x.x.xx-linux.completo.tar.bz2.

6.2 Configurando o servidor

6.2.1 Vamos criar um usuário administrativo para o e-cidade, neste exemplo criaremos o usuário dbseller através do comando:
[linux]# useradd -d /home/dbseller -g apache -G wheel -k /etc/skel -m -s /bin/bash dbseller
6.2.2 Em seguida, vamos definir uma senha para este novo usuário usando o comando:
[linux]# passwd dbseller

Dica: Neste exemplo, defina a senha como o mesmo nome de usuário, como “dbseller”.

Atenção: Em ambientes de produção, nunca utilize senhas que tenham o mesmo nome da conta de usuário. Mais informações sobre segurança de senhas podem ser obtidas em: http://cartilha.cert.br/senhas/.

6.2.3 Agora vamos habilitar a autenticação do grupo wheel editando o arquivo usando o comando:
[linux]# vim /etc/pam.d/su

Localize e descomente a linha como mostrado abaixo.

auth            required        pam_wheel.so use_uid
6.2.4 Para encaminhar os e-mails destinados ao usuário root para o usuário dbseller, edite o arquivo através do comando:
[linux]# vim /etc/aliases

Mova o cursor até o fim do arquivo e insira alinha como mostrado abaixo.

root:           dbseller

Em seguida, execute o comando:

[linux]# newaliases
6.2.5 Também devemos corrigir a máscara de criação de arquivos modificando os arquivos através dos comandos:
[linux]# vim /etc/login.defs

Atenção: Os demais parâmetros, não descritos aqui, não precisam ser alterados.

Localize e altere a linha do arquivo do arquivo de configuração, descomentando-a se necessário (remover o caractere # do início da linha), substituindo o valor correspondente conforme a indicação abaixo.

UMASK           002

Em seguida, execute o comando abaixo para ajustar os arquivos criados pelo apache:

[linux]# echo "umask 002" >> /etc/sysconfig/httpd

6.3 Instalando o e-cidade

6.3.1 Descompacte o pacote do e-cidade através do comando:
[linux]# tar xjf e-cidade-x.x.xx-linux.completo.tar.bz2
6.3.2 Copie o diretório do e-cidade para o diretório raiz do Apache usando o comando:
[linux]# cp -r e-cidade-x.x.xx-linux.completo/e-cidade /var/www/html/

6.4 Configurando o e-cidade

6.4.1 Crie o arquivo de configuração de acesso ao banco de dados através do comando:
[linux]# cp -a /var/www/html/e-cidade/libs/db_conn.php.dist /var/www/html/e-cidade/libs/db_conn.php

Utilize o seguinte comando para editar o arquivo de configuração:

[linux]# vim /var/www/html/e-cidade/libs/db_conn.php

Em seguida, atualize as configurações conforme o exemplo abaixo.

$DB_USUARIO = "ecidade";
$DB_SENHA = "ecidade";
$DB_SERVIDOR = "localhost";
$DB_PORTA = "5432";
$DB_PORTA_ALT = "5432";
$DB_BASE = "ecidade";
6.4.2 Crie o arquivo de configuração de acesso dos plugins através do comando:
[linux]# cp -a /var/www/html/e-cidade/config/plugins.json.dist /var/www/html/e-cidade/config/plugins.json

Utilize o seguinte comando para editar o arquivo de configuração:

[linux]# vim /var/www/html/e-cidade/config/plugins.json

Em seguida, atualize as configurações conforme o exemplo abaixo.

{
  "AcessoBase" : {
    "usuario" : "plugin",
    "senha" : "plugin"
  }
}
6.4.3 Configure o servidor de envio de e-mails do e-cidade através do comando:
[linux]# vim /var/www/html/e-cidade/libs/config.mail.php

Em seguida, atualize as configurações, com os dados do seu servidor de e-mail, conforme o exemplo abaixo.

$sClass = 3;
$sSslt  = ''; // qual o tipo de ssl q sera utilizados ( ex: tls), por padrao é vazio
$bAuth  = true; // autenticacao habilitada
$sUser  = 'exemplo@exemplo.com.br';
$sPass  = 'senhaexemplo';
$sHost  = 'smtp.exemplo.com.br';
$sPort  = '25';
6.4.4 Faça a carga do schema do e-cidade através do comando:
[linux]# psql -U ecidade -d ecidade -f e-cidade-x.x.xx-linux.completo/sql/e-cidade-x.x.xx.sql 2> /tmp/erros.txt

Após a carga, execute o comando abaixo para otimizar as consultas:

[linux]# psql -U ecidade -d ecidade -c "VACUUM ANALYZE VERBOSE;"
6.4.5 Ajuste as permissões dos diretórios através dos comandos:
[linux]# chown -R dbseller.apache /var/www/html/e-cidade
[linux]# chmod -R 775 /var/www/html/e-cidade
[linux]# chmod -R 777 /var/www/html/e-cidade/tmp

6.5 Agendando a migração da auditoria

6.5.1 Edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para migracao do acount para nova estrutura "db_auditoria"
*/30 * * * * cd /var/www/html/e-cidade/integracao_externa/auditoria; ./auditoria_migracao.sh 0 10 1 > log/auditoria_migracao.log 2>&1
*/10 * * * * cd /var/www/html/e-cidade/integracao_externa/auditoria; php -q auditoria_adiciona_fila.php > log/auditoria_adiciona_fila.log 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

6.6 Agendando a verificação do gerenciador de tarefas

6.6.1 Para criar o script de verificação execute os comandos:
[linux]# mkdir -p /opt/dbseller/scripts
[linux]# vim /opt/dbseller/scripts/ativadorGerenciadorTarefasEcidade.sh

Em seguida, adicione as linhas indicadas abaixo.

#!/bin/bash
sDiretorioEcidade="/var/www/html/e-cidade"
if [ ! -d $sDiretorioEcidade ]; then
  echo "Diretorio $sDiretorioEcidade nao existe"
  exit 1;
fi

sContador=$(ps aux | grep '<defunct>' | grep -v 'grep' | wc -l)
if [ "$sContador" -gt "5" ]; then
  sPid=$(ps aux | grep "con4_gerenciadortarefas002.php" | grep -v "grep" | awk '{print $2}');
  kill ${sPid}
fi

sTarefa=$(ps aux | grep "con4_gerenciadortarefas002.php" | grep -v "grep");
if [ "$sTarefa" == "" ]; then
  cd $sDiretorioEcidade;
  /usr/bin/php -q FrontIntegracaoExterna.php --executable con4_gerenciadortarefas002.php > tmp/log_gerenciador_tarefas.log 2> tmp/erros_gerenciador_tarefas.log &
fi

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

6.6.2 Antes de agendar o script de verificação, ajuste a permissão utilizando o seguinte comando:
[linux]# chmod +x /opt/dbseller/scripts/ativadorGerenciadorTarefasEcidade.sh

Em seguinda, edite o crontab do usuário root através do comando:

[linux]# crontab -e

E adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script de verificacao do gerenciador de tarefas
*/15 * * * * cd /opt/dbseller/scripts && su -s /bin/bash apache -c "bash ativadorGerenciadorTarefasEcidade.sh"

6.7 Acessando o e-cidade

Após finalizar os procedimentos de instalação e configuração, abra um navegador e acesse o e-cidade através do endereço IP ou nome do servidor. EX: http://ip_do_servidor/e-cidade, utilize como nome de usuário dbseller, e deixe o campo senha em branco.

Atenção: Certifique-se que o bloqueador de pop-up esteja permitindo o acesso ao endereço IP ou nome do servidor em que o e-cidade foi instalado.

7. Instalação do e-cidadeonline

7.1 Instalando o e-cidadeonline

7.1.1 Copie o diretório do e-cidadeonline para o diretório raiz do Apache usando o comando:
[linux]# cp -r e-cidade-x.x.xx-linux.completo/e-cidadeonline /var/www/html/

7.2 Configurando o e-cidadeonline

7.2.1 Crie o arquivo de configuração de acesso ao banco de dados através do comando:
[linux]# cp -a /var/www/html/e-cidadeonline/libs/db_conn.php.dist /var/www/html/e-cidadeonline/libs/db_conn.php

Utilize o seguinte comando para editar o arquivo de configuração:

[linux]# vim /var/www/html/e-cidadeonline/libs/db_conn.php

Em seguida, atualize as configurações conforme o exemplo abaixo.

$DB_INSTITUICAO = 1;
$DB_SERVIDOR = "localhost";
$DB_BASEDADOS = "ecidade";
$DB_USUARIO = "ecidade";
$DB_PORTA = "5432";
7.2.2 Configure o servidor de envio de e-mails do e-cidadeonline através do comando:
[linux]# vim /var/www/html/e-cidadeonline/libs/config.mail.php

Em seguida, atualize as configurações, com os dados do seu servidor de e-mail, conforme o exemplo abaixo.

$sClass = 3;
$sSslt  = ''; // qual o tipo de ssl q sera utilizados ( ex: tls), por padrao é vazio
$bAuth  = true; // autenticacao habilitada
$sUser  = 'exemplo@exemplo.com.br';
$sPass  = 'senhaexemplo';
$sHost  = 'smtp.exemplo.com.br';
$sPort  = '25';
7.2.3 Ajuste as permissões dos diretórios através dos comandos:
[linux]# chown -R dbseller.apache /var/www/html/e-cidadeonline
[linux]# chmod -R 775 /var/www/html/e-cidadeonline
[linux]# chmod -R 777 /var/www/html/e-cidadeonline/tmp

7.3 Acessando o e-cidadeonline

Após finalizar os procedimentos de instalação e configuração, abra um navegador e acesse o e-cidadeonline através do endereço IP ou nome do servidor. EX: http://ip_do_servidor/e-cidadeonline, utilize como nome de usuário dbseller, e deixe o campo senha em branco.

8. Configurando a carga de integrações

Dica: Preste atenção aos horários de agendamento do crontab de múltiplas integrações. Procure verificar o tempo de duração da execução de cada integração, ajustando o horário de excução conforme a necessidade.

Dica: Sempre que possível, execute manualmente a linha agendada para certificar o correto funcionamento do agendamento.

8.1 Configurando a integração de carga do cubo do BI

8.1.1 Crie o arquivo de configuração de acesso FTP para a carga do cubo do BI através do comando:
[linux]# cp -a /var/www/html/e-cidade/libs/db_cubo_bi_config.php.dist /var/www/html/e-cidade/libs/db_cubo_bi_config.php

Utilize o seguinte comando para editar o arquivo de configuração:

[linux]# vim /var/www/html/e-cidade/libs/db_cubo_bi_config.php

Em seguida, atualize as configurações conforme o exemplo abaixo.

$configCuboBi['ftp']['server']        = "endereco.ip.do.servidor";
$configCuboBi['ftp']['usuario']       = "nome-usuario-ftp";
$configCuboBi['ftp']['senha']         = "senha-do-usuario-ftp";
$configCuboBi['ftp']['diretorio']     = "diretorio-de-destino";
$configCuboBi['ftp']['passive_mode']  = true;

8.2 Configurando a integração de carga do Webservice HORUS BASICO

8.2.1 Crie o arquivo de configuração de através do comando:

Dica: Mais informações sobre o Werbservice HORUS BASICO podem ser obtidas em:
http://portalsaude.saude.gov.br/index.php/o-ministerio/principal/leia-mais-o-ministerio/218-sctie-raiz/daf-raiz/ceaf-sctie/qualifarsus-raiz/eixo-informacao/l1-eixo-informacao/8508-envio-de-dados-webservice

[linux]# cp -a /var/www/html/e-cidade/libs/db_config_horus.php.dist /var/www/html/e-cidade/libs/db_config_horus.php

Utilize o seguinte comando para editar o arquivo de configuração:

[linux]# vim /var/www/html/e-cidade/libs/db_config_horus.php

Em seguida, atualize as configurações conforme o exemplo abaixo.

Atenção: Consulte a documentação das URLs no portalsaude.saude.gov.br antes de utilizar a integração.

// Homologação
$sUrlWebService = "http://189.28.128.37/horus-ws-basico/RecebeDadosWS?wsdl";
$sLogin         = "nome-usuario-horus";
$sSenha         = "senha-do-usuario-horus";

8.3 Configurando as integrações de limpeza de cadastros duplos CGM e CGS

8.3.1 Para agendar a limpeza de cadastros duplos CGM, edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para limpeza de cadastro duplos CGM
0 22 * * * cd /var/www/html/e-cidade/ ; /usr/bin/php FrontIntegracaoExterna.php --executable duplos.php > duplos.log 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.3.2 Para agendar a limpeza de cadastros duplos CGS, edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para limpeza de cadastro duplos CGS
0 22 * * * cd /var/www/html/e-cidade/ ; /usr/bin/php FrontIntegracaoExterna.php --executable duploscgs.php > duploscgs.log 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.4 Configurando a integração GISS

O script de execução da integração GISS possui dois parametros de configuração:

1) Se o programa for agendado sem nenhum parâmetro, ou com o parametro 1, a integração processará somente os registros alterados.

.../iss4_gissonline002.php 1 > /dev/null 2>&1

2) Se o programa for agendado com o parâmetro 2, a integração processará todos os registros.

.../iss4_gissonline002.php 2 > /dev/null 2>&1
8.4.1 Edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para execução da integração GISS
0 22 * * * cd /var/www/html/e-cidade/ ; /usr/bin/php FrontIntegracaoExterna.php --dir integracao_externa/gissonline --executable integracao_externa/gissonline/iss4_gissonline002.php > /dev/null 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.5 Configurando a integração SIGCORP

8.5.1 Edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para execução da integração SIGCORP
0 22 * * * cd /var/www/html/e-cidade/ ; /usr/bin/php FrontIntegracaoExterna.php --dir integracao_externa/sigcorp --executable integracao_externa/sigcorp/iss4_sigcorp001.php > /dev/null 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.6 Configurando a integração WEBISS

8.6.1 Edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para execução da integração WEBISS
0 22 * * * cd /var/www/html/e-cidade/ ; /usr/bin/php FrontIntegracaoExterna.php --executable integracao_externa/webiss/iss4_webiss001.php > /dev/null 2>&1

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.7 Configurando a integração de geração das tabelas débitos

8.7.1 Para agendar a geração das tabelas débitos, edite o crontab do usuário dbseller através do comando:
[linux]# crontab -u dbseller -e

Em seguida, adicione o seguinte bloco ao final do arquivo:

# DBSeller - Agendamento do script para geração das tabelas débitos
0 20 * * * cd /var/www/html/e-cidade/integracao_externa/debitos ; ./debitos.sh &> /dev/null

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

8.7.2 Configurando a integração débitos

O script de execução da integração débitos necessita de um arquivo de configuração para ser executado.
Para criar o script de configuração, execute os comandos abaixo:

[linux]# cd /var/www/html/e-cidade/integracao_externa/debitos/libs
[linux]# cp -a debitos.conf.dist debitos.conf

Em seguida edite o arquivo através do comando:

[linux]# vim debitos.conf

Informe o valor das variáveis conforme as descrições abaixo:

# Permite definir a periodicidade com que a manutencao da tabela debitos
# sera executada. O valores permitidos sao: -1=desativa, 0=todos ou dia da semana (1=segunda, 2=terca ... 7=domingo).
#
# Exemplo:
# DEBITOS_PERIODO="7"
#
DEBITOS_PERIODO=""

# Permite definir o numero de dias no passado para manter os registros na debitos.
#
# Exemplo:
# DEBITOS_DIAS_MANTER="14"
#
DEBITOS_DIAS_MANTER=""

# Permite definir o codigo da(s) instituicao(oes) que deve(em) ser gerada debitos. Se houver
# mais de uma instituicao, os seus codigos devem ser separados por espa�o.
#
# Exemplo:
# DEBITOS_INSTITUICOES="1"
# DEBITOS_INSTITUICOES="1 3"
#
DEBITOS_INSTITUICOES=""

Atenção: Lembre-se de ajustar o caminho para o diretório do e-cidade conforme o ambiente em que foi instalado.

Glossário

Termo Significado
encoding http://en.wikipedia.org/wiki/Character_encoding
cluster http://www.postgresql.org/docs/8.2/interactive/creating-cluster.html
apt-get http://www.debian.org/doc/manuals/apt-howto
apt-get http://pt.wikipedia.org/wiki/Advanced_Packaging_Tool
vim http://www.vim.org
Firefox http://www.mozilla.org/firefox
DBSeller Sistemas http://www.dbseller.com.br
proxy http://pt.wikipedia.org/wiki/Proxy
squid http://pt.wikipedia.org/wiki/Squid