quinta-feira, 28 de janeiro de 2010

Integração TomCat 6 x86 + IIS 7 - Parte II

Continuando o tutorial agora vou mostrar como fica a configuração no IIS.

1) Crie um diretório virtual 



2) Vamos dar permissões para a execução dessa .dll



Vamos editar as permissões click em Edit Feature Permissions






Agora verifique se o ISAPI .dll esta ativo





3) Vamos agora configurar o filtro


Click em add



4) Vamos liberar as restrições



Click em Add


Ficará assim


Agora de um restart no servidor IIS e faça um teste no navegador.



e agora com o redirecionamento

 

Pronto assim encerro esse tutorial de Integração de TomCat 6 + IIS 7


























Integração TomCat 6 x86 + IIS 7

Primeiro faça o download dos arquivos necessarios

Java Version 6 Update 17
http://www.java.com/en/download/manual.jsp
Apache Tomcat
http://tomcat.apache.org/download-60.cgi
Tomcat Connectors (mod_jk) Downloads
http://tomcat.apache.org/download-connectors.cgi

Após ter feito o download, instale o JDK na pasta C:\Java\JDK e o JRE no diretório C:\Java\JRE.

 Em seguida execute o instalador do TomCat 6 selecione as opções a seguir:



Mude o diretorio de instalação para C:\TomCat e na hora de escolher o JRE informe o diretório onde foi isntalado o JRE em C:\Java\JRE, finalize a instação.
Feito isso temos de setar as variaveis de ambiente para que o tomcat rode.

CATALINA_HOME = C:\TomCat
JAVA_HOME = C:\Java\JDK

e no path inclua o caminho %CATALINA_HOME%/bin e %JAVA_HOME%/bin, tente executar o TomCat se o mesmo não iniciar copie a msvcr71.dll da pasta C:\Java\JDK\bin para o diretório C:\TomCat\bin, e tente novamente que deve funcionar.

Agora crie uma pasta ISAPI em C:\TomCat\ e copie isapi_redirect-1.2.28.dll do conector para dentro dela e renomeie para isapi_redirect.dll.

Crie um arquivo isapi_redirect.properties dentro da pasta C:\TomCat\ISAPI igual ao modelo:

#Configuration file for the Jakarta ISAPI Redirector

#The path to the ISAPI Redirector Extension, relative to the website
#This must be is a virtual directory with execute privileges
extension_uri=/jakarta/isapi_redirect.dll

#Full path to the log file for the ISAP Redirector
log_file=c:\tomcat\logs\isapi_redirect.log

#Log level (debug, info, warn, error or trace)
log_level=info

#Full path to the workers.properties file
worker_file=c:\tomcat\conf\workers.properties

#Full path to the uriworkermap.properties file
worker_mount_file=c:\tomcat\conf\uriworkermap.properties




e mais esse dois aquivos dentro da pasta C:\TomCat\conf

uriworkermap.properties

#uriworkermap.properties - IIS
#
#This file provides sample mappings for example wlb
#worker defined in workermap.properties.minimal
#The general syntax for this file is:
#[URL]=[Worker name]

