# Instalação IIS sem Instalador

## Visão Geral

A configuração manual do IIS 10.0 garante que o Suricato opere em um ambiente isolado e otimizado, permitindo ajustes finos de segurança e performance que o instalador automático pode não cobrir.

## Regras de Negócio

Para que a instalação manual seja bem-sucedida, estas regras são mandatórias:

* [x] **Versão:** Homologado para Suricato v3.0 (Enterprise Edition).
* [x] **Padrão:** O diretório padrão de instalação deve ser mantido:  `C:\Program Files\Telematica`
* [x] **Arquitetura:** O *Application Pool* deve operar obrigatoriamente em 32 bits.
* [x] **PHP:** Utilizamos a versão **Non Thread Safe (NTS)**.
* [x] **Segurança:** A comunicação deve ser via HTTPS (Porta 443) com certificados instalados no servidor e nas estações.
* [x] **Pré-Requisitos:**
  * IIS com suporte a CGI habilitado
  * Variáveis de ambiente corretamente configuradas
  * Permissões adequadas nos diretórios virtuais

## Pré-Requisitos

> Antes de mexer no IIS, precisamos preparar o Windows para "conversar" com o PHP e o Suricato.

{% stepper %}
{% step %}
**Habilitar Recurso CGI:** No *Server Manager*, acesse `Manage > Add Roles and Features`. Em *Web Server (IIS)*, habilite a opção CGI. Sem isso, o PHP não executará.
{% endstep %}

{% step %}
**Variáveis de Ambiente** (PHPRC): O Windows precisa saber onde o PHP está.
{% endstep %}

{% step %}
Crie a variável de sistema `PHPRC` apontando para: `C:\Program Files\Telematica\Suricato\php`.
{% endstep %}

{% step %}
Adicione este mesmo caminho ao `Path` do sistema.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Dica:** Após criar a variável `PHPRC`, reinicie o servidor. O Windows só "enxerga" novas variáveis após o reboot.
{% endhint %}

### Suricato

Este procedimento foi homologado para o Suricato v. 3.0.\
Diretório base da instalação:

```
C:\Program Files\Telematica
```

#### Internet Information Services (IIS)

Verifique se a versão instalada é compatível acessando:\
**Help | About**

<figure><img src="/files/ZtIqhG7aJQBo1BD1D9wn" alt=""><figcaption><p><em>Versão IIS</em></p></figcaption></figure>

{% stepper %}
{% step %}

#### Suporte para CGI

Ativar o suporte CGI no IIS:

* Acesse o **Server Manager**
* Menu: **Manage | Add Roles and Features**

Em **Roles and Features**, habilite a opção CGI:

<figure><img src="/files/wrWihVW5L5famoX5XEGV" alt=""><figcaption><p><em>Ativar CGI</em></p></figcaption></figure>
{% endstep %}

{% step %}

#### Variável de Ambiente PHPRC

Diretório padrão do PHP:\
`C:\Program Files\Telematica\Suricato\php`

Configurar as variáveis de ambiente:

* **PHPRC**
* **PATH**

Apontando para:\
`C:\Program Files\Telematica\Suricato\php`

<figure><img src="/files/kXOIufeomTgWOmtX3oBk" alt=""><figcaption><p><em>Variável de Ambiente PHPRC</em></p></figcaption></figure>
{% endstep %}

{% step %}
Em alguns casos, pode ser necessário reiniciar o servidor para que as variáveis sejam reconhecidas.

Acesse o IIS Manager:

* Server Manager → **Tools → IIS Manager**

Toda a configuração será realizada neste painel.

<figure><img src="/files/lLKLxU5GWSMTb4n1cPuz" alt=""><figcaption><p><em>IIS Manager</em></p></figcaption></figure>

{% hint style="warning" %}
**Atenção:** Esta configuração é válida para versões 3.0 ou superiores. Não utilize caminhos de versões antigas.
{% endhint %}
{% endstep %}

{% step %}

#### Virtual Directories

A solução utiliza dois diretórios virtuais:

* **telematica**
* **suricato**

Acesse:

* **Sites → Default Web Site**

<figure><img src="/files/C4a6dDxbRg4dFVACj8An" alt=""><figcaption><p><em>Default Web Site</em></p></figcaption></figure>
{% endstep %}

{% step %}
No painel **Actions**, selecione:

* **View Virtual Directories**

<figure><img src="/files/LVA9N7JXsv7f9rNaBV6J" alt=""><figcaption><p><em>Virtual Directories</em></p></figcaption></figure>
{% endstep %}

{% step %}
Clique em:

* **Add Virtual Directory**

Configure conforme o modelo:

<figure><img src="/files/S601Zz9Fp2cTAOeFRIG9" alt=""><figcaption><p><em>Diretório Virtual: suricato</em></p></figcaption></figure>

Repita o processo para:

<figure><img src="/files/VEfcpqGMWBcufmmxRygM" alt=""><figcaption><p><em>Diretório Virtual: telematica</em></p></figcaption></figure>

Resultado esperado:

<figure><img src="/files/kdjxSyU3eIKila1yl2oF" alt=""><figcaption><p><em>Virtual Directories: telematica e suricato</em></p></figcaption></figure>
{% endstep %}

{% step %}
Conceda permissão **FULL** para:

* Usuário: **IUSR**
* Grupo: **IIS\_IUSRS**

<figure><img src="/files/83yAItH9wVpidJACtIhu" alt=""><figcaption><p><em>Permissão de Acesso</em></p></figcaption></figure>
{% endstep %}

{% step %}

#### Server Certificates

Para habilitar HTTPS, é necessário gerar e instalar certificados.

Execute:

`C:\Program Files\Telematica\Suricato\iis\certificado\Certificado.exe`

<figure><img src="/files/D8dCAMSvJDvFXFFiS4yX" alt=""><figcaption><p><em>Gerador de Certificado</em></p></figcaption></figure>
{% endstep %}

{% step %}
Arquivos gerados:

* suricato-ca.cer
* suricato-iisx509.cer
* suricato.p12

Instale o certificado:

* Store Location: **LocalMachine**

<figure><img src="/files/AQrLcCr55IEkZPqrCN2z" alt=""><figcaption><p><em>Instalar Certificado</em></p></figcaption></figure>
{% endstep %}

{% step %}
No IIS:

* Acesse **Server Certificates**
* Clique em **Import**

<figure><img src="/files/bCoEVNq4gAupkQVQ6v2H" alt=""><figcaption><p><em>Importar Certificado</em></p></figcaption></figure>
{% endstep %}

{% step %}
Configuração:

* Certificate File:\
  `C:\Program Files\Telematica\Suricato\iis\certificado\suricato.p12`
* Password: **suricato**
* Store: **Personal**

<figure><img src="/files/2oNirsAjgQNKS2aflnUa" alt=""><figcaption><p><em>Certificado Suricato</em></p></figcaption></figure>

Agora configure o binding:

<figure><img src="/files/787wqqZdDIZjbb7imDjV" alt=""><figcaption><p><em>Configurar Porta e Certificado</em></p></figcaption></figure>
{% endstep %}

{% step %}
Adicionar:

* Tipo: **HTTPS**
* Porta: **443**
* Certificado: selecionado anteriormente

<figure><img src="/files/yQEOGGP8UAjVoUBWwTjd" alt=""><figcaption><p><em>HTTPS / Porta 443</em></p></figcaption></figure>

Resultado:

<figure><img src="/files/UYDJ7mIxJVrAjfAwhbRt" alt=""><figcaption><p> <em>HTTPS Configurado</em></p></figcaption></figure>
{% endstep %}

{% step %}

### Teste HTTPS

Crie o arquivo:   `C:\Program Files\Telematica\Suricato\suricato\teste.html`

Conteúdo:

```
<html>
<p1>Teste Suricato</p1>
</html>
```

Acesse no servidor:  `https://172.16.4.205/suricato/teste.html`

<figure><img src="/files/r0Ar2T6nakXvlbKcyfAF" alt=""><figcaption><p><em>Teste no Servidor</em></p></figcaption></figure>
{% endstep %}

{% step %}
Instale os certificados na estação cliente:

* LocalMachine
* Trusted Root Certification Authorities

Senha do .p12: **suricato**

Teste no cliente:

<figure><img src="/files/RzkAE2DZ8G5wnwxaW4QW" alt=""><figcaption><p><em>Teste na Estação</em></p></figcaption></figure>
{% endstep %}

{% step %}

#### Handler Mappings

Configurar execução via CGI:

* **php-cgi.exe**
* **suricato.exe**

Acesse:

* Default Web Site → **Handler Mappings**

<figure><img src="/files/fx3MQNJnTTUrhIqFniaK" alt=""><figcaption><p><em>Handler Mappings</em></p></figcaption></figure>

Adicionar mapeamento:

<figure><img src="/files/2Rpjez4X2SEDdyya1XPa" alt=""><figcaption><p><em>PHP Add Module Mapping</em></p></figcaption></figure>

Configurar:

* PHP → **FastCGIModule**

<figure><img src="/files/4ZNclR7nlqvc1f9elp5f" alt=""><figcaption><p><em>CGI PHP</em></p></figcaption></figure>
{% endstep %}

{% step %}

#### Configurar Suricato:

* Tipo: **CgiModule**

<figure><img src="/files/2ve7d5Mv8heyfxYTHdpN" alt=""><figcaption><p><em>CGI Suricato</em></p></figcaption></figure>

Acesse:

* **ISAPI and CGI Restrictions**

<figure><img src="/files/ByuG0xdKfwDWEAs9Sem6" alt=""><figcaption><p> <em>ISAPI and CGI Restrictions</em></p></figcaption></figure>

Editar e marcar:

* **Allow extension path to execute**

Resultado esperado:

<figure><img src="/files/I97NYISKjfXVtKN4iEbL" alt=""><figcaption><p><em>CGI Permitido</em></p></figcaption></figure>

{% endstep %}

{% step %}

#### Application Pools

Criar Application Pool:

<figure><img src="/files/IDlkXZklmbCKdIylXCO5" alt=""><figcaption><p><em>Application Pools</em></p></figcaption></figure>

Configuração:

<figure><img src="/files/5LUMBp4WqzqPmANjfPea" alt=""><figcaption><p><em>Suricato Application Pool</em></p></figcaption></figure>

Ajustar:

* **Enable 32-Bit Applications = True**

<figure><img src="/files/irjJkYB4q6N6zweZBz87" alt=""><figcaption><p><em>Configurar 32 bits</em></p></figcaption></figure>

Associar ao site:

<figure><img src="/files/QsGRT4CkKKSRtQrUhElG" alt=""><figcaption><p><em>Configurar Default Web Site</em></p></figcaption></figure>
{% endstep %}

{% step %}

#### Teste PHP

Acesse:  `https://172.16.4.205/suricato/info.php`

<figure><img src="/files/fiSBy1GhAqF8GY1XOHBu" alt=""><figcaption><p> <em>Teste de PHP</em></p></figcaption></figure>
{% endstep %}
{% endstepper %}

### Acessando o Suricato

Acesse:  `https://172.16.4.205/telematica/suricato.exe`

O sistema validará a licença e abrirá a página inicial.

<figure><img src="/files/wuH7ST8WDrHqkbKQ9RzK" alt=""><figcaption><p><em>Página Inicial Suricato</em></p></figcaption></figure>

## FAQ – Perguntas Frequentes

<details>

<summary>Quais versões do IIS são suportadas?</summary>

São suportadas as versões 7 até 10 do IIS.

</details>

<details>

<summary>Quais componentes do IIS são obrigatórios?</summary>

CGI, ISAPI e FastCGI devem estar habilitados.

</details>

<details>

<summary>Para que serve a variável PHPRC?</summary>

Ela define o caminho onde o PHP irá buscar suas configurações (php.ini).

</details>

<details>

<summary>Preciso reiniciar o servidor após configurar o PHPRC?</summary>

Sim. A reinicialização é obrigatória para aplicar a variável.

</details>

<details>

<summary>Quais diretórios virtuais devo criar?</summary>

Devem ser criados os diretórios **scriptcase** e **telematica**.

</details>

<details>

<summary>Quais permissões devem ser configuradas?</summary>

O usuário **IUSR** deve ter FULL CONTROL nos diretórios utilizados.

</details>

<details>

<summary>É obrigatório configurar HTTPS?</summary>

Sim. O acesso ao sistema é realizado via HTTPS com certificado SSL.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://software-telematica-com.gitbook.io/suricato-docs/central-tecnica/instalacao-e-configuracao-do-suricato/instalacao-do-suricato/configuracao-suricato-iis/instalacao-iis-sem-instalador.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
