Esta documentação irá informar os passos necessários para a instalação do PHP 8.1, Apache 2.4 e Scriptcase de forma manual em ambientes Windows. Realizando este tipo de instalação, você é responsável por configurar todo o seu ambiente, bem como as extensões de bancos de dados.

> Veja como instalar o Scriptcase com o PHP 7.0 ou 7.3 no Windows.
>
> - [Instalando o Scriptcase com PHP 7.0 no Windows](https://help.scriptcase.net/portal/pt/kb/articles/instalando-php-7-0-windows-7-7-2020)
> - [Instalando o Scriptcase com PHP 7.3 no Windows](https://help.scriptcase.net/portal/pt/kb/articles/instalando-php-7-3-no-windows)

Abaixo estão listados os sistemas operacionais compatíveis, bem como as bibliotecas que são necessárias para o funcionamento em um determinado sistema.

### Tabela de Compatibilidade

O Scriptcase é compatível com as seguintes versões do Windows.

| Windows | Windows Server |
| --- | --- |
| Windows 11 | Windows Server 2022 |
| Windows 10 | Windows Server 2019 |
| Windows 8.1 | Windows Server 2016 |
| Windows 8 | Windows Server 2012 R2 |
| Windows Vista SP2 | Windows Server 2012 |
| Windows 7 SP1 | Windows server 2008 R2 SP1 |
|  | Windows server 2008 SP2 |

> Caso esteja utilizando o Windows 7 SP1 verifique se as seguintes bibliotecas estão instaladas: Visual C ++ Redistributable Packages for Visual Studio (2010, 2012, 2013, 2015 e 2017) x86 e x64.

## Pré-requisitos

> Se você já possui um Servidor Web com Apache e PHP 8.1 configurados, basta seguir para como [Habilitar o SourceGuardia Loader](https://www.scriptcase.com.br/docs/pt_br/v9/manual/02-instalacao-scriptcase/05-windows_php/#id-05) e prosseguir para a instalação manual.

Para proceder com a instalação, você precisa realizar o download de alguns arquivos.

Verifique abaixo os arquivos que serão necessários:

- PHP 8.1 NTS (x86 ou x64): [Clique Aqui](https://windows.php.net/downloads/releases/)
- Apache 2.4 (x86 ou x64): [Clique Aqui](https://www.apachelounge.com/download/)
- mod\_Fcgi (x86 ou x64): [Clique Aqui](https://www.apachelounge.com/download/)
- SourceGuardian Loader 13.0.3 para Windows (x86 ou x64): [Clique Aqui](https://www.sourceguardian.com/loaders.html)
- Scriptcase (.zip): [Clique Aqui](https://downloads.scriptcase.net/v9/packs/scriptcase-9.13.013-pt_br-php8.1.zip)

> Antes de proceder com a instalação recomendamos não ter quaisquer outros ambientes web (como WampServer, XAMPP, Zend Server, etc.) instalados no sistema operacional.

Veja abaixo as operações necessárias após o download dos itens especificados acima:

1 - Descompacte os arquivos referentes ao PHP e Apache em pastas separadas na unidade C: de seu sistema operacional.

2 - Renomeie a pasta do PHP para php. O resultado deve ser este:

![Diretório Apache e PHP](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/apache_php_folder.png)

3 - Descomprima o arquivo referente ao mod\_Fcgi. Copie o arquivo mod\_fcgid.so para a pasta `C:\Apache24\modules`.

![Mod_fcgi no diretório](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/mod_fcgi_folder.png)

## Configure o ambiente do Apache

Serão listados abaixo os passos necessários para a configuração do apache de forma manual. Siga o passo a passo para evitar problemas na instalação e inicialização do serviço.

> Como as pastas do PHP e Apache estão no mesmo nível de diretório (C:), não é necessário informar a pasta raiz nas diretívas que necessitam de que sejam informados caminhos isolados ou que apontem para um arquivo em específico.

1 - Edite o arquivo httpd.conf localizado na pasta `C:\Apache24\conf\` utilizando um editor de texto em modo de Administrador para que as modificações realizadas sejam salvas.

![Arquivo httpd.conf](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/httpd_file.png)

2 - Adicione o conteúdo abaixo após a linha `#LoadModule xml2enc_module modules/mod_xml2enc.so`:

```
LoadModule fcgid_module modules/mod_fcgid.so  
FcgidInitialEnv PHPRC "/php"  
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS "100000"  
FcgidIOTimeout 1800  
FcgidBusyTimeout 1800  
FcgidConnectTimeout 1800  
FcgidMaxRequestLen 1073741824  
FcgidMaxRequestsPerProcess 10000  
FcgidOutputBufferSize 4000  
FcgidProcessLifeTime 3600  
Timeout 1024  
KeepAlive On  
KeepAliveTimeout 50  
MaxKeepAliveRequests 500  
AddHandler fcgid-script .php  
FcgidWrapper "/php/php-cgi.exe" .php
```

Exemplo:

![Configuração httpd php fcgi](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/fcgimod_httpd.png)

> Esta configuração só funcionará se você tiver copiado o arquivo mod\_fcgid.so para a pasta `C:\Apache24\modules` como instruído [anteriormente](https://www.scriptcase.com.br/docs/pt_br/v9/manual/02-instalacao-scriptcase/05-windows_php/#id-01).

3 - Procure por `#ServerName www.example.com:80` e altere esta linha para `ServerName localhost:80`.

> Neste tutorial o apache está configurado com a porta 80. Para definir uma outra porta é necessário alterar o valor informado no ServerName, por exemplo (localhost:8092). Além disso, será necessário alterar o `Listen`, por exemplo (Listen 8092). Antes de alterar você deve se certificar que a porta não está sendo utilizada por outro serviço

4 - Altere o conteúdo da diretiva `DirectoryIndex` adicionando os seguintes conteúdos na linha da diretiva: `index.php index.phtml`.

```
    DirectoryIndex index.html index.php index.phtml
```

Exemplo:

![Configuração dos arquivos index a serem aceitos](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/dir_index.png)

5 - Configure a variável ${SRVROOT} com o caminho da sua pasta do Apache:

Procure pela linha Define SRVROOT e edite da seguinte forma:

`Define SRVROOT "/Apache24"`

6 - Adicione o comando `Options ExecCGI` abaixo da linha Require all granted na diretiva .

```
    #  
    Require all granted  
	Options ExecCGI
```

Exemplo:

![Configuração httpd fcgi](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/optionscgi_httpd.png)

7 - Procure pela diretiva  e adicione o conteúdo abaixo acima desta diretiva:

```
 "/php">  
    #  
    AllowOverride None  
    Options None  
    Require all granted  
    #
```

Exemplo:

![Configuração httpd diretório PHP](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/phpdir_httpd.png)

Após realizar todos estes procedimentos, salve o arquivo `httpd.conf` para prosseguir para a instalação e inicialização do Apache e configuração do PHP.

## Instale e inicie o Apache

Agora que você configurou o seu apache, basta apenas que você instale e inicie o serviço.

Siga o passo a passo para a conclusão do processo.

1 - Execute o prompt de comando(CMD) com privilégios de Administrador:

Pesquise por CMD e clique com o botão direito do mouse para exibir o menu de contexto. Clique em Executar como Administrador.

![Acessando o CMD](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/cmd_admin.png)

2 - Navegue até a pasta `bin` do apache para instalar o executável httpd.exe:

Exemplo: `cd C:\Apache24\bin\`

3 - Instale o Apache com o comando abaixo:

Exemplo `httpd.exe -k install`

Aguarde pela mensagem “The ‘Apache2.4’ service is successfully installed.” para prosseguir.

4 - Inicie o serviço do Apache e verifique o funcionamento do mesmo.

Após a confirmação da instalação, ainda no diretório `bin`, utilze o comando `httpd.exe -k start`para iniciar o serviço do Apache.

![Iniciando o Apache](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/httpd_start.png)

5 - Conceda permissão de execução do Apache no seu Firewall:

Selecione as duas opções disponíveis para conceder permissão para que o Apache funcione corretamente.

![Instalação do Apache 2.4](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/apache_install_cmd.png)

6 - Verifique o funcionamento do Apache.

Para verificar que o serviço está ativo, basta acessar a página de teste do Apache em seu navegador.

Você pode fazer de duas formas:

`127.0.0.1` ou `localhost`

> Ao utilizar a porta 80 não é necessário informá-la para acessar o serviço do apache. Caso tenha definido uma porta diferênte no Listen, a porta deve ser informada. Exemplo: 127.0.0.1:8093

![Apache ativo](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/httpd_on.png)

## Configure o PHP 8.1

Com o Apache ativo e funcional, agora você só precisará definir e configurar o arquivo .ini do PHP para que as extensões do banco de dados e bibliotecas fiquem disponíveis para uso do Scriptcase.

1 - Acesse a pasta do PHP em `C:\` e renomeie o arquivo php.ini-development para php.ini.

![Php.ini](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/ini_file.png)

2 - Acesse o arquivo php.ini com um editor de texto com privilégios administrativos e procure pela diretiva `;extension_dir = "ext"`.

Atribua o valor “C:\php\ext” para esta diretiva e remova o ;.

`extension_dir = "C:\php\ext"`

Exemplo:

![Extensão do PHP](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/ext_dir_php.png)

3 - Ative as extensões listadas abaixo descomentando-as. Para isso remova o ponto e vírgula `;` no início da linha.

Extensões padrão:

- `extension=bz2`
- `extension=curl`
- `extension=gd2`
- `extension=gettext`
- `extension=imap`
- `extension=ldap`
- `extension=fileinfo`
- `extension=mbstring`
- `extension=openssl`
- `extension=exif`
- `extension=xsl`
- `extension=soap`

Extensões de banco de dados:

| Extensão | Driver habilitado no Scriptcase |
| --- | --- |
| `extension=mysqli` | MySQLi |
| `extension=odbc` | DB2 ODBC GENERIC, DB2 ODBC GENERIC 6, Generic ODBC, MS Access ODBC, MS SQL Server ODBC, Oracle ODBC, Progress |
| `extension=pdo_mysql` | MySQL PDO |
| `extension=pdo_odbc` | DB2 PDO ODBC, Progress PDO ODBC |
| `extension=pdo_pgsql` | PostgreSQL PDO |
| `extension=pdo_sqlite` | SQLite PDO |
| `extension=pgsql` | PostgreSQL 6.3 ou abaixo, PostgreSQL 6.4 ou acima, PostgreSQL 7 ou Acima |

> Algumas extensões de banco de dados irão depender de Drivers de terceiros para que sejam habilitadas. Clique [aqui](https://www.scriptcase.com.br/docs/pt_br/v9/manual/05-conexoes-scriptcase/01-visao-geral-db) para acessar as instruções de configuração do seu banco de dados desejado.

4 - Defina corretamente o valor mínimo recomendado destas diretivas do PHP listadas abaixo para que o Scriptcase funcione corretamente. Procure pelas diretivas e atribua o valor de acordo com este exemplo:

- `max_execution_time = 3600`
- `max_input_time = 3600`
- `max_input_vars = 10000`
- `memory_limit = 1024M`
- `post_max_size = 1024M`
- `upload_max_filesize = 1024M`
- `max_file_uploads = 200`
- `short_open_tag = On`

> Por padrão o PHP pode desabilitar algumas funções que são importantes para o funcionamento correto Scriptcase. Procure pela diretiva disable\_functions e verifique se ela está conforme exemplo: `disable_functions=`. Clique [aqui](https://help.scriptcase.net/portal/pt/kb/articles/funcoes-php-necessarias-para-o-scriptcase) para ter acesso a lista destas funções.

5 - Configure o TimeZone do PHP de acordo com sua região. Deve-se utilizar o valor disponível na [documentação](https://php.net/manual/pt_BR/timezones.php) do PHP. Procure pela linha date.timezone descomente-a e edite de acordo com o TimeZone selecionado:

`date.timezone = America/Recife`

Exemplo:

![TimeZone do PHP](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/timzone_php.png)

6 - Configure a pasta em que serão armazenados os arquivos temporários. Procure pela linha `;session.save_path`, decomente-a e informe o caminho até a sua pasta temporária.

`session.save_path = "C:\Windows\Temp"`

Exemplo:

![Pasta de arquivos de sessão](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/session_php.png)

7 - Salve todas as alterações realizadas no arquivo `php.ini`.

8 - Reinicie o serviço do Apache utilizando no prompt de comando (CMD) com privilégios de Administrador o seguinte comando:

`C:\Apache24\bin\httpd.exe -k restart`

![Reiniciando Apache](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/restart_httpd.png)

9 - Verfique as alterações realizadas através do arquivo info.php. Você precisa criar este arquivo e colocar no diretório `C:\Apache24\htdocs`com o seguinte conteúdo:

```
php</span  
    phpinfo();  
?>
```

Após isto, verifique no seu navegador a página gerada acessando a URL `127.0.0.1/info.php`.

![Verificar PHP](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/check_php.png)

> Para mais informações sobre a função phpinfo(), verifique a [documentação](https://www.php.net/manual/pt_BR/function.phpinfo.php) do PHP.

## Habilitar o SourceGuardia Loader

Antes de dar início a instalação do Scriptcase, você precisa habilitar o loader responsável pela criptografia. Siga os passos abaixo para realizar esta ação com sucesso.

1 - Extraia os arquivos do SourceGuardian Loader que foi baixado anteriormente.

> Caso ainda não tenha feito o download [clique aqui](https://www.sourceguardian.com/loaders.html) e baixe o arquivo de acordo com a arquitetura utilizada.

2 - Copie o arquivo ixed.8.1.win e cole no diretório de extensões do PHP `C:\php\ext`.

![Colando arquivo do Loader](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/loader_file.png)

3 - Acesse o diretório `C:\php` e aba o arquivo php.ini em um editor de texto. Após a ultima linha do arquivo adicione o seguinte conteúdo:

`[SourceGuardian] zend_extension=C:\php\ext\ixed.8.1.win`

Exemplo:

![Adicionando extensão do Loader no php.ini](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/loader_ext.png)

4 - Reinicie o serviço do Apache utilizando no prompt de comando (CMD) com privilégios de Administrador com o seguinte comando:

`C:\Apache24\bin\httpd.exe -k restart`

![Reiniciando Apache](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/restart_httpd.png)

## Instalação manual do Scriptcase

> Este tutorial de instalação leva em consideração as configurações realizadas anteriormente, para a configuração do Servidor Web e PHP.

Para prosseguir, iremos utilizar o arquivo .zip do Scriptcase, como informado no início do artigo na etapa de Pré-requisitos. Caso não possua o arquivo [acesse nosso site](https://www.scriptcase.com.br/download/#sc-zips) para baixá-lo.

![Página de Download do site](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/zip_download.png)

Siga os passos abaixo.

1 - Mova o arquivo .zip para a raiz do seu servidor web.

Seguindo nosso tutorial desde o início, a raiz do seu servidor deve está localizada em: `C:\Apache24\htdocs\`

###### Exemplos da configuração padrão dos servidores no Windows

| Servidor | Path | | :——- | :—————— | | Apache | `C:\Apache24\htdocs\` | | IIS | `C:\inetpub\wwwroot\` |

2 - Clique com o botão direito no arquivo e selecione a opção Extair tudo.

> Isso pode demorar um pouco.

![Página de Download do site](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/extrair_tudo.png)

3 - Em seguida, defina o local onde o arquivo será descompactado. Informe o diretório raiz do servidor, como na imagem abaixo.

![Página de Download do site](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/extrair_tudo_dir.png)

4 - Aguarde finalizar o processo e renomei a pasta para o nome de sua preferência. Neste tutorial iremos utilizar scriptcase.

![Página de Download do site](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/windows/renomar_arquivo_sc.png)

> A pasta do Scriptcase(antes scriptcase-9.8.004-pt\_br-php8.1) deve está na raiz do seu servidor web.

5 - Acese o scriptcase no navegador de sua preferência.

Exemplo de acesso em uma instalação local

- 127.0.0.1/scriptcase

6 - Selecione o idioma de sua preferência para o instalador.

> Esta configuração serve para definir o idioma do instalador.

![Tela inicial da instalação](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/tela_inicial.png)

7 - Verifique as extensões necessárias para o funcionamento do Scriptcase e módulos de conexão ao banco de dados que estão habilitados.

![Tela com a lista de extensões ativas](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/tela_extensoes_php.png)

8 - Neste etapa devemos selecionar o tipo de instalação que será realizada.

![Tipo de instalação](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/tela_tipo_instalacao.png)

#### Instalação Típica

Neste tipo de instalação tudo será configurado automaticamente. O Scriptcase será instalado utilizando o SQLite, que será armazenado por padrão no diretório `..\scriptcase\devel\conf\scriptcase\`, e um usuário padrão com privilégio de administrador.

#### Instalação Customizada

Nessa instalação é possível configurar o banco de dados onde o Scriptcase será instalado e o usuário e senha padrão de acesso.

> Os proximos passos são referêntes a Instalação Customizada. [Clique aqui](https://www.scriptcase.com.br/docs/pt_br/v9/manual/02-instalacao-scriptcase/05-windows_php/#id-08) para pular os passos e seguir para a Instalação Típica.

### Instalação Customizada

9 - Nesta etapa da instalação será verificada a permissão de escrita nos diretórios utilizados pelo Scriptcase. Caso algum diretório listado não possuir o ícone de verificação ativo ![ativo_icon](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/ativo_icon.png), será necessário ajustar a permissão de escrita do diretório.

![Tela de exibição dos diretórios do sistema](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/windows/tela_avancada_diretorios_win.png)

Clique em Prosseguir para avançar no processo de instalação.

10 - Nesta passo será configurado o banco de dados utilizado para a instalação do Scriptcase. O SQLite é utilizado por padrão, para selecionar outro SGBD clique em Alterar Banco de dados.

> Caso opte por utilizar o SQLite como o banco de dados da sua instalação, clique em Prosseguir e [avançe para o item 12](https://www.scriptcase.com.br/docs/pt_br/v9/manual/02-instalacao-scriptcase/05-windows_php/#id-anc-12) do tutorial.

![Tela de escolha do banco de dados da instalação](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/tela_avancada_banco.png)

11 - Nesta etapa devemos configurar a conexão com o banco de dados.

> O usuário informado deve ter permissão para criação de tabelas, já que no final desta etapa as tabelas do Scriptcase serão criadas na base de dados indicada. Recomendamos a utilização de uma base de dados sem tabelas, exclusiva para o Scriptcase.

![Alteração do banco de dados padrão](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/alterar_base.png)

##### SGBD

Selecione o banco de dados e o driver que será utilizado.

![Selecione o SGBD e o respectivo driver](https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/docs/install/manual_sc/select_sgbd.png)

##### Servidor

Informe o IP ou domínio do servidor onde o banco de dados está instalado e a porta para a conexão.

Exemplo: `92.204.163.43:5432`

##### Usuário

Informe o usuário para a conexão com seu banco de dados.

> Lembrando que o usuário informado deve possuir permissão para criação de tabelas na base de dados selecionada.

##### Senha

Informe a senha de autenticação correspondente ao usuário informado.

##### Banco

Informe o nome de uma base de dados existente em seu banco, para que a conexão seja realizada corretamente..

---

*Conteúdo truncado na migração (limite do Chatwoot: 20.000 caracteres).*