Skip to content

Instantly share code, notes, and snippets.

@Camilotk
Last active June 3, 2021 01:28
Show Gist options
  • Select an option

  • Save Camilotk/488a4f0aa4747e1dbf50d49a762bf9ef to your computer and use it in GitHub Desktop.

Select an option

Save Camilotk/488a4f0aa4747e1dbf50d49a762bf9ef to your computer and use it in GitHub Desktop.

Como configurar Windows + Apache + MariaDB + PHP [+ Composer +VHosts +CURL]

Sumário

Apache pt. 1

OBS

O Apache pode ser instalado fazendo a build de seu código-fonte o que permite melhor performance graças ao compilador conseguir fazer optimização de binário para o hardware da máquina, as intruções de como fazer isso no Windows e o código fonte estão na página oficial do projeto. Para fins didáticos e de simplicidade vamos baixar e utilizar uma build pronta.

Para nossa instalação vamos utilizar os binários hospedados pelo Apache Lounge que é um projeto que disponibiliza os binários para Windows. Aqui vamos baixar o arquivo para nossa versão do OS: x86 ou x64.

OBS

Caso não saiba se seu sistema é x64 rode no Powershell o comando: [Environment]::Is64BitOperatingSystem caso o retorno seja true ele é x64, caso contrário ele é x86.

Para que tudo funcione corretamente, vamos precisar do compilador de C++ do Windows para nosso tipo de OS (x86 ou x64) instalado no nosso Computador, caso ele não esteja instalado quando tentarmos subir nosso servidor receberemos o erro dizendo que a "VC_Runtime_140.dll" está faltando. Caso não tenha esse programa de runtime do C++ intalado instale-o antes de prosseguir com a instalação do Apache.

Após concluido o download do Apache vamos extrair os arquivos do zip baixado, dentro dessa pasta vai ter um aquivo ReadMe.txt, outro sem extensão e a pasta ApacheXX (XX = Versão, atual 2.4). Vamos mover a pasta ApacheXX para nosso Disco C:/ (ou qualquer outro de preferência).

Antes de subir nosso servidor devemos nos certificar que a nossa porta 80 não está em uso vamos usar: netstat -an | findstr 0.0.0.0:80 caso o resultado não nos retorne nada podemos prosseguir.

Agora que movemos nossa pasta ApacheXX para o nosso disco C:\ vamos abrir em algum editor de texto de preferência o arquivo C:\ApacheXX\conf\httpd.conf aqui vamos fazer algumas alterações:

  1. Vamos encontrar a string "Define SRVROOT" que por padrão deve estar assim Define SRVROOT "c:/ApacheXX" este caminho deve estar apontando exatamente para onde sua pasta Apache raiz está. Se você deixou ela no C:\ isso vai estar correto.
  2. Vamos procurar por "Listen" que por padrão vai estar como Listen 80 aqui é definido a porta que o Apache vai usar para servir o conteúdo, caso sua porta 80 esteja indisponível ou queira usar outra isso tem que ser definido aqui.
  3. Vamos procurar a palavra "ServerName" que por padrão deve estar #ServerName www.example.com:80 vamos decomentá-la retirando '#' e vamos mudar para ServerName localhost:80

Agora vamos instalar o Apache, para isso acesse seu Powershell como adm e coloque os seguintes comandos:

sl c:\Apache24\bin
httpd.exe -k install 

Temos que permitir o acesso, após isso tudo vai estar instalado corretamente.

Agora podemos iniciar o serviço através da GUI ou do Terminal, para iniciar através da GUI basta procurar por "Serviços" no search do Windows, procurar por "Apache" entre os serviços, clicar com o botão direito e em "iniciar". Para fazer esse processo através do terminal como adm podemos usar o comando Get-Service ou seu alias "gsv" assim:

gsv "Apache2.4"  
gsv "Apache2.4" | Start-Service

Agora podemos acessar o endereço localhost no nosso navegador e se aparecer It works! tudo está funcionando corretamente.

PHP

Para baixar o PHP vamos ao site oficial do PHP, na barra lateral direita onde está escrito "Download" vamos selecionar a versão que desejamos instalar. Clicando na versão que desejamos vamos selecionar a versão "Windows downloads". Vamos baixar a versão "Thread Safe" do PHP para nosso Sistema Operacional. Após o Download ser concluído, novamente é um arquivo .zip vamos extraí-lo renomear para "PHP" e mover para C:.

Agora vamos acessar C:\PHP e renomear o arquivo php.ini-development para php.ini e vamos abri-lo então na sequência para fazer as seguintes alterações:

  1. Vamos começar habilitando as extensões do PHP, para isso vamos procurar por ";extension=". Aqui vamos ter inúmeras linhas comentadas, vamos descomentar retirando o caractere ';' no inicio da linha das seguintes extensões:
  • bz
  • curl
  • fileinfo
  • gd
  • mbstring
  • mysqli
  • openssl
  • pdo_mysql
  • soap
  1. Vamos procurar por "date.timezone" e vamos colocar seu valor para date.timezone=America/Sao_Paulo
  2. Vamos procurar por "session.save_path", caso esteja comentado vamos descomentar e vamos mudar seu valor para session.save_path = "C:\Windows\temp"
  3. Vamos procurar por "error_reporting" que é a variável que mostra os erros e vamos desativar os warnings desnecessários deixando o mesmo valor de produção ou seja error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
  4. Vamos procurar por "extension_dir" que é a pasta onde ficam as extensões do PHP e vamos descomentá-la para que o PHP possa encontrar as extensões instaladas, vai ficar extension_dir = "ext".

Adicionando o PHP ap Path

  1. Vamos procurar por "Variáveis" na pesquisa do Windows e abrir "Editar as variáveis do ambiente de sistema".
  2. Vamos clicar no botão "Variáveis de Ambiente..."
  3. Em "Variáveis do sistema" vamos procurar por "Path" seleciuoná-la e clicar em "Editar"
  4. Vamos clicar em "Novo"
  5. Adicionar o caminho "C:\PHP"
  6. Clicar em "Ok" em todas as janelas
  7. Abrir uma nova sessão de terminal e digitar php -v
  8. Devemos ter algo assim:
PHP 8.0.5 (cli) (built: Apr 28 2021 00:30:18) ( ZTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.5, Copyright (c) Zend Technologies

Apache pt. 2

Agora precisamos configurar o Apache para que ele interprete o PHP, para isso vamos novamente abrir nosso arquivo C:\ApacheXX\conf\httpd.conf e vamos:

  1. Procurar por "AddType" e abaixo de:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

vamos adicionar as linhas:

AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
Action application/x-httpd-php "C:\PHP\php-cgi.exe"
  1. Vamos procurar por "#LoadModule rewrite_module modules/mod_rewrite" e descomentá-la retirando o caractere '#' no inicio da linha.
  2. No final das diretivas de LoadModule vamos adicionar uma linha, observe que nesse caso estou usando php8 apache2.4.dll porque no momento estou usando PHP 8 com Apache 2.4, para checar o nome correto dessa dll vc pode procurá-la em C:\PHP e substituir o caminho acbaixo pelo nome correto:

LoadModule php_module "C:\PHP\php8apache2_4.dll"

  1. Agora vamos no final do arquivo e vamos adicionar as seguintes linhas:
PHPIniDir "C:\PHP"
Timeout 240

NameVirtualhost \*:80
  1. Vamos procurar por "DirectoryIndex" e vamos alterar.

de:

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

para:

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

Testando

Para testar vamos

  • Reiniciar nosso servidor Apache para que ele leia as novas confs, em um terminal Powershell como adm dê os comandos:
 gsv "Apache2.4" 
 gsv "Apache2.4" | Stop-Service
 gsv "Apache2.4" | Start-Service
  • Em C:\Apache24\htdocs\ vamos criar um arquivo chamado de index.php seu conteúdo deve ser:
<?php phpinfo();
  • vamos acessar localhost no nosso navegador e devemos estar vendo a página com as informações do PHP instalado na nossa máquina.

MariaDB

Vamos no site oficial do MariaDB e vamos selecionar o pacote MSI correto para nosso OS, x64 ou x86. Após isso vamos abir o instalador.

  • Clicar em Próximo
  • Aceitar a licença e clicar em Próximo
  • Clicar em Póximo
  • Marcar "Use UTF 8 as default character set", entrar com a senha e a confirmação de senha para a conta 'root'.
  • Clicar em Próximo até finalizar a instalação.

Agora vamos adicionar o MariaDB ao Path do Windows:

  1. Vamos procurar por "Variáveis" na pesquisa do Windows e abrir "Editar as variáveis do ambiente de sistema".
  2. Vamos clicar no botão "Variáveis de Ambiente..."
  3. Em "Variáveis do sistema" vamos procurar por "Path" seleciuoná-la e clicar em "Editar"
  4. Vamos clicar em "Novo"
  5. Adicionar o caminho "C:\Program Files\MariaDB XX.X\bin"
  6. Clicar em "Ok" em todas as janelas
  7. Agora vamos inicializar o serviço:
 gsv "MariaDB" 
 gsv "MariaDB" | Start-Service
  1. E para testar os comandos vamos logar como root
mysql -u root -p
password: <senha que configuramos na instalação>

Composer

Agora vamos instalar o Composer. Para isso vamos entrar no Site oficial do Projeto vamos clicar em "Download" e clicar no link que diz "Download and run Composer-Setup.exe" após baixado vamos abrir o .exe e

  • Clicar em Próximo
  • Selecionar o arquivo C:\PHP\php.exe e clicar em Próximo
  • Clicar em próximo, instalar, continuar dando "Próximo" até o final da instalação. No final basta abrir uma nova sessão do Powershell e digitar: composer --version

que deve nos retornar algo como: Composer version 2.0.13 2021-04-27 13:11:08

Virtual Hosts

Para criar um virtual host vamos adicionar as seguintes linhas no final do nosso arquivo httpd.conf:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "${SRVROOT}/htdocs"
    <Directory "${SRVROOT}/htdocs">
       AllowOverride All
    </Directory>
</VirtualHost>

<VirtualHost *:80>
	ServerName eadfacil.test
	ServerAlias eadfacil.test
	DocumentRoot "C:/Apache24/htdocs/ead-facil/public"
	<Directory "C:/Apache24/htdocs/ead-facil/public">
		Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
	</Directory>
</VirtualHost>

E então editar nosso arquivo C:\Windows\System32\drivers\etc\hosts adicionando a linha:

127.0.0.1       nomedoprojeto.test

Vamos reiniciar nosso servidor Apache:

 gsv "Apache2.4" 
 gsv "Apache2.4" | Stop-Service
 gsv "Apache2.4" | Start-Service

Vamos acessar nomedoprojeto.test e vamos poder ver nosso projeto rodando lá.

Adicionando os certificados de CURL

  1. Baixe e extraia cacert.pem nesse link.
  2. Coloque ele na seguinte pasta: C:\PHP\extras\ssl\cacert.pem
  3. No seu php.ini vamos procurar por ";curl.cainfo" vamos decomentar a linha removendo o ';' e mudar para:
curl.cainfo = "C:\PHP\extras\ssl\cacert.pem"
  1. Abra o terminal como adm e reinicie o Apache.
 gsv "Apache2.4" 
 gsv "Apache2.4" | Stop-Service
 gsv "Apache2.4" | Start-Service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment