Executando a primeira aplicação MapServer no Debian

Publicado: 15/03/2011 em Linux, Programação, Serviços IP
Tags:, , ,

Com o MapServer já funcionando, executar os procedimentos abaixo criando o ambiente necessário para testar a primeira aplicação MapServer.

1. Criação das pastas básicas

a) Para colocar os arquivos mapfiles:

mkdir /home/mapdata
chown nobody:nogroup /home/mapdata
chmod 755 /home/mapdata

b) Para receber os arquivos imagens renderizados

mkdir /var/www/tmp
chown www-data:www-data /var/www/tmp
chmod 755 /var/www/tmp

2. Configuração do Apache

a) Arquivo básico para o /etc/apache2/httpd.conf

ServerName   localhost
NameVirtualHost   *:80
<VirtualHost   *:80>
ServerName   default
DocumentRoot   “/var/www”
DirectoryIndex   /erro.html
ErrorDocument 404   /documentoerro404.html
</VirtualHost>

b) Quanto ao arquivo /etc/apache2/sites-available/default: configure o DocumentRoot conforme abaixo.

DocumentRoot /var/www

3. Criar o arquivo mapfile /home/mapdata/hello.map

MAP
DEBUG on
NAME "HelloWorld"
SIZE 400 300
IMAGECOLOR 249 245 186
IMAGETYPE png
EXTENT -1.0 -1.0 1.0 1.0
WEB
TEMPLATE "/var/www/hello.html"
IMAGEPATH "/var/www/tmp/"
IMAGEURL "/tmp/"
END
LAYER
STATUS default
TYPE point
FEATURE
POINTS  0.00 0.00 END
TEXT "Hello World"
END # end feature
CLASS
STYLE
COLOR 255 0 0
END
LABEL
TYPE bitmap
END
END
END
END

OBS:
a) o exemplo acima é compatível com MapServer versão 5 ou superior, a partir de março de 2009. Mais detalhes vide MS RFC 56: Tighten control of access to mapfiles and templates e Guia de Migração para MapServer 5. Isso foi parte de um conjunto de medidas de segurança para o funcionamento do MapServer.

b) Com privilégios de administrador, fazer:

# chown nobody:nogroup /home/mapdata
# chmod 555 /home/mapdata
# chown nobody:nogroup /home/mapdata/hello.map
# chmod 444 /home/mapdata/hello.map

4. Criar o arquivo de Inicialização /var/www/hello.html

<!-- MapServer Template -->
<!-- o comentário acima é OBRIGATÓRIO na primeira linha deste template MapServer -->
<html>
<head> <title>MapServer Hello World</title></head>
<body>
<form method=POST action="/cgi-bin/mapserv">
<input type="submit" value="Click Me"><p></p>
<input type="hidden" name="map" value="/home/mapdata/hello.map">
<input type="image" name="img" src="[img]" width="400" height="300" border="0">
</form>
</body>
</html>

OBS: Com privilégios de administrador, fazer:

# chown www-data:www-data /var/www/hello.html
# chmod 644 /var/www/hello.html

5. Reinicie o Apache (com privilégios de administrador)

# /etc/init.d/apache2 restart

6. Carregue a página no navegador digitando a URL http://localhost/hello.html

Uma imagem como a abaixo irá aparecer.

Agora, clique no botão e uma nova página será gerada como a abaixo.

OBS: esta imagem renderizada estará sendo armazenada em /var/www/tmp

Veja também: Visualizando um primeiro mapa com MapServer

 

Outras referências:
1- Documentação MapServer
2- Exemplo de MapServer Template
3- Variáveis CGI MapServer
4- HTML Templates e Query
5- Visualizando um primeiro mapa com MapServer

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s