NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosServidores : Iis6003
Quer receber novidades e e-books gratuitos?

IIS 6.0 – Instalação, Administração e Configuração

Parte 3 – Instalação e Configuração do PHP (v.5.0.4)

 

Objetivos

 

Unir o PHP com o IIS 6.0 representa unir uma das melhores linguagens de programação Web com um dos melhores Web Server disponíveis no mercado.

 

Ao utilizar o IIS 6.0 com o PHP ainda há um grande benefício.  Poder desenvolver sites e sistemas em PHP e ASP, permitindo oferecer ao seu cliente a vantagem da escolha de qual plataforma lhe é mais interessante.  E sem precisar mudar de Web Server.

 

Não é o escopo deste artigo entrarmos em detalhes muito profundos sobre PHP.  Provavelmente você precisará lançar mão de configurações adicionais para que algumas características avançadas do PHP funcione em seu site.  O que apresentaremos aqui é o estritamente necessário para a configuração correta da linguagem PHP para o IIS 6.0.

 

Vamos apresentar uma mescla dos dois processos de instalação e configuração do PHP no IIS 6.0.  O processo de instalação através do Windows Installer, distribuído pela comunidade oficial do PHP (http://www.php.net/downloads.php), suas facilidades e limitações e o processo manual que exige alguns passos adicionais de configuração.

 

Introdução

 

Talvez pelo fato de haver uma espécie de  ‘Guerra Santa” entre os defensores do Software Livre versus Microsoft (leia-se software proprietário), discussões, artigos e outras fontes sobre utilização do PHP com o IIS são um pouco escassos na Internet.  A maioria dos procedimentos que encontramos estão ligados ao Web Server natural do PHP, o Apache e ao PWS para Windows 98, dentre outros.  Consegue-se até achar alguma coisa mas sempre muito básico.  Talvez eu não tenha procurado o suficiente, mas o fato é que encontrei muita informação desencontrada.  Alguns tutoriais indicam uma série de configurações extras como permissões em pastas, diretivas em arquivos, etc.  Outros dizem que o básico do básico funciona (e não funciona!), e outros se aprofundam tanto em detalhes que a gente acaba se perdendo e quando o site chega a funcionar não sabemos ao certo o que fizemos pra dar certo.  Este tutorial está sendo escrito sobre um procedimento testado e funcionando em nosso web Server e descreve os passos essenciais para uma instalação bem-sucedida e funcional do PHP sobre IIS 6.0.

 

Muitos desenvolvedores em PHP provavelmente nunca precisarão entender detalhes para instalação do PHP já que a maioria das distribuições Linux inclui um web Server Apache pré-configurado com o PHP pré-definido.  A responsabilidade sobre o servidor é do administrador de redes; a responsabilidade sobre o banco de dados é do DBA e a responsabilidade sobre a linguagem de desenvolvimento é do desenvolvedor.  Assim, àqueles que desenvolvem sobre a plataforma Windows e àqueles que têm a missão de administrar servidores, desenvolvemos este tutorial a quem esperamos  ser de grande auxílio.

 

É importante ressaltar também que, ao escrevermos este tutorial, não estamos querendo tomar o partido de nenhum dos mundos (Microsoft ou OpenSource/Software Livre), simplesmente queremos transmitir o pouco que aprendemos de ambos e consideramos como uma das melhores união.  Tão importante quanto, é a necessidade dos profissionais que atuam no mercado Web perceberem que existe um ‘lugar ao sol’ para todos e, como profissionais, precisamos aprender a valorizar o que existe de bom em todos os fornecedores e nos aproveitarmos disso.

 

Mais friamente analisando, é preciso entender que o Capitalismo - definido como o acúmulo de riquezas (grandes ou não), através do esforço do trabalho - não tem coração.  Ou seja, brigas apaixonadas por um ou outro mundo só nos torna limitados, sem visão de futuro e portanto, improdutivos pro País e pra nós mesmos.

 

Mas voltando ao que realmente interessa, integrar o PHP com o IIS pode significar a diferença entre estagnar no mercado e prosperar, visto que o parque instalado de Servidores Windows com intranets em IIS está longe, muito longe de ser insignificante ou decadente.

 

Por outro lado, a utilização do PHP pode se traduzir em redução significativa de custos para o cliente e aumento significativo do valor agregado para o seu produto.

 

Alguns Detalhes Necessários sobre o PHP

 

Apesar do Instalador automático para Windows (Windows Installer), ser um caminho fácil para colocar o PHP para funcionar, ele é bastante restrito.  Por exemplo, ele não instala automaticamente as extensões do PHP, que são as bibliotecas de funções como php_pdf.dll e php_zip.dll que são as bibliotecas para criação de arquivos padrão PDF e compactados respectivamente.  Inclusive, a própria comunidade PHP (http://www.php.net) não aconselha esse método de instalação como o preferido seja por ser incompleto, seja por questões de segurança.

 

Esteja atento às questões de segurança do PHP se resolver utilizar o instalador automático.  Para uma configuração segura do PHP, é indicado que ela seja feita manualmente, configurando cada opção cuidadosamente.  O Windows Installer acelera o processo de instalação do PHP mas não é indicado para ser usado em servidores on-line.  Ele foi utilizado aqui com o intuito de agilizar alguns processos da instalação que serão revistos e implementados pelo processo manual.

 

Comentários feitos sobre as declarações inseridas no INSTALL.TXT do PHP 5.0.4.  O arquivo vem anexado aos arquivos de instalação do PHP compactados em php-5.0.4-Win32.zip.

 

Processo de Instalação Automático (Windows Installer)

 

Como todo processo ‘NNF’, não existe muitos detalhes a destacar.  O mais significativo é a diferença entre a instalação Standard e Advanced.

 

Na instalação Advanced, aparecem questões de criação de pastas necessárias ao PHP para que você possa direcionar as pastas para onde desejar.

 

As telas abaixo demonstram os passos principais do processo de instalação Advanced da versão 5.0.4 do PHP

 

 

 

Selecione a pasta onde deseja instalar o PHP.  Para o nosso tutorial, selecionamos a pasta D:\PHP

 

 

 

 

Nestes passos você deve decidir se quer criar backups (se houver a necessidade, em caso de upgrades, de se realizar rollbacks) e selecionar o local para as pastas de backup e de uploads temporários.

 

 

Aqui você seleciona o caminho para a pasta de arquivos de sessão.

 

Neste passo você tem a oportunidade de selecionar o servidor web no qual você vai instalar o PHP.  As opções são:

  • Microsoft Personal Web Server (PWS), para Windows 9x;
  • Microsoft Personal Web Server (PWS), para Windows NT Workstation (4.0);
  • IIS, nas versões 3.0, 4.0 ou 6.0;
  • Apache;
  • Xitami;
  • Escolher configurar o web Server manualmente.

Vamos, logicamente, selecionar  IIS 6.0 ou superior.

 

 

 

Aqui você deve inserir o nome do seu servidor SMTP e o e-mail padrão de destino dos e-mails gerados pelos seus sites.

 

Esses dados serão inseridos no arquivo de diretivas do PHP, o php.ini, criado em %SystemRoot%.

 

Apesar de óbvio, é importante salientar que o servidor SMTP precisa ter permissão de envio de e-mails para a Internet.  Às vezes nos esquecemos disso e colocamos o servidor SMTP de nossa intranet e esquecemos que ele pode estar bloqueado para envio de e-mails para a Internet, seja por políticas de firewall, seja por estarmos utilizando conexões de banda larga que bloqueiam a porta 25.

 

 

Este passo também diz respeito às configurações em php.ini.

 

Aqui você determina o nível de relatórios de erros que você deseja que o PHP apresente em seu site.

 

Para o ambiente de produção, existem vários níveis de configuração descritos no próprio php.ini – geralmente utilizamos a opção para apresentar somente erros considerados críticos.  Porém em ambiente de desenvolvimento, é interessante selecionar a primeira opção deste passo.  Se você precisar de mais detalhes, estude atentamente o arquivo php.ini.

 

Esta opção é praticamente obsoleta.  Existe somente por questões de flexibilidade em relação às versões anteriores do PHP.

 

Esta diretiva será aplicada nas configurações do site padrão (Default Web Site), que poderá ser excluído posteriormente se necessário.

 

Ela será utilizada para dizer ao IIS qual componente ele deverá utilizar para interpretar códigos PHP.

 

 

 

Caso você esteja fazendo um upgrade de versão ou uma reinstalação, esta caixa de diálogo lhe será apresentada.

 

É uma sugestão de boa prática, responder ‘Yes’ a ela.

 

 

Completando o processo, esta tela do Prompt de Comando será apresentada indicando que alguns scripts de configuração estão rodando para finalizar a instalação.

 

 

Para ajustar esta diretiva, abra o php.ini com o notepad, aperte a tecla F3 e procure pela seção [Paths and Directories].  Verifique se a diretiva cgi.force_redirect está configurado como “= 0”.

 

Esta configuração é necessária para o bom funcionamento do PHP com o IIS.

 

Se tudo correr bem, você deverá receber esta mensagem ao final da configuração.

 

 

A partir deste momento você já está em condição de utilizar a linguagem PHP para escrever as páginas do seu site da intranet, porém poderá utilizar somente os comandos básicos do PHP.  O que, convenhamos, não acrescenta muito.  Precisamos seguir mais alguns procedimentos para podermos dizer que finalmente o IIS está configurado para utilizar todo o poder dessa linguagem.

 

 

Mais um detalhe importante.  O usuário IUSR_nome-do-servidor (no caso do nosso exemplo é IUSR_LYNX), deverá ter direitos de leitura ao arquivo php.ini, dentro de %SystemRoot%.

 

Uma alternativa menos ortodoxa mas mais segura, seria mover o arquivo php.ini para uma outra pasta (a pasta do próprio php é uma alternativa interessante) e configurar as permissões necessárias ao usuário IUSR_XXXX. Isto evita qualquer alteração não desejada à pasta do Sistema Operacional.    

 

Porém pra que isso funcione, é necessário informar ao PHP onde se encontra o arquivo php.ini, configurando o caminho na variável de ambiente PATH, do Windows Server 2003.

 

Para realizar essa configuração, clique com o botão direito sobre o ícone “My Computer” no Desktop e selecione “Properties”.

 

 

 

 

Selecione a aba Advanced e, em seguida, selecione a variável Path  em “System variables”.  Clique no botão Edit.

 

 

Aperte a tecla End em “Variable value” para deslocar o cursor para o fim da variável e acrescente ponto-e-vírgula e o caminho para o php.ini.  No nosso exemplo, esse caminho é ;D:\PHP.

 

Clique em OK até fechar todas as caixas de diálogo.

 

Se você configurou a variável PATH corretamente você verá a descrição do caminho do php.ini digitando o comando SET no Prompt de Comando.

 

 

Processo de instalação manual

 

Os passos para a instalação manual que descrevemos aqui, é um complemento ao processo realizado pelo Windows Installer.  Como você poderá perceber, a instalação automática serve simplesmente para utilização do PHP com o componente CGI php-cgi.exe.  Muitas coisas não são incluídas nessa instalação.

 

Assim, vamos unir a facilidade do Windows Installer com o complemento de uma instalação manual.

 

Se você seguiu os passos da instalação automática antes de realizar os passos manuais,  após cumprir o primeiro passo do processo manual você deverá ter a seguinte estrutura de diretórios

 

Figura 1 - Estrutura de pastas do PHP.

 

1. Extraia o arquivo de distribuição em uma pasta qualquer (C:\PHP5, por exemplo) e mova todo o seu conteúdo para a pasta que foi criada pelo Windows Installer (D:\PHP, no nosso exemplo).  Se lhe for perguntado sobre permitir reescrever algum arquivo, responda Yes/Sim;

 

Nota:

É recomendado não utilizar pastas com espaço no nome como C:\Arquivos de Programas por ex. pois pode causar problemas ao Web Server.

 

A instalação padrão, pelo Windows Installer, habilita o módulo binário CGI (php-cgi.exe) para execução de códigos PHP, o que, em termos de segurança, não apresenta uma condição muito favorável.  Assim, optamos por configurar o IIS para utilizar módulos em DLL(módulo-servidor) com a linguagem PHP (extensão .php).

 

Os módulos-servidores apresentam uma performance significantemente melhor e funcionalidades adicionais comparadas ao binário CGI.

 

O arquivo binário CGI (php-cgi.exe) e a DLL  php5td.dll precisam, obviamente, estarem disponíveis para o Web Server interpretar o PHP.  No caso do CGI, ele é automaticamente encontrado pelo IIS no diretório de instalação do PHP.  No caso da DLL php5ts.dll, embora ela  esteja inicialmente localizada no mesmo diretório, você precisa disponibilizá-la através de um dos três modos possíveis:

  • Copiar o arquivo para do diretório de sistema do Windows (%SystemRoot%\System32, no caso do Windows 2000 Server e Windows Server 2003);
  • Copiar o arquivo para o diretório do web Server (\Inetpub);
  • Mantê-la no diretório de instalação do PHP e incluir o caminho dele (D:\PHP, por exemplo), na variável de ambiente PATH como já foi descrito.

Este último é o método preferido e é o que utilizaremos, por ser de melhor facilidade para manutenção e upgrades.

 

2. Como já foi descrito, a instalação automática não é completa.  É necessário acrescentar algumas bibliotecas dll para que funcionalidades avançadas do PHP, como criar arquivos PDF por ex., sejam ativadas.  Desse modo, é necessário fazer o download em http://www.php.net do arquivo de distribuição pecl-5.0.4-Win32.

 

Extraia este arquivo da mesma maneira que você fez com o arquivo de distribuição do PHP e mova todo o seu conteúdo para a pasta ext, dentro da pasta do PHP (D:\PHP\ext, no nosso exemplo).

 

NOTA

Para que essas bibliotecas funcionem, elas precisam ser configuradas no arquivo php.ini, cujos detalhes fogem do escopo deste artigo.  Para maiores detalhes sobre como configurá-las, leia o Help do PHP e estude o arquivo php.ini.

 

3. Atribuir permissão de leitura para o usuário IUSR_nome-do-servidor(IUSR_Lynx, no nosso exemplo), ao arquivo php.ini, dentro da pasta do PHP (D:\PHP);

 

 

Selecione o arquivo php.ini, clique com o botão direito do mouse sobre ele e selecione a opção “Properties” do menu suspenso.

 

 

Lembre-se de que este usuário é local, ou seja, está criado no banco de usuários do servidor local e não no Active Diretory, caso você tenha um.

 

Note que a permissão herdada da pasta D:\PHP pelo arquivo php.ini contém o grupo Everyone.

 

Se isto ocorrer com você também, lembre-se de que Everyone significa que todo mundo terá o acesso na pasta permitido a esse grupo.  É de boa prática, removê-lo e incluir somente os grupos que realmente poderão acessá-la.  Mesmo que você tenha uma postura liberal, substitua este grupo pelo Authenticated Users.

 

4. Configurar as seguintes diretivas no arquivo php.ini(utilize o notepad e o comando Find para encontrar o local das diretivas):

 

doc_root=” “

extension_dir=”d:\php\ext”

cgi.force_redirect=0

 

Qualquer caminho inserido aqui, fará com que o IIS procure os arquivos solicitados pelo Browser nele.  Se você tiver um único site, poderá configurá-lo como c:\inetpub\wwwroot, considerando que o diretório do IIS (Inetpub), está localizado em C:.  Caso contrário, você tiver mais de um site instalado no IIS, deixe esta diretiva em branco.

 

Estamos considerando o caminho do nosso exemplo, D:\PHP, que deve ser substituído pelo caminho escolhido por você no ato da instalação do PHP.  A pasta \ext é obrigatória.


Configurando um Web Site com PHP no IIS 6.0

 

No artigo anterior, nós discutimos como criar, configurar e publicar um web site no IIS 6.0.  Agora nós vamos detalhar como configurar um site no IIS pra reconhecer e interpretar o PHP.

 

Como se trata de uma linguagem server-side, ou seja, residente no servidor e dinâmica, é necessário dar permissões aos seus componentes para que sejam executados sobre o IIS.  Vamos lembrar que, na instalação padrão do IIS, somente o básico do básico de um servidor WEB é instalado.  Todos os outros componentes, como o ASP, DCOM e, conseqüentemente, PHP, precisam ter permissões explícitas para funcionar.

 

Primeiramente, vamos configurar um site já publicado para reconhecer o PHP como linguagem padrão.

  1. Abra o IIS Manager, expanda o componente ‘Web Sites’, clique com o boto direito sobre o site desejado e selecione ‘Properties’ no menu suspenso;
  2. Selecione a guia ‘ISAPI’ Filters e clique em ‘Add’;
  3. Na caixa de diálogo add/Edit Filter Properties, digite PHP em Filter name e insira o caminho e o nome do filtro em Executable (no nosso exemplo, D:\PHP|php5isapi.dll);
  4. Clique em OK;

  1. Ainda na caixa de diálogo das propriedades do site, selecione a guia Home Directory;
  2. Clique em Configurations e, na caixa de diálogo Application Configuration, clique em Add;
  3. Insira o caminho e o nome do componente ISAPI para PHP e a extensão .php;
  4. Deixe as outras opções com a configuração padrão e clique em OK até fechar todas as caixas de diálogo.

Uma dica interessante descrita inclusive no arquivo de instalação do PHP.  Se você notar que a CPU do servidor se mantém constante em100% após configurar o filtro, desabilite o cache do filtro desmarcando a opção Cache ISAPI extensions na guia Mappings.

 

 

Adicionalmente, você pode inserir um arquivo com extensão .php pra ser o arquivo padrão a ser carregado no site.  No nosso exemplo, o arquivo é index.php.  Desse modo, quando você digita o endereço do site, não é necessário digitar a página padrão.  Ela será carregada automaticamente.

 

Você pode fazer isso na guia Documents como na figura ao lado.

 

 

Depois de ter criado o site, atribuído a ele um Application Pool e configurado sua linguagem padrão para PHP, vamos agora criar um container Web Server Extensions com os componentes do PHP e atribuir permissão de execução a ele para que o IIS passe definitivamente a interpretar os comandos em PHP.

 

IIS 6.0 – Instalação, Administração e Configuração Parte 2 – Criando um Web Site

 

No IIS Manager, clique com o botão direito no componente Web Service Extensions e selecione Add a new Web service extension... no menu suspenso;

 

 

Clique em Add e insira o caminho e o nome do componente PHP a ser dado permissão para execução;

 

]

Clique em OK.  Certifique-se de que a opção “Set extension status to Allowed” esteja habilitada e clique em OK novamente.

 

O container que você criou deverá aparecer de modo semelhante à figura abaixo.  Caso o status esteja como “Prohibited” (se esquecer de habilitar a opção descrita anteriormente), simplesmente clique sobre o container e clique no botão Allow no centro do IIS Manager.

 

 

Feito isso, precisamos agora reiniciar o IIS para que ele carregue os componentes.

 

Vá em Start à Run... à digite iisreset à OK.  Se tudo estiver correto, deverá aparecer a tela ao lado.

 

 

Volte ao IIS Manager, nas propriedades do site que você está configurando e entre novamente na guia ISAPI Filters.  Se as configurações estiverem corretas, você deverá ver a seta verde na frente do filtro, de acordo com a figura ao lado.

 

 

 

Conclusão

 

Neste artigo nós acompanhamos como configurar um web site e seus componentes, dentro do IIS, para aceitar a linguagem PHP.

 

Apesar do PHP ser um assunto ‘off-topic’, o processo de configuração de seus componentes pode ser aplicado a qualquer componente ISAPI ou CGI dentro do IIS.

 

Bibliografia

 

Install.txt – componente do pacote de instalação do PHP v_5.0.4;

 

PHP e MYSQL – Desenvolvimento Web – Luke Welling e Laura Thomson Ed. Campus ISBN: 85-352-1210-8;

 

Implementação e Configuração do  IIS 6.0 – Capítulo 7 do Material do Microsoft TechNet – Profissional 5 estrelas em Windows Server 2003;

Quer receber novidades e e-books gratuitos?

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI