{"id":1912,"date":"2009-03-05T00:09:04","date_gmt":"2009-03-05T03:09:04","guid":{"rendered":"http:\/\/www.fernandoquadro.com.br\/html\/?p=1912"},"modified":"2009-03-05T08:28:45","modified_gmt":"2009-03-05T11:28:45","slug":"configurando-o-proxyhost-no-openlayers","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2009\/03\/05\/configurando-o-proxyhost-no-openlayers\/","title":{"rendered":"Configurando o ProxyHost no OpenLayers"},"content":{"rendered":"<p>Se ap\u00f3s tentar reproduzir os exemplos do Geoserver sem sucesso, e acessar o FAQ do Openlayers sobre ProxyHost, te deixou mais confuso! Bem vindo ao clube. Ap\u00f3s 4 dias de tentativas e erros o membro da comunidade <a href=\"http:\/\/tech.groups.yahoo.com\/group\/geoserver\/\">GeoServer-BR<\/a>, <a href=\"http:\/\/tech.groups.yahoo.com\/group\/geoserver\/message\/847\">Raphael Saldanha<\/a> conseguiu usar o GetFeatureInfo e compartilhou conosco a solu\u00e7\u00e3o que reproduzo abaixo. <\/p>\n<p>Seguem as modifica\u00e7\u00f5es e configura\u00e7\u00f5es necess\u00e1rias de modo que seja poss\u00edvel utilizar o ProxyHost no OpenLayers.<\/p>\n<p>Para realizar tais procedimentos voc\u00ea vai precisar ter ao menos o Apache e o Geoserver instalados. Abaixo seguem as configura\u00e7\u00f5es do sistema em que foram realizados os testes:<\/p>\n<p>&#8211; Vista Bussiness<br \/>\n&#8211; Geoserver 1.7.2<br \/>\n&#8211; Apache, PHP e Postgres instalados via stack do BitNami (http:\/\/bitnami.org\/stack\/wappstack)<br \/>\n&#8211; PostGIS instalado separadamente<\/p>\n<p>Antes de come\u00e7ar os procedimentos recomendo interromper o Apache e o Geoserver.<\/p>\n<p><strong>1o Passo: <\/strong>O proxy.cgi<\/p>\n<p>1.1. Abra o FAQ do Openlayers, e salve o proxy.cgi recomendado (http:\/\/trac.openlayers.org\/browser\/trunk\/openlayers\/examples\/proxy.cgi). N\u00e3o se esque\u00e7a de baixar o mesmo em formato bruto (raw format). <\/p>\n<p>1.2. Salve-o na pasta cgi-bin do Apache, algo como &#8220;C:\\&#8230;\\Apache\\cgi-bin\\<\/p>\n<p>O proxy.cgi fornecido est\u00e1 escrito em linguagem Python e est\u00e1 otimizado para Linux. Desta forma, primeiro \u00e9 necess\u00e1rio instalar o Python na m\u00e1quina para que ele possa funcionar (http:\/\/www.python.org\/). Anote a pasta que ele foi instalado, provavelmente no C:, algo como &#8220;C:\\Python25&#8221;.<\/p>\n<p>1.3. Agora, abra o proxy.cgi, que est\u00e1 salvo na pasta cgi-bin do Apache. Voc\u00ea vai ver na primeira linha o seguinte: #!\/usr\/bin\/env python<br \/>\nEste \u00e9 o caminho do Python, t\u00edpico nas m\u00e1quinas com Linux. Se voc\u00ea usa Windows, coloque exatamente a pasta onde o Python foi instalado. Deve ficar assim: #!c:\/python25\/python.exe<\/p>\n<p>Muito cuidado com as barras ao colar e copiar os endere\u00e7os, <strong>\/<\/strong> \u00e9 diferente de <strong>\\<\/strong><\/p>\n<p>Mais abaixo, voc\u00ea vai encontrar uma defini\u00e7\u00e3o de AllowedHosts, inclua o seu dom\u00ednio, mesmo que seja o localhost. Por exemplo:<\/p>\n<p>allowedHosts = [&#8216;www.openlayers.org&#8217;, &#8216;openlayers.org&#8217;,<br \/>\n                &#8216;labs.metacarta.com&#8217;, &#8216;world.freemap.in&#8217;,<br \/>\n                &#8216;prototype.openmnnd.org&#8217;, &#8216;geo.openplans.org&#8217;,<br \/>\n                &#8216;sigma.openplans.org&#8217;,<br \/>\n                &#8216;www.openstreetmap.org&#8217;,<br \/>\n                &#8216;localhost:8080&#8217;,<br \/>\n                &#8216;localhost&#8217;,<br \/>\n                &#8216;127.0.0.1&#8217;,<br \/>\n                &#8216;192.168.0.81&#8217;]<\/p>\n<p>Pronto, o proxy.cgi est\u00e1 pronto. N\u00e3o se esque\u00e7a de salv\u00e1-lo.<\/p>\n<p><strong>2o Passo: <\/strong>O httpd.conf<\/p>\n<p>2.1 Precisamos fazer com que o Apache execute corretamente o proxy.cgi. Primeiro, fa\u00e7a uma c\u00f3pia do arquivo httpd.conf, por seguran\u00e7a, depois abra-o e v\u00e1 at\u00e9 a seguinte parte:<\/p>\n<p><Directory \/><br \/>\n    Options FollowSymLinks<br \/>\n    AllowOverride None<br \/>\n    Order deny,allow<br \/>\n    Deny from all<\/p>\n<p><\/Directory><\/p>\n<p>2.2 Altere para que fique da seguinte forma:<\/p>\n<p><Directory \/><br \/>\n    Options FollowSymLinks +ExecCGI<br \/>\n    AllowOverride None<br \/>\n    Order deny,allow<br \/>\n    Deny from all<\/p>\n<p><\/Directory><\/p>\n<p>2.3 Agora, v\u00e1 at\u00e9 o coment\u00e1rio:<\/p>\n<p>    #<br \/>\n    # ScriptAlias: This controls which directories contain server scripts.<br \/>\n    # ScriptAliases are essentially the same as Aliases, except that<br \/>\n    # documents in the target directory are treated as applications and<br \/>\n    # run by the server when requested rather than as documents sent to the<br \/>\n    # client.  The same rules about trailing &#8220;\/&#8221; apply to ScriptAlias<br \/>\n    # directives as to Alias.<br \/>\n    #<\/p>\n<p>2.4 Adicione ou modifique a linha imediatamente abaixo para que fique desta forma:<\/p>\n<p>    ScriptAlias \/cgi-bin\/ &#8220;C:\/Program Files\/BitNami WAPPStack\/apache2\/cgi-bin\/&#8221;<\/p>\n<p>2.5 Onde est\u00e1 &#8220;C:\/Program Files\/BitNami WAPPStack\/apache2\/cgi-bin&#8221;, coloque o caminho at\u00e9 a pasta cgi-bin do seu Apache.<\/p>\n<p>2.6 Procure o seguinte coment\u00e1rio:<\/p>\n<p>#<br \/>\n# &#8220;C:\/Program Files\/BitNami WAPPStack\/apache2\/cgi-bin&#8221; should be changed to whatever your ScriptAliased<br \/>\n# CGI directory exists, if you have that configured.<br \/>\n#<\/p>\n<p>2.7 Altere para que fique como o c\u00f3digo abaixo:<\/p>\n<p><Directory \"C:\/Program Files\/BitNami WAPPStack\/apache2\/cgi-bin\"><br \/>\n    Options FollowSymLinks +ExecCGI<br \/>\n    AllowOverride None<br \/>\n    Options None<br \/>\n    Order allow,deny<br \/>\n    Allow from all<br \/>\n<\/Directory><\/p>\n<p>2.8 Onde est\u00e1 &#8220;C:\/Program Files\/BitNami WAPPStack\/apache2\/cgi-bin&#8221;, coloque o caminho at\u00e9 a pasta cgi-bin do seu Apache.<\/p>\n<p>    #<br \/>\n    # AddHandler allows you to map certain file extensions to &#8220;handlers&#8221;:<br \/>\n    # actions unrelated to filetype. These can be either built into the server<br \/>\n    # or added with the Action directive (see below)<br \/>\n    #<br \/>\n    # To use CGI scripts outside of ScriptAliased directories:<br \/>\n    # (You will also need to add &#8220;ExecCGI&#8221; to the &#8220;Options&#8221; directive.)<br \/>\n    #<\/p>\n<p>2.9 No trecho de c\u00f3digo acima adicione o seguinte c\u00f3digo:<\/p>\n<p>    AddHandler cgi-script .cgi<\/p>\n<p>2.10 Salve o arquivo e feche-o. Na sua aplica\u00e7\u00e3o web, defina o ProxyHost:<\/p>\n<p>OpenLayers.ProxyHost=&#8221;\/cgi-bin\/proxy.cgi\/?url=&#8221;;<\/p>\n<p>Agora, reincie o Apache e teste.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se ap\u00f3s tentar reproduzir os exemplos do Geoserver sem sucesso, e acessar o FAQ do Openlayers sobre ProxyHost, te deixou mais confuso! Bem vindo ao clube. Ap\u00f3s 4 dias de tentativas e erros o membro da comunidade GeoServer-BR, Raphael Saldanha&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2009\/03\/05\/configurando-o-proxyhost-no-openlayers\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,132],"tags":[223,250],"class_list":["post-1912","post","type-post","status-publish","format-standard","hentry","category-gis","category-openlayers","tag-gis","tag-openlayers"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=1912"}],"version-history":[{"count":7,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1912\/revisions"}],"predecessor-version":[{"id":1977,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/1912\/revisions\/1977"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=1912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=1912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=1912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}