/admin/*=wlb

/manager/*=wlb
/examples/*=wlb
#Optionally filter out all .jpeg files inside that context
#For no mapping the url has to start with exclamation (!)

#!/servlets-examples/*.jpeg=wlb


#

#Mount jkstatus to /jkmanager
#For production servers you will need to
#Secure the access to the /jkmanager url
#
/jkmanager=jkstatus





workers.properties

#workers.properties.minimal -
#
#This file provides minimal jk configuration properties needed to
#connect to Tomcat.
#
#The workers that jk should create and work with
#

worker.list=wlb,jkstatus

#Defining a worker named ajp13w and of type ajp13
#Note that the name and the type do not have to match.
#
worker.ajp13w.type=ajp13
worker.ajp13w.host=localhost
worker.ajp13w.port=8009

#
#Defining a load balancer
#

worker.wlb.type=lb
worker.wlb.balance_workers=ajp13w

#Define status worker

worker.jkstatus.type=status




Na próxima parte vou mostrar como fica a configuração no IIS.

domingo, 18 de outubro de 2009

Instalando o Apache + PHP + MySQL no Windows Parte 4

Criando bancos de dados no MySQL

Quando você usa um servidor de hospedagem compartilhado, normalmente cria os bancos de dados usados pelas suas aplicações PHP através de uma interface via navegador, provida pelo seu provedor de hospedagem. Localmente, você deverá criar os bancos de dados via linha de comando, ou criando uma página PHP com instruções query do SQL. Para criar bancos de dados, acesse o prompt do MySQL, clicando no item “MySQL Command Line Client”, no grupo de atalhos do MySQL no “Iniciar > Programas”. Ele pedirá a senha de root, definida na instalação. A partir daí, é com você.

Para criar um banco de dados, digite:


create database coisa;

Veja:

Fazendo isso, esse banco de dados poderá ser usado nos scripts em PHP. Muitos scripts prontos que você pode baixar em diversos sites de materiais para web masters, contém arquivos INSTALL, LEIAME, etc, com as instruções. Você deve criar o banco de dados usado no script antes de rodar os scripts. A criação das tabelas pode ser feita via páginas PHP, depois de selecionado o banco de dados, ou pelo prompt do MySQL. Para criar tabelas pelo prompt, você deverá saber digitar as instruções do MySQL. Uma dica é copiar as instruções e colar no prompt, teclando [enter] ao final da última linha colada.

Antes de criar a tabela, deve-se selecionar o banco de dados a ser usado. Para isso, digite no prompt:


use coisa;

onde “coisa” é o nome do banco de dados, que já deverá existir. Para criar a tabela, use a sintaxe:

create table tabela1 (

declaração do campo 1,

declaração do campo 2,

declaração do campo 3,

);

A declaração da criação dos campos e tabelas não será abordada neste tutorial, por fugir do objetivo do mesmo. Você pode obter estas instruções em livros ou apostilas sobre MySQL, ou então instalar um script (como o phpmyadmin, disponível em www.phpmyadmin.net) que cria uma interface via navegador para a criação de bancos de dados e tabelas.

Alguns scripts usam usuários específicos para o banco de dados. Se você está só estudando e testando, pode sempre usar o root e a senha definida na instalação do MySQL, será mais fácil. O root tem livre acesso a todos os bancos de dados. Na hora de publicar seu site você deverá editar o script, alterando o nome de usuário e a senha (e o nome do banco de dados, se for o caso). Usar só o root em servidores de produção não é recomendável, aliás é recomendável manter contas separadas para cada aplicação ou banco de dados; se uma brecha de segurança em uma aplicação for descoberta e explorada, ela não afetará os outros bancos de dados; fora que em servidores compartilhados você normalmente não tem acesso ao root.

Se você quiser criar um usuário no MySQL e atribuir direitos a um banco de dados específico para ele, de forma mais semelhante ao que é usado em servidores de produção, pode dar este comando no prompt do MySQL:

grant all on coisa.* to usuario identified by 'senha';

Onde coisa é o nome do banco de dados, usuário é o nome de usuário desejado (um nome sem espaços) e senha é a senha dele. O nome usado aqui poderá ser usado nos scripts, para acessar esse banco de dados.

Outras configurações importantes do PHP

Se você mexe com PHP, mesmo que minimamente, já deve saber que é possível iniciar os scripts usando . E ainda, entre outras coisas, a recuperação de variáveis automaticamente, usando o método POST do HTTP, onde, por exemplo, um campo numa página HTML gera automaticamente uma variável de nome “username” cujo conteúdo seria o texto preenchido pelo usuário, válida globalmente na página definida em “action” no formulário.

Você programa em PHP usando estes recursos, e os scripts funcionarão na maioria dos servidores de hospedagem. Mas, ao rodá-los no micro local, com o PHP instalado da forma padrão, simplesmente eles não rodarão. O PHP vem com muita coisa desativada, seja por motivo de performance (desempenho) ou segurança. Como são técnicas usadas na programação em PHP na maioria dos scripts, não dá para ficar sem elas. Você deverá ativá-las no PHP. Vamos então ver algumas opções que você deve alterar no php.ini:


short_open_tag = On

Esse item vem desativado por padrão, localize-o e deixe-o com o valor On. Ele libera o uso dos delimitadores para identificar scripts em PHP. Se você não ativá-lo, poderá usar apenas as formas e

Instalando o Apache + PHP + MySQL no Windows Parte 3

O MySQL, como você já deve saber, é um gerenciador de banco de dados. O funcionamento dele no sistema não será abordado aqui, apenas as idéias básicas de como criar os bancos de dados a serem usados com o PHP, além da instalação.

Procure a versão para Windows, na página do projeto:

www.mysql.com

Neste tutorial estou usando a 5.0.37. Na página de download há um pacote “mysql-essential-5.0.37-win32.msi” e outro maior, “mysql-5.0.37-win32.exe”. O segundo possui mais algumas coisas, documentação adicional, etc., mas na prática não fará tanta diferença, para os recursos básicos. Se você não quiser baixar o pacote maior, pode optar pelo “essential”, “essencial”.

O executável de instalação apresenta a mesma interface da instalação do Apache e do PHP, ou seja, não tem muito segredo, basta ir clicando em Avançar. Deixe todas as opções que você não souber do que se trata, com os valores padrões. No final da instalação ele poderá pedir um cadastro no MySQL.com, normalmente pule essa parte (clicando em “Skip Sign-Up”).

Instalado, na última tela de instalação ele exibirá uma caixinha de marcação para configurar logo ao concluir. Deixe-a marcada. Aparecerá um assistente, no mesmo estilo da instalação. Este assistente de configuração poderá ser executado a qualquer momento depois, bastando ir em “Iniciar > Programas > MySQL > MySQL Server 5.0 > MySQL Server Instance Config Wizard”.

Esse assistente permite definir diversas coisas importantes, que poderão causar o funcionamento não esperado do servidor se alteradas indevidamente. Deixe o padrão para o que não souber do que se trata, apenas vá clicando em “Avançar” (“Next”).

Num ponto ele pede a ativação de conexões TCP/IP, e permite escolher a porta onde ele ficará disponível, dando como padrão a 3306. Deixe esse valor, e se for o caso, libere essa porta para aceitar conexões de entrada no seu firewall. Mesmo fazendo a configuração num computador sem rede nem Internet, comigo não funcionou corretamente quando deixei desmarcada, o PHP não conseguia se comunicar com o MySQL:

Mais algumas telas ele dará a opção de incluir o caminho do MySQL na variável de ambiente “Path” do Windows. É bom marcá-la, para que você possa chamar os executáveis do MySQL a partir de qualquer prompt, em qualquer pasta. Basta marcar a opção “Include Bin Directory in Windows PATH”:

Na próxima tela deve-se definir a senha de root, que seria o administrador do MySQL. Se você mexe com PHP deve saber que para acessar um banco de dados é necessário fornecer um nome de usuário e senha válidos para aquele banco; você poderá usar o “root” e a senha definida aqui, ou outra conta. Justamente, para criar outras contas você precisará do root, e para alterar as configurações ou criar novos bancos de dados, também. Portanto, anote esta senha em um local seguro:
 
Se você perdê-la, bastará desinstalar e instalar novamente o MySQL (e depois configurar as permissões dos bancos de dados novamente).

Agora vem a última parte da configuração. Se algo der errado aqui, o MySQL poderá não funcionar corretamente. Apenas clique em “Execute” e cruze os dedos.

Se tudo ocorreu bem, você verá uma tela como a exibida acima. Se ele não conseguir obter acesso à porta definida na instalação (por padrão, a 3306), ele poderá exibir esta mensagem:

Clique em “Retry” quantas vezes forem necessárias, para tentar a configuração. Libere conexões de entrada na porta 3306, pelo seu firewall, se for o caso. Se clicar em “Skip” a configuração falhará, e você deverá executar o assistente de configuração novamente depois.

Em instalações e reinstalações eu tive problemas, ele nunca conseguia atribuir as permissões corretamente, dizendo que a porta estava em uso, mesmo ela estando liberada no firewall e com todos os outros programas fechados. A melhor saída que encontrei, em caso de problemas desse tipo, foi ficar clicando no “Retry” várias, várias vezes.

Se ainda assim não der, desinstale o MySQL, apague a pasta “MySQL” da pasta “Arquivos de programas”, reinicie o computador e inicie a instalação novamente. É algo tedioso, mas se falhar nesta tela o serviço não será iniciado corretamente e os scripts PHP não poderão usar os bancos de dados. Talvez você dê sorte e ele funcione de primeira; estou abordando esta parte pois não sei o que houve, comigo demorou muito até funcionar da primeira vez.

Feito isso, o servidor de banco de dados MySQL será configurado para iniciar automaticamente com o Windows. Você pode alterar esse comportamento, para ele e para o Apache, no console de serviços do Windows (“Iniciar > Executar > services.msc”). Se seu computador tem pouca memória, você pode preferir iniciá-los apenas manualmente, quando necessário, para que não sejam iniciados sempre junto com o Windows. Com 256 MB e Windows XP não há muito o que reclamar não, dá até para deixar estes serviços ativos, mesmo que você não mexa com PHP em toda sessão. Uma questão é sobre a abertura da porta 3306 para o MySQL, se você mantiver acesso à Internet no computador diretamente (sem passar por um roteador, proxy ou outro firewall). Se for o caso você pode desativar o uso do TPC/IP na configuração do MySQL, e tentar acessá-lo nos scripts locais (comigo não funcionou), ou então deixar o serviço “MySQL” no services.msc desativado, e só iniciá-lo quando for testar.

Dica: para evitar que um serviço no Windows seja iniciado automaticamente, abra o console de serviços, indo em “Iniciar > Executar” e digitando “services.msc”. Dê um duplo clique no serviço desejado e escolha o modo de inicialização “manual”. Para iniciá-lo depois, você pode ir nesse console de serviços, selecionar o item desejado e clicar em “Iniciar”, ou então via linha de comando. Digite num prompt ou no “Executar”: net start serviço para iniciar um serviço, e net stop serviço para pará-lo. Por exemplo, net start mysql, para iniciar o servidor MySQL quando ele não estiver sendo iniciado automaticamente.

Ativando o MySQL no PHP

Instalado o MySQL, falta agora configurar o PHP. Na instalação típica no Windows, o PHP não instala nenhuma das extensões adicionais. Para que o MySQL possa ser usado em conjunto com o PHP, a extensão MySQL deverá ser instalada e carregada. Se você baixou o arquivo zipado do PHP e fez todo o processo manual, deverá agora incluir a DLL da extensão MySQL e configurar o php.ini para encontrá-la. Se você usou o instalador do pacote “.msi”, ele pode fazer isso automaticamente. Com o PHP instalado, abra o instalador dele novamente, e quando solicitado, clique em “Change”, para alterar os componentes instalados. Se preferir, acesse o painel de controle “Adicionar ou remover programas” do Windows, localize o PHP e clique em “Alterar” (e não em “Remover”). Na seção dos componentes, na categoria “Extensions”, localize o item “MySQL”, clique no ícone de um disco ao lado dele, e clique na opção “Will be installed on local hard drive”. Veja:



 Fazendo isso, o PHP instalará suporte ao MySQL. Mas você ainda deverá ativá-lo no php.ini, para que efetivamente, funcione. Localize a linha “;extension=php_mysql.dll” e retire o comentário dela:


Só para desencargo de consciência, localize também a seção [MySQL] (no arquivo php.ini), e veja se o item “mysql.allow_persistent” está ativo, com o valor “On” (se não estiver, ative-o então):

mysql.allow_persistent = On

Se você fizer a instalação manual, deverá colocar a DLL “php_mysql.dll” na pasta de extensões do PHP; normalmente, essa pasta chama-se “ext” e fica dentro da pasta do PHP. Ao usar o instalador dele, ele já copia o arquivo para essa pasta.

Dica: se você pretende instalar suporte ao MySQL diretamente, pode selecionar a extensão “MySQL” já durante a instalação do PHP.

 Concluimos aqui a instalação do Apache, PHP, e MySQL, a parte 4 será a ultima parte desse tutorial onde vou mostrar algumas configurações uteis do php e mysql.




quarta-feira, 7 de outubro de 2009

Instalando o Apache + PHP + MySQL no Windows Parte 2

Instalando PHP

O instalador do PHP 5 também pode ser encontrado no formato de pacote do Windows Installer (MSI). Prefira usar este, pois normalmente, é o mais fácil para instalar. Baixe-o em: (procure pela versão para win32):

http://www.php.net/downloads.php

Assim como com o nome do arquivo do instalador do Apache, o instalador do PHP possuirá um nome parecido com php-x.x.x-Win32.zip, onde o x.x.x corresponde à versão. Neste tutorial estou usando a versão 5.2.1; as telas de instalação poderão ser diferentes em outras versões, mas as idéias serão basicamente as mesmas. O PHP é um módulo para o Apache. Ao processar uma página PHP, o Apache envia a página ao módulo PHP, que a processa e devolve o resultado ao Apache, que por sua vez, envia ao browser que fez a solicitação.

Para isso, a instalação do PHP consiste basicamente em colocar os arquivos numa pasta, e configurar o Apache para que "enxergue" os módulos PHP e chame-os sempre que encontrar um arquivo .php. Sem o PHP instalado, se você colocar um arquivo .php no site, ao acessá-lo pelo navegador ele será exibido como texto (com o código-fonte), ou o mais comum, o navegador pedirá para salvá-lo, como ao fazer o download de um arquivo qualquer. A definição do módulo do PHP no Apache vai no arquivo "httpd.conf", e o tipo de arquivo .php, no "mimes.types".

O instalador do PHP 5 é muito sofisticado, e possui uma boa configuração automática. Se você baixar o arquivo .zip em vez do instalador, deverá extrair os arquivos para uma pasta e então configurar o Apache manualmente. Com o instalador, a instalação pode ser automática, para diversas versões do Apache, e inclusive para outros servidores, como o IIS, Xitami, etc. Mas para que ela se dê de forma automática, você deve especificar as opções corretas na instalação. Não se esqueça de instalar primeiro o Apache :)

Na instalação do PHP, ele pedirá o tipo de servidor usado. No meu caso, escolhi Apache 2.2.x:


Então ele pede o local dos arquivos de configuração do Apache. Localize a pasta "conf", dentro da pasta do Apache, senão a configuração não será automatizada (mas veremos também como fazê-la manualmente):



Ao final da instalação o instalador do PHP pergunta se você quer que ele atualize os arquivos de configuração do Apache. Se quiser a configuração automática, confirme :)

Se tudo ocorreu bem até aí, nenhuma mensagem de erro será exibida ao iniciar ou reiniciar o Apache, e as páginas .php serão processadas e entregues corretamente ao browser. Ainda não foi configurado um servidor de banco de dados, então apenas os recursos diretos do PHP funcionarão (e os dos outros módulos pré-instalados do Apache, é claro). Um ótimo meio de testar o PHP e ver diversas informações do servidor é criar uma página PHP, com o seguinte conteúdo:



Salve-a na pasta "htdocs" do Apache, com a extensão .php, e abra no navegador:


Se a página não puder ser acessada, pode haver um erro de configuração, ou de instalação do PHP. Se nem o "http://localhost" puder ser acessado, então o problema deve ser com o Apache. Se tiver erros nas configurações do Apache, ele poderá não ser iniciado, deixando o "servidor" fora do ar. Vamos ver agora como rever e alterar a configuração manualmente, editando os arquivos, inclusive possibilitando a correção de problemas.


Configurando o PHP manualmente


A configuração do PHP envolve a edição do arquivo php.ini, na pasta onde o PHP for instalado, e a inclusão de referências a ele nos arquivos do Apache. Se você aceitar a configuração automática, não precisará alterar nada (a menos que ocorram erros). Mas se preferir configurar manualmente, arregace as mangas e vamos à obra!

Para começar, instale o PHP usando somente os componentes padrões. Eu marquei todos os itens na instalação, e ele dava um erro no final, além do que eu não conseguia mais iniciar o Apache. Então desinstalei e instalei novamente, sem selecionar todos os componentes, até por desconhecer a função de vários deles. É melhor você fazer uma instalação enxuta, as possibilidades de erros são menores. Com mais componentes, fica mais difícil localizar o ponto do erro.

Pense na montagem de um computador, vá colocando os recursos aos poucos, e testando. Se funcionar, avance, caso contrário, páre e veja a última coisa até onde funcionava. Se você simplesmente instalar tudo, ficará muito mais complicado encontrar as causas dos erros, especialmente se você não tiver prática com todos os recursos oferecidos no instalador do PHP (ou do que for).

Para configurar manualmente o PHP, ou se a configuração automática falhar, são basicamente três passos. Vamos começar pela configuração do Apache. Abra o arquivo "httpd.conf", da pasta "conf", que está dentro da pasta do Apache. No final do arquivo, depois de tudo o que tiver nele, deverão existir estas linhas:


PHPIniDir "C:php5"
LoadModule php5_module "C:php5php5apache2_2.dll

Veja num editor de textos, para ter uma idéia melhor:



Neste screenshot a configuração destacada foi adicionada pelo instalador do PHP 5. Observe os comentários, pedindo para remover estas linhas apenas na desinstalação do PHP.

A linha PHPIniDir define a pasta do PHP, onde ele foi instalado (onde esta o php.ini original).

A linha LoadModule... Carrega o módulo do PHP no Apache, que se chama "php5_module", e está no arquivo "C:php5php5apache2_2.dll".

É recomendável instalar o PHP em uma pasta onde o nome do caminho dela não contenha espaços, mas isso não é obrigatório. Eu instalei em "C:php5", seguindo a idéia das versões mais antigas, mas o instalador sugeria por padrão uma subpasta da "Arquivos de programas". Seguindo o exemplo, prefira usar duas barras invertidas () em vez de uma só nos caminhos, e não se esqueça de colocar entre aspas se tiver espaços.

Agora vamos configurar o "mime.types". Abra-o num editor de textos puro e adicione, também no final de tudo (tecnicamente, pode ser onde você quiser, mas não se confunda depois :), as linhas:

application/x-httpd-php php
application/x-httpd-php-source phps

Elas identificam os tipos de arquivo .php e .phps, para que o Apache saiba lidar com eles e então enviá-los corretamente aos browsers.

Agora falta configurar o arquivo "php.ini". Ele deve ficar numa pasta que esteja cadastrada na variável de ambiente "path", do Windows. Isso permite que qualquer programa chame este arquivo apenas pelo nome, sem precisar indicar o caminho completo.

Antigamente se editava o php.ini, e depois ele era copiado para a pasta do Windows (ou system32). Nada impede que você faça isso, mas na instalação do PHP5, com a configuração automatizada, ele adiciona à variável PATH o caminho da pasta do PHP. Para isso é preciso que a instalação seja feita por um administrador. Você pode confirmar se a pasta do PHP está ou não na variável de ambiente PATH indo nas propriedades do "Meu computador", guia "Avançado", botão "Variáveis de ambiente":


Veja que a pasta do PHP foi adicionada automaticamente à variável PATH

Estando com o php.ini em uma pasta definida na variável de ambiente Path (se não estiver, copie-o para a pasta do Windows), vamos editá-lo. Abra-o num editor de textos puro (por padrão ele fica na pasta do PHP).

Uma configuração útil é ativar o uso dos delimitadores , muito usados, por serem mais simples. No php.ini localize a linha que começa com "short_open_tag", e troque o Off por On (cuidado com as letras maiúsculas e minúsculas!). Ela deverá ficar:

short_open_tag = On

Sem fazer isso (se deixar Off), os scripts iniciados com . Aproveitando, você pode definir "On" para a linha mais abaixo, "asp_tags", para permitir que os scripts que usem os delimitadores <% e %> sejam executados, caso esteja acostumado com ASP e prefira utilizar esta forma.

O php.ini vem bem comentado (em inglês), role a tela e leia-o com calma, para ver o que você pode alterar. É ideal ter conhecimentos avançados de PHP para alterá-lo por conta, e não se esqueça de manter um backup a cada alteração. No final da segunda parte deste tutorial comentarei sobre outras configurações necessárias a serem feitas no php.ini, para que os scripts PHP funcionem corretamente com os recursos mais usados.

Cuidado: se você instalar o PHP por cima de uma instalação existente, o instalador poderá adicionar uma nova configuração nos arquivos "httpd.conf" e "mime.types", duplicando as configurações, causando um erro na inicialização do Apache. O ideal antes de instalar uma nova versão ou reinstalar, é remover manualmente as linhas adicionadas pelo PHP nos arquivos do Apache, e então usar o Adicionar ou remover programas, do painel de controle do Windows, para removê-lo. Após isso, instale normalmente a nova versão (ou a mesma :). Saiba ainda que, ao desinstalar o Apache e/ou o PHP, os arquivos de configuração deles não serão removidos por motivos de segurança, pois podem conter modificações suas. Se quiser "limpar" o sistema e iniciar a instalação do zero, desinstale o PHP e o Apache pelo painel de controle, e a seguir, apague as pastas deles. Se você copiou o php.ini para a pasta do Windows, remova-o de lá também.

Assim terminamos a 2 parte abordando a instalação e configuração do PHP, na Parte 3 vamos ver como instalar e configurar o MySQL junto com PHP, até la.

Instalando o Apache + PHP + MySQL no Windows Parte 1

Instalando Apache

Baixe o Apache para Windows em: http://www.apache.org/dist/httpd/binaries/win32

Ele é fornecido compactado, num executável ou num pacote do Windows Installer. Este último é o mais recomendado. Desde que você use as versões recentes do Windows (2000, XP, etc), não encontrará problemas para instalá-lo. Prefira então o pacote "msi". O nome é algo como "apache_x.x.xx-win32-x86.msi", onde x.x.x.x é o número da versão.

IMPORTANTE: ao instalar servidores e/ou módulos para o Apache, execute o instalador usando uma conta com direitos administrativos no Windows.

Ao baixá-lo, inicie a instalação, como você faria com qualquer programa para Windows com um bom instalador. Durante a instalação ele pedirá o domínio da rede (Network Domain), o nome do servidor (Server Name) e o e-mail do administrador do sistema. Como a instalação é para um servidor local, para desenvolvimento, preencha com "localdomain" no campo "Network Domain", "localhost" no campo "Server Name" e seu e-mail no último campo. Veja:

 

Finalizada a instalação, o apache deverá estar funcionando. No Windows 2000/XP ele é instalado como um serviço que pode ser inicializado/desativado/reiniciado usando o console de serviços, o "services.msc". Por padrão, ele se configura para ser iniciado sempre junto com o Windows (veja na imagem de tela acima a opção na instalação para mudar isso, além de mudar a porta para 8080). Ao fazer alguma alteração num arquivo de configuração do Apache ou ao instalar um módulo, por exemplo, deve-se reiniciar o servidor (não o computador, mas sim o serviço do Apache). Isso pode ser feito com o "Apache Service Monitor", que ficará ativo na área de notificação (bandeja do sistema, próximo ao relógio):



Com esta interface pode-se parar, iniciar ou reiniciar o servidor do Apache no Windows


Com ele instalado, abra qualquer navegador e digite o nome do seu computador, ou, de preferência, o nome "localhost", que sempre se refere ao computador local. Se preferir, acesse http://127.0.0.1, o IP da máquina local. Se tudo deu certo até aqui, você deverá ver uma mensagem "It works" ("Ele trabalha", "Ele funciona"). Veja:



As versões mais antigas do Apache exibiam outras informações, mas a 2.2 mostra só isso. Ok, o servidor está funcionando. As páginas ficam por padrão na pasta "htdocs", dentro da pasta onde o Apache foi instalado. No meu caso, seria "C:Arquivos de programasApache Software FoundationApache2.2htdocs". Basta substituir o arquivo "index.html" pelo do seu site, e colocar suas páginas e subpastas aí. Assim você poderá acessar as subpastas da pasta "htdocs" digitando http://localhost/pasta, em qualquer navegador no micro local.

Se o navegador ficar procurando o servidor, abrir uma página de busca ou dizer que não foi encontrado (exatamente como ocorre quando cai a conexão com a Internet), significa que o servidor web não foi iniciado corretamente. Nos itens básicos não têm o que dar errado, se for o caso, desinstale e instale novamente o Apache, tomando o cuidado de definir as opções da instalação como comentadas mais acima.

Instalado o Apache, ele lê basicamente HTML puro. Porém, é diferente a forma de acesso, usando o endereço "http://localhost/index.html" de "C:meu siteindex.html". No primeiro caso, o navegador solicita a página ao computador "localhost" (que é o seu computador!), recebe-a do servidor, armazena-a no cache, para depois exibi-la. Ele trata como se fosse um site da Internet; como o servidor do site está na rede local (ou mesmo no seu próprio PC, um computador só), trata-se de uma Intranet. No segundo caso, você está acessando o arquivo diretamente no seu HD. O navegador pode até armazenar algum dado no cache, mas não há nenhuma comunicação com nenhum servidor. Ele lê o arquivo como qualquer programa leria qualquer arquivo.

A configuração do Apache vai em alguns arquivos de texto puro, no estilo dos arquivos ".ini", e fica na pasta "conf", dentro da pasta do Apache. Ao editá-los e salvá-los, reinicie o servidor do apache para que as alterações entrem em vigor (usando o ícone do Apache na área de notificação, ou o services.msc, ou ainda o comando net stop apache2, e net start apache2, num prompt de comando). Os mais usados na versão Windows do Apache são o "httpd.conf" e o "mime.types".

O "httpd.conf" é o principal, abordando diversas características do Apache. O "mime.types" define os tipos mime, tipos de arquivos e suas extensões, para que o Apache saiba como tratá-los. Por exemplo, ele deve saber que deve enviar arquivos HTML diretamente, sem processá-los, mas deve processar os arquivos PHP, antes de entregar o resultado ao browser. É importante que você faça backup destes arquivos, para restaurá-los, se você editar algo e der errado. Em ambos as linhas iniciadas com o caractere # são comentários, e são ignoradas. Para desativar um item ou colocar explicações, basta iniciar a linha com #.

Um possível problema: se você mantiver outro servidor web ativo na máquina, poderá receber um erro do Apache ao tentar iniciá-lo. Isso pode ser por causa da porta 80: se você mantém o IIS ativo, ele normalmente é iniciado antes, e ocupa a porta 80 (praticamente qualquer servidor web se configura para usar a porta 80, que é dada como padrão). Para contornar isso e manter os dois servidores ativos, você deve trocar a porta de pelo menos um deles. No arquivo "httpd.conf" do Apache, localize o item "Listen 80", e troque o valor 80 por outro número que não esteja sendo usado por nenhuma outra porta. Por exemplo, 8080, 8081, etc. Localize mais para frente "ServerName localhost:80", e troque o 80 daí também.

Se quiser, use o recurso de pesquisa do seu editor de textos para localizar as ocorrências do número 80. Salve o arquivo e reinicie o servidor. Agora, você deve acessar os sites digitando ":80" após o "domínio". Como é local, você deverá digitar: "http://localhost:8080", trocando é claro, 8080 pela porta escolhida por você. Se entrar sem definir a porta, o navegador muito provavelmente irá usar a 80, o que resultará que o site aberto será o do outro servidor (como o IIS, por exemplo). Sempre use o número da porta separado por dois pontos do nome do domínio. Assim, o certo é "http://localhost:8080/teste.htm", e não "http://localhost/teste.htm:8080". Preocupe-se com isso apenas se você manter mais de um servidor web na mesma máquina.

Aqui termina a primeira parte que abordou a instalação do Apache que na versão 2.2.x esta bem tranquilo.

quarta-feira, 30 de setembro de 2009

Instalação IIS7 + PHP + MySQL no Windows 2008



Faça o download do php no endereço http://www.php.net/downloads.php. Deve ser feito o download do pacote ZIP pois o installer não funciona no 2008.


Crie um diretório para o funcionamento do PHP, neste exemplo vou utilizar C:\PHP, mas pode ser qualquer um. Extraia todo o conteúdo do arquivo Zip do PHP para este diretório.


Renomeie o arquivo php.ini-recommended para php.ini.


Abra o arquivo php.ini em um editor de texto e procure pelo parâmetro extension_dir, atribuindo o valor c:\php\ext.


No menu iniciar clique com o botão direito em Meu Computador > Propriedades > Configurações avançadas do sistema > Variáveis de Ambiente.  
                                      
Na tela de Variáveis de Ambiente dê um duplo clique em Path e inclua c:\php (separado por ;) .


Feche as janelas do Setup, abra o Gerenciador IIS (Ferramentas Administrativas > Serviços  de informação da Internet (IIS).


Clique no ícone do servidor em Conexões (esquerda) e a seguinte tela aparecerá na direita .


Em Mapeamento de Manipulador  clique em Adicionar Mapeamento de Script do lado direito e configure : Caminho de solicitação = *.php ;Executável = C:\PHP\php5isapi.dll ; Nome = PHP





Em Restrições ISAPI e CGI selecione Ações > Adicionar e configure : Caminho ISAPI ou CGI = C:\PHP\php5isapi.dll ; Descrição = PHP e selecione o checkbox Permitir que o caminho de extensão seja executado.


 Se quiser (não é obrigatório) clique em Documento Padrão (tela acima) e acrescente index.php.
 Reinicie o IIS clicando no ícone do seu servidor em Conexões e Reiniciar no menu do lado direito da tela.





 Para testar crie um novo documento com o editor de texto e o conteúdo dele deve ser : salve este documento com o nome de phpinfo.php no diretorio c:\inetpub\wwwroot (ou no path raiz do IIS caso ele tenha sido mudado.
                                                                                          
 Acesse via browser o endereço http://localhost/phpinfo.php, uma tela parecida com esta deve aparecer :





Com isto a instalação do php foi concluída com sucesso, agora só falta o MySQL.


Instalando o MySQL


Faça o download da versão do MySQL a partir do endereço http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a-win32.zip/from/pick
 
Extraia o conteúdo (é um arquivo exe e execute-o) aí é só selecionar typical e next next até o fim. No final ele vai tentar abrir a opção Configure the MySQL Server now se você tiver sorte a aplicação de configuração irá abrir imediatamente após você clicar em Finish, se funcionar vá direto para o passo 8 caso contrário execute o passo 3


Faça o download do programa ResourceHacker no endereço http://www.angusj.com/resourcehacker/


Extraia o conteúdo para um diretório qualquer e execute o programa, no programa selecione file > open e abra o arquivo C:\Program Files\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe


Na tela da aplicação selecione o último ítem como na figura





Aí é só editar o conteúdo da janela direita alterando o valor de level de asAdministrator para requireAdministrator.


Compile e salve em cima do .exe antigo, aí execute, a aplicação de setup de instância do MySQl funcionará e o MySQl será configurado.


Selecione as seguintes opções : Detailed Configuration > Developer Machine > Multifuncional Database > Deixei o Diretório Default > Decision Support > Enable TCP/IP Networking > Standard Character Set > Install as Windows Service e Include Bin Diretory in Windows Path > Modify security Settings e informe uma senha para o root aí o serviço do MySQL deve ser iniciado (se quiser conferir vá até Ferramentas Administrativas > Serviços e verifique se o status é iniciado.


Agora é fazer o PHP falar com o MySQL : edite novamente o arquivo php.ini
Retire os comentários (ponto e vírgula à esquerda) das seguintes linhas
 

extension=php_mysqli.dll
extension=php_mysql.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll



Copie o php.ini da pasta C:\PHP para C:\Windows.


Reinicie o IIS (como no ítem 15 da instalação do PHP)
Para saber se tudo funcionou entre em http://localhost/phpinfo.php e veja se localiza a seguinte área na página apresentada :



Pronto, eventualmente um boot pode ser necessário para setar corretamente os paths, mas comigo funcionou direto, só com o restart do IIS.