Files
projeto-importado/docs/apache_saude_separacao.md
2025-11-28 00:29:42 -03:00

16 KiB

Separação Apache IPM Saúde x Atende.Net

Documentação criada para documentar o procedimento de separação do servidor Apache do cliente, dividindo os sistemas IPM Saúde e Atende.Net, fazendo com que os mesmos trabalhem de forma individual.

Requisitos:

  • Reservar IP Público para uso do sistema
  • Criação de uma nova VM Apache (APP) para adição do novo sistema dedicado (00000-cliente-app-02-5618.atende.net)
  • Cadastrar o DNS com base no IP público dedicado (saude-cliente.atende.net)

Procedimentos (Firewall do cliente):

Criar Virtual IP no PfSense
Acesse o Firewall do cliente através do IP INT_RT na porta 9080

Acesse: Firewall > Virtual IPs

Criei um Novo Virtual IP com as informações
Type: IP Alias
Interface: WAN
Address(es): O IP que você definiu (177.11.XXX.XXX)
Description: saude-cliente.atende.net 

Virtual_IPS

Após a criação do IP Virtual, devemos criar o NAT para o novo ambiente

Acesse: Firewall > NAT

Será necessário a criação de um NAT para a Porta 80 e outra para a 443

NAT Porta 80:

Interface: WAN
Protocol: TCP
Source: Any
Source Port Range: Any
Destination: (177.11.XXX.XXX - saude.cliente.atende.net) - Aqui você colocará o destino para o IP Virtual que você criou
Destination port range: HTTP
Redirect target IP: 192.168.XXX.XXX - Aqui você colocará o IP LAN do Servidor Apache específico que você irá criar.
Description: HTTP SAUDE

NAT Porta 443:

Interface: WAN
Protocol: TCP
Source: Any
Source Port Range: Any
Destination: (177.11.XXX.XXX - saude.cliente.atende.net) - Aqui você colocará o destino para o IP Virtual que você criou
Destination port range: HTTPS
Redirect target IP: 192.168.XXX.XXX - Aqui você colocará o IP LAN do Servidor Apache específico que você irá criar.
Description: HTTPS SAUDE

NAT 80 e 443

Após a criação do NAT para a Porta 80 e 443, devemos criar as regras de liberação desse novo IP WAN.

Acesse: Firewall > Rules > WAN

Será necessário a criação de um NAT para a Porta 80 e outra para a 443

Regra Interface WAN - 80

Action: Pass
Interface: WAN
Protocol: TCP
Source: Any
Source Port range: Any
Destination: Single host or alias: 192.168.XXX.XXX - Aqui você irá informar o IP LAN do Apache específico que você criou pro Saúde
Destination Port Range: HTTP 80
Description: NAT HTTP SAUDE
Advanced Option > State type: Synproxy (Habilite o synproxy nas configurações avançadas)

Regra Interface WAN - 443

Action: Pass
Interface: WAN
Protocol: TCP
Source: Any
Source Port range: Any
Destination: Single host or alias: 192.168.XXX.XXX - Aqui você irá informar o IP LAN do Apache específico que você criou pro Saúde
Destination Port Range: HTTPS 443
Description: NAT HTTPS SAUDE
Advanced Option > State type: Synproxy (Habilite o synproxy nas configurações avançadas)

Rules WAN

Depois de efetuado o procedimento acima, devemos criar os NATs na Interface INT_RT do cliente para acesso a VM: Os NATS serão de acordo com a porta definida no levantamento dos dados do ambiente do cliente. Essas portas podem sofrer alterações de acordo com a quantidade de maquinas que o ambiente do cliente possui atualmente.

NAT Cookpit
NAT SSH

Rules WAN Rules WAN

Por fim, devemos cadastrar o DNS Forwarder para esse novo servidor Apache informando o IP LAN definido 192.168.XXX.XXX

Rules WAN

Procedimento Criação Servidor Apache (IPM Saúde):

Após efetuado as configurações no Firewall do cliente, iremos criar/configurar o Apache específico para o Saúde:

Substituir os IP conforme o Apache, os nomes conforme o cliente e cadastrar o endereço saude-cliente.atende.net

Ligue a máquina virtual do cliente e após execute os procedimentos abaixo:

Acesse o Console VMWare do servidor:
LAUNCH WEB CONSOLE > Informe usuário e senha (root - 123456):

  # vim /etc/sysconfig/network-scripts/ifcfg-eno16780032
        IPADDR="192.168.XX.XX" - Inserir IP informado no chamado
        PREFIX="28"
        GATEWAY="192.168.XX.XX" - Inserir IP do Firewall
        DNS1="192.168.XX.XX" - Inserir IP do Firewall
        
  # reboot

Após reiniciar a máquina, conectar via SSH com o IP INT_RT configurado no Firewall (porta definida na criação do ambiente):

   # vim /etc/resolv.conf
        nameserver 192.168.XX.XX - Alterar para o IP do gateway

Ajustar nome e IP do Servidor:

   # vim /etc/hosts 
        - Substituir o IP do App. Ex: :% s/21.20/XX.XX 
        - Substituir código e nome do cliente. Ex: :% s/00000-clean-app-01-5618/00000-saude-cliente-app-02-5618
        - Substituir domínio do cliente. Ex: :% s/clean.atende.net/saude-cliente.atende.net (conforme URL1 informada no chamado)

   # O arquivo deve ficar da seguinte maneira:

   192.168.23.20    01383-cliente-app-02-5618  01383-cliente-app-02-5618.atende.net
   192.168.23.20    saude-cliente.atende.net
   192.168.23.20    www.saude-cliente.atende.net
   192.168.23.21    cliente.atende.net

   # vim /etc/hostname
        - Substituir código e nome do cliente. Ex: :% s/00000-clean-app-01-5618/00000-saude-cliente-app-02-5618

Instalar o VMWare-Tools:
No VCenter, vá na VM do cliente e siga os passos: Actions > Guest OS > Install VMWare Tools.

   # mount /dev/cdrom /mnt
   # cd /root
   # cp /mnt/VMwareTools-10.....tar.gz /root/
   # tar -xzvf VMwareTools-10.....tar.gz
   # cd vmware-tools-distrib/
   # ./vmware-install.pl > yes > ENTER até o fim da instalação
   # reboot

Altere os arquivos de configuração do servidor:
Ajustar os seguintes itens conforme a planilha de manutenção de servidores:

Ajuste o arquivo performance.conf:

   # vim /etc/httpd/conf.d/performance.conf
        MaxKeepAliveRequests 	45  - Alterar conforme planilha MAX KEEPALIVE
        <IfModule prefork.c>
        StartServers      20 - Alterar conforme planilha START SERVERS
        MinSpareServers   20 - Alterar conforme planilha START SERVERS
        MaxSpareServers   40 - Alterar conforme planilha MAX SERVERS
        ServerLimit      190 - Alterar conforme planilha MAX CLIENTS 
        MaxClients       190 - Alterar conforme planilha MAX CLIENTS 
        MaxRequestsPerChild  4000
        </IfModule>

Ajuste o arquivo security.conf:

   # vim /etc/httpd/conf.d/security.conf
        ServerTokens Prod - Conferir se o valor está como "Prod"
        ServerSignature Off - Conferir se o valor está como "Off"
        TraceEnable Off - Conferir se o valor está como "Off"
        Directory - Alterar o clean.atende.net pelo do cliente. Ex: :% s/clean.atende.net/saude-cliente.atende.net

   # Adicionar os parâmetros abaixo:
   
        <Directory "/var/www/html/saude-cliente.atende.net/saude/upload/">
        Order deny,allow
        Deny from all
        Allow from nome
        </Directory>

Ajustar o arquivo php.conf

        vim /etc/httpd/conf.d/php.conf
        -- DirectoryIndex atende.php super_login.php

Ajuste o arquivo qos.conf:

   # vim /etc/httpd/conf.d/qos.conf 
        QS_SrvMaxConnPerIP      95 115 - Alterar conforme planilha
        QS_ClientEventBlockCount   115 95 - Alterar conforme planilha
        QS_SrvMaxConnExcludeIP      192.168.XX.XX - Substituir pelo IP do Tomcat. Ex: :% s/21.23/XX.XX

        <Location /qos>
            SetHandler qos-viewer - Substituir pelo IP do Apache. Ex: :% s/21.20/XX.XX
            Order Deny,Allow
            Deny from All
            Allow from 192.168.XX.XX ; XX.X.XX.XXX/29 ; XX.XX.XX.XXX/28 ; XXX.XXX.XX.X/28 ; XXX.XX.XX.X/22
        </Location>

Ajuste o arquivo ssl.conf:

   # vim /etc/httpd/conf.d/ssl.conf
        Alterar o clean.atende.net pelo endereço do cliente. Ex: :% s/clean.atende.net/saude-cliente.atende.net

Ajuste o arquivo status.conf:

   # vim /etc/httpd/conf.d/status.conf
        <Location /server-status> - Substituir pelo IP Firewall e do Apache. Ex: :% s/21.17/XX.XX e :% s/21.20/XX.XX
        <Location /server-info> - Substituir pelo IP Firewall e do Apache. Ex: :% s/21.17/XX.XX e :% s/21.20/XX.XX

Criar o arquivo alias.conf

   vim /etc/httpd/conf.d/alias.conf
   Alias /social "/var/www/html/saude-cliente.atende.net/saude/"
   Alias /vigilancia "/var/www/html/saude-cliente.atende.net/saude/"
   Alias /hospital "/var/www/html/saude-cliente.atende.net/saude/"

Ajuste o arquivo httpd.conf:

   #  vim /etc/httpd/conf/httpd.conf 
        Configurar as informações gerais do servidor, substituindo pelo endereço principal. 
        Ex: :% s/CLEAN.atende.net/saude-cliente.atende.net

   # Adicionar o parâmetro de super_login.php
        -- DirectoryIndex atende.php super_login.php

Ajuste o arquivo awstats.conf:

   # vim /etc/httpd/conf.d/awstats.conf
        Directory - Substituir pelo IP Firewall e do Apache. Ex: :% s/21.17/XX.XX e :% s/21.20/XX.XX

Renomeie o nome do arquivo para o cliente em questão:

   # cd /etc/awstats 
   # mv awstats.clean.atende.net.conf awstats.saude-cliente.atende.net.conf - Substituir cliente pelo nome do cliente em questão.
   # vim awstats.saude-cliente.atende.net.conf - Substituir a palavra clean pelo nome do cliente. Ex: :% s/clean/saude-cliente

Confira configuração do memcache:

   # cat /etc/sysconfig/memcached - CACHESIZE deve estar ="128"

Ajuste o arquivo zabbix_agentd.conf:

   # vim /etc/zabbix/zabbix_agentd.conf
   Server=192.168.XX.XX - Alterar para o IP do Firewall
        ServerActive=192.168.XX.XX - Alterar para o IP do Firewall
   Hostname=00000-clean-app-01-5618 - Alterar o código e nome do cliente. Ex: :% s/00000-clean-app-01-5618/00000-saude-cliente-app-02-5618

Ajuste o arquivo apache.conf:

   # vim /etc/ztc/apache.conf 
        host=192.168.XX.XX - Alterar para o IP do Apache

Realize a conferência do arquivo memcache.conf:

   # cat /etc/zabbix/zabbix_agentd.d/memcache.conf 
        Retorno: UserParameter=memcache[*],/opt/ztc/bin/memcache_status.sh $1 

Conferir regras de firewall, caso exista alguma alteração será informado:

   # iptables -L

Execute o procedimento abaixo:

   cd /root/download/php56/
   wget https://datacenter.atende.net/updates/php56/dbase-5.1.1.tgz
   pecl install dbase-5.1.1.tgz
   tar -xzvf dbase-5.1.1.tgz
   cd dbase-5.1.1/
   /usr/bin/zts-phpize
   ./configure --with-php-config=/usr/bin/zts-php-config
   make && make install
   cd /etc/php.d
   wget https://datacenter.atende.net/updates/php56/dbase.ini
   cd /etc/php-zts.d/
   wget https://datacenter.atende.net/updates/php56/dbase.ini

Procedimento de Jobs do Saúde

   cd /root
   wget https://datacenter.atende.net/updates/jobs_ipmsaude.sh
   chmod 755 jobs_ipmsaude.sh
   vim job_ipmsaude.sh

   #Apague a linha abaixo
   url=`cat /etc/tomcat/ipm.properties | grep enderecoWeb | cut -d '/' -f3 | cut -d '\' -f1`

   #Substitua por:
   url="saude-cliente.atende.net"

   #Salve o arquivo jobs_ipmsaude.sh

   ./jobs_ipmsaude.sh
   crontab -e
   0-59/10 * * * * /root/jobs_ipmsaude.sh

IMPORTANTE

Neste momento precisamos avaliar como a separação que esta sendo efetuada irá ocorrer. Nestes casos existem duas opções:

1 - Manter o Atende.Net no servidor Atual e este novo servidor ficará para o IPM Saúde
2 - O Apache Atual ficará para o IPM Saúde e será separado o Atende.Net

Neste exemplo abaixo, iremos criar um novo servidor para o IPM saúde, sendo assim, caso você realize a opção 2, os passos devem ser feitos de forma invertida!

Neste passo, iremos precisar realizar um checkout para o IPM Saúde

Renomear a pasta para o nome do cliente em questão:

   # mv clean.atende.net saude-cliente.atende.net 
   # cd saude-cliente.atende.net/
   # svn co https://atualizacao.atende.net/svn/Saude_Producao/1.0.0/ saude/

Após o checkout, precisamos copia as seguintes pastas do Servidor Antigo onde o Saúde estava operandor (Apache Atende.Net):

   sau_atualiza_versao_config.inc
   _config.padrao.inc
   download
   imagem
   upload

Conferir o Atualiza:

   # vim atualiza/atualiza_versao_config.inc
<?php
  define("IPM_SVN_HOST","https://atualizacao.atende.net/svn/AtendeNet_Producao/1.0.0/");
  define("IPM_SVN_SERVER_USER","atualiza-atende");
  define("IPM_SVN_SERVER_PASS","#@t#lZ440#N3t");
  define("IPM_SVN_HOST_ALLOW","");
  define("IPM_SVN_HOST_USER","318");

Aplique as permissões e apague os logs:

   # chown apache.apache . -R 

   # rm /var/log/httpd/*CLEAN* -rf 

   # rm /var/log/httpd/*clean* -rf 

Altere a senha do root:

   # passwd root       

Reinicie a máquina:

   # reboot

Procedimento Ajuste no Servidor Apache (Atende.Net):

Devido a separação do Apache entre o Atende.Net e o IPM Saúde, neste momento temos configurado o servidor da Saúde, porém agora precisamos realizar alguns ajustes no Apache que ficou dedicado para o Atende.Net:

Ajustes do arquivo hosts

   Adicionar o endereço: 192.168.XXX.XXX saude-cliente.atende.net

   Exemplo:

   192.168.23.21   00000-cliente-app-02-5618     00000-cliente-app-02-5618.atende.net
   192.168.23.21   origens-cliente.atende.net
   192.168.23.21   www.origens-cliente.atende.net
   192.168.23.21   ws-cliente.atende.net
   192.168.23.21   cliente.atende.net
   192.168.23.21   www.cliente.atende.net
   192.168.23.21   nfse-cliente.atende.net
   192.168.23.21   www.nfse-cliente.atende.net
   192.168.23.21   cliente.sc.gov.br
   192.168.23.21   www.cliente.sc.gov.br
   192.168.23.20   saude-cliente.atende.net

Alterar o arquivo alias.conf já existente:

   vim /etc/httpd/conf.d/alias.conf

   Conteudo do arquivo alias.conf:

   Redirect permanent "/saude" "https://saude-cliente.atende.net/saude/"
   Redirect permanent "/social" "https://saude-cliente.atende.net/social/"
   Redirect permanent "/vigilancia" "https://saude-cliente.atende.net/vigilancia/"
   Redirect permanent "/hospital" "https://saude-cliente.atende.net/hospital/"

Checkout IPM Saúde

   /var/www/html/cliente.atende.net

   No checkout do Atende.Net deve ser feito backup e removido os arquivos relacionados ao IPM Saúde, porém mantendo a pasta /saude
   No config_padrão.inc do Atende.Net deve ser adicionado a seguinte linha apontando a nova URL referente ao IPM Saúde:

   vim /var/www/html/cliente.atende.net/_config.padrao.inc
   $_CONFIG['urlsaudeatual'] = 'https://saude-cliente.atende.net';

Procedimento Ajuste no Servidor Banco de Dados (IPM Saúde):

Devido a divisão entre os Apaches dedicando um para o sistema do Atende.Net e outro para o IPM Saúde, precisamos ajustar a configuração do Backup dos arquivos que o banco do Saúde realiza. Para isso seguiremos o passo a passo abaixo:

Para realização dos Backups dos Arquivos, deve ser verificado o arquivos /root/bkp_remoto/bkp_remoto.cfg
Nele deve constar os dados corretos:

   ip_stg_bkp=172.16.0.246
   Neste linha deve-se alterar conforme o novo checkout:
   document_root=/var/www/html/saude-cliente.atende.net
   
   #Deve também ser verificado o parâmetro referente ao IP do Apache e alterar caso necessário:
   ip_apache=192.168.XXX.XXX

Voltar