# Inicialização do Apache

## Visão Geral

A correta inicialização do Apache é o que coloca o Suricato "no ar". Este procedimento ensina a configurar os arquivos vitais do servidor e, mais importante, a diagnosticar por que o serviço pode não estar subindo, transformando erros complexos em soluções rápidas.

Neste procedimento, você vai aprender:

* [Como configurar e iniciar o servidor Apache do SURICATO](#configure-os-arquivos-de-inicializacao-do-apache)
* [Como ajustar os arquivos de configuração obrigatórios](#configurando-o-httpd.conf)
* [Como identificar e corrigir erros comuns de inicialização](#se-o-apache-nao-iniciar-erro-de-inicializacao)

Você deve seguir primeiro o processo de inicialização.\
Caso o serviço não inicie, utilize a seção de erros para diagnóstico e correção.

## Regras de Negócio

* [x] **Permissão:** Garanta privilégios de Administrador para editar arquivos e executar o prompt.
* [x] **IP Fixo:** Utilize sempre o IP estático do servidor no parâmetro `ServerName`.
* [x] **Sintaxe:** Lembre-se que o símbolo `#` desativa a linha. Remova-o apenas das configurações que deseja ativar.
* [x] **Validação:** Sempre que alterar um arquivo `.conf`, valide a sintaxe executando o `httpd.exe` via Prompt de Comando.
* [x] **Instalação Manual:** Revise todos os arquivos de configuração do Apache.

## Inicializando o Apache

{% stepper %}
{% step %}

### Configure os arquivos de inicialização do Apache

* Utilize os arquivos:
  * `httpd.conf`
  * `httpd-ssl.conf`
* Caminho do arquivo `httpd.conf`:

```
C:\suri25\Telematica\SURICATO\apache\conf
```

* Os serviços para o uso do software são criados automaticamente.
* Altere os parâmetros conforme o servidor onde o SURICATO será instalado.
* Caso os serviços não tenham sido criados automaticamente, faça o seguinte:
  * Modifique manualmente o arquivo de inicialização do PHP
  * Ajuste os parâmetros do `httpd.conf` para execução correta do `httpd.exe`
* Esses arquivos contêm:
  * Dados do servidor de aplicação
  * Caminhos das bibliotecas `.dll`
  * Configuração do diretório do sistema
    {% endstep %}

{% step %}

### Configurando o HTTPD.CONF

Utilize o arquivo `httpd.conf` como base, onde a linha que se encontra com #, é usada como comentário do programa PHP.

* Identifique linhas comentadas com `#`
* Remova o `#` para ativar a configuração

Exemplo:

```
ServerName : 192.168.0.44
DocumentRoot "C:\Program Files\SuriOra\Telematica\SURICATO"
```

{% hint style="warning" %}
**Observação:** O caso abaixo já foi modificado para poder executar as tarefas de criação de Serviço.
{% endhint %}

<figure><img src="/files/xU4zbZ85g9tNLZTtS84b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Configurando o HTTPD-SSL.CONF

Outro item que deve ser alterado, é o `httpd-ssl.conf` seguindo o caminho do arquivo:

```
C:\Program Files\SuriOra\Telematica\SURICATO\apache\conf\extra
```

* Caso a instalação automática falhe:
  * Ajuste manualmente os parâmetros do arquivo `httpd-ssl.conf`

Repita a mesma lógica do arquivo anterior:

* Remova o `#` das linhas necessárias
* Configure o IP fixo do servidor

*Exemplo:*

```
# linha comentada → não executa
linha ativa → executa normalmente
```

{% endstep %}
{% endstepper %}

## Se o Apache NÃO iniciar (Erro de Inicialização)

Como validar possíveis causas do serviço Telemática SURICATO não iniciar:

{% stepper %}
{% step %}

### Habilitando log de erros

Acesse:  `C:\Program Files\Telematica\SURICATO\apache\php-5.2.11`

* Abra o arquivo `php.ini`
* Altere os parâmetros para:

```
display_errors = On
display_startup_errors = On
log_errors = On
```

Acesse também:  `C:\Program Files\Telematica\SURICATO\apache\conf\extra`

* Remova o `#` dos parâmetros abaixo (se existir):

```
SSLSessionCache "shmcb:C:\Program Files\Telematica\SURICATO\apache\logs\ssl_scache(512000)"
ErrorLog "C:\Program Files\Telematica\SURICATO\apache\logs\error.log"
TransferLog "C:\Program Files\Telematica\SURICATO\apache\logs\access.log"
```

{% endstep %}

{% step %}

### Identificando o erro

Para identificar possíveis causas de erro, execute o Apache manualmente:

1. Abra o Prompt de Comando (MS-DOS)
2. Acesse a pasta:

   ```
   apache\bin
   ```
3. Execute:

   ```
   httpd.exe
   ```

* Observe as mensagens exibidas na tela
* Utilize essas informações para identificar a causa do erro

<figure><img src="/files/56QVFK9PWvJciR1u30Ft" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Corrigindo erro de carregamento de módulos PHP

Se aparecer erro indicando falha ao carregar módulos PHP:

* Isso geralmente acontece quando houve migração da pasta **Telematica**

Faça o seguinte:

1. Acesse:

   ```
   apache/conf
   ```
2. Abra o arquivo `httpd.conf`
3. Vá até a linha indicada no erro
4. Corrija os caminhos das pastas do Apache

<figure><img src="/files/fxExj09bzSTJLsHjDnD8" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Validando a correção

Após corrigir, volte ao Prompt

1. Execute novamente:

   ```
   httpd.exe
   ```
2. Se aparecer outro erro:
   * Repita o mesmo processo
   * Corrija a nova linha indicada

Continue até não haver mais erros
{% endstep %}
{% endstepper %}

## FAQ – Perguntas Frequentes

<details>

<summary>O Apache não inicia, o que fazer primeiro?</summary>

Execute o `httpd.exe` no prompt para visualizar o erro real.

</details>

<details>

<summary>Para que serve o símbolo <code>#</code> nos arquivos?</summary>

Ele comenta a linha. Remova-o para que a configuração seja executada.

</details>

<details>

<summary>Preciso configurar o IP do servidor?</summary>

Sim. Utilize sempre um IP fixo no parâmetro `ServerName`.

</details>

<details>

<summary>Onde vejo os erros do Apache?</summary>

Nos arquivos:

* `error.log`
* `access.log`

</details>

<details>

<summary>O erro fala sobre módulos PHP, o que significa?</summary>

Significa que os caminhos do Apache estão incorretos, geralmente após migração de pasta.

</details>

<details>

<summary>Preciso alterar os dois arquivos (<code>httpd.conf</code> e <code>httpd-ssl.conf</code>)?</summary>

Sim. Ambos devem estar corretamente configurados.

</details>

<details>

<summary>Quando sei que o problema foi resolvido?</summary>

Quando o `httpd.exe` executar sem apresentar erros no prompt.

</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/instalacao-e-atualizacao-do-apache/inicializacao-do-apache.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.
