• Nenhum resultado encontrado

TUTORIAL - SERVIDOR DE MAPAS

N/A
N/A
Protected

Academic year: 2021

Share "TUTORIAL - SERVIDOR DE MAPAS"

Copied!
9
0
0

Texto

(1)

TUTORIAL - SERVIDOR DE MAPAS

INTRODUÇÃO

Os passos descritos nesse tutorial são fruto da experiência obtida na realização de tais procedimentos para instalação de um Servidor de Mapas, sendo que tais procedimentos podem variar de acordo com o sistema operacional, distribuição, e versão dos pacotes utilizados. Os passos seguidos foram aplicados na distribuição linux Slackware 10.0.

Este tutorial não inclui passos de instalação do Linux, para tais detalhes consulte a documentação da sua distribuição.

No Servidor de Mapas, podem ser utilizados diversos recursos, como customização da interface, utilizando recursos de JavaScript, PHP, entre outras recursos dinâmicos, além da disponibilização dos dados geográficos, fazendo a opção de utilização de consulta em arquivos shape ou banco de dados robustos, como o PostGreSql. Neste projeto, um primeiro passo foi a realização de teste de conceito, apenas com consulta de arquivos shapes e customização de interface gráfica, estendendo-se a consulta e alimentação de banco de dados. As informações contidas neste tutorial incluem, ainda que superficialmente, a utilização de banco de dados.

INSTALAÇÃO E CONFIGURAÇÃO

É sabido que para a instalação e configuração é necessária autenticação como usuário com privilégios de administrador (root).

Pacotes são necessários para instalação e configuração do Servidor de Mapas: - Apache 1.3.31 - GD 2.0.33 - Geos 2.1.1 - MapServer 4.4.1 - Php 4.3.10 - PhpPgAdmin 3.5.1 - PostGis 0.9.1 - PostGreSql 7.4.6 - Proj 4.4.9

Estes pacotes podem ser facilmente na Internet, no entanto pode-se consultar os sites listados na referencia deste.

Uma vez feito download dos pacotes, iremos proceder a instalação. PACOTES - INSTALAÇÃO E VERIFICAÇÃO

Apache

O primeiro pacote a ser instalado é do Apache. Ele constitui o servidor Web. O primeiro passo é saber se, na instalação da distribuição, o apache foi instalado corretamente. Para tanto, deve abrir o navegador e digitar: http://localhost/

(2)

Laboratório de Geotecnia – EP UFBA Uma página semelhante a Figura 1 deve ser mostrada no navegador, caso o apache esteja instalado, e sendo executado.

Figura 1 – Tela inicial do apache

Algumas linhas deverão estar incluídas no arquivo de configuração do apache – httpd.conf, para isso: Edite o arquivo de configuração:

# vim /etc/apache/httpd.conf

Neste arquivo deve ser incrementado a linha de comando:

Include /etc/apache/mod_php.conf

A linha “DocumentRoot” destina-se a colocar o endereço de onde serão alocados as pastas e arquivos disponibilizados. Como sugestão mantenha /var/www/htdocs

Modificar “Options”, logo abaixo a linha do ScriptAlias, de None. para ExecCGI. Esta configuração do CGI-Bin

permitirá, ao final dos processos, a execução do MAPSERVER.

Por último deve ser acrescentado na linha “DirectoryIndex” a opção index.php Proj-4

Este pacote oferta possibilidade de se trabalhar com vários sistemas de projeção compatibilizando assim visualizar no navegador dados em sistemas diferentes.

Descompacte o Proj4 utilizando:

# tar -xzvf proj-4.4.9.tar.gz

Para instalação deste pacote proceda:

# ./configure # make # make install

(3)

Geos

Este pacote assemelha-se a ferramenta "Geoprocessing Wizard" que a ESRI implementou. Dá suporte a Cliping, Union, Merge...

Descompacte o Geos utilizando:

# tar -xJvf geos-2.1.1.tar.bz2

Para instalação deste pacote proceda:

# ./configure # make # make install

Agora, será instalado o primeiro pacote que faz referencia ao banco de dados:

PostgreSql

Descompacte o PostgreSql utilizando:

# tar -xzvf postgresql-7.4.6.tar.gz

Para instalação deste pacote proceda:

# ./configure # make # make install

Configuração:

Configure o PostgreSql, para ser executado na inicialização do sistema. Para a distribuição Slackware os passos são os seguintes:

Crie um usuário postgres:

# adduser postgres

Obs.: Na criação do usuário postgres, é importante lembrar que este usuário e senha, serão utilizados posteriormente para criação, edição e visualização do seu banco de dados através do pacote Phppgadmin.

Crie uma pasta de dados para o banco, e mude o usuário do diretório:

# mkdir /usr/local/pgsql/data

# chown postgres /usr/local/pgsql/data

Mude para usuário postgres:

# su - postgres

Vincule o DB a esta pasta:

# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Crie um arquivo rc.postgres, dentro do diretório /etc/rc.d/ com o seguinte conteúdo: # !/bin/sh

# Script para inicializar e terminar o PostgreSQL SERVER=/usr/local/pgsql/bin/postmaster

PGCTL=/usr/local/pgsql/bin/pg_ctl PGDATA=/usr/local/pgsql/data OPTIONS=-i

(4)

Laboratório de Geotecnia – EP UFBA case "$1" in

start)

echo -n "Inicializando o PostgreSQL..."

su - postgres -c "nohup $SERVER $OPTIONS -D $PGDATA >$LOGFILE 2>&1 &" ;;

stop)

echo -n "Finalizando PostgreSQL..."

su - postgres -c "$PGCTL -D $PGDATA stop" ;;

*)

echo "Sintaxe: $0 {start|stop}" exit 1

;; esac exit 0

Mude a permissão deste arquivo para ser utilizado pelo usuário postgres:

# chmod 755 rc.postgres

Edite o /etc/rc.d/rc.M:

# vim /etc/rc.d/rc.M

Adicione no final do script essas linhas # Inicializa Servidor de Dados PostgreSql if [ -x /etc/rc.d/rc.postgres ]; then

. /etc/rc.d/rc.postgres start fi

Edite o /etc/rc.d/rc.0:

# vim /etc/rc.d/rc.0

Localize o local de descrição dos serviços dos servidores e adicione: # Finalizar o Servidor PostgreSql

if [ -x /etc/rc.d/rc.postgres ]; then . /etc/rc.d/rc.postgres stop fi

Edite o /etc/rc.d/rc.6:

# vim /etc/rc.d/rc.6

Localize o local de descrição dos serviços dos servidores e adicione: # Finalizar o Servidor PostgreSql

if [ -x /etc/rc.d/rc.postgres ]; then . /etc/rc.d/rc.postgres stop fi

Edite o /etc/rc.d/rc.K:

# vim /etc/rc.d/rc.K

(5)

# Finalizar o Servidor PostgreSql if [ -x /etc/rc.d/rc.postgres ]; then . /etc/rc.d/rc.postgres stop fi

Depois de concluído essas operações, você deve verificar se está tudo de acordo.

-Reinicie o computador. Lá deverá constar na inicialização a mensagem "Inicializando o PostgreSQL...".

- uma vez iniciado, verifique no arquivo /usr/local/pgsql/data/postmaster.log se o servidor foi iniciado corretamente.

Deverá constar mensagem "database system is ready".

Caso alguns destes passos não estejam de acordo, verifique a instalação, ou consulte a documentação do PostgreSql.

Obs.: De modo a facilitar a operação deve-se criar um banco de dados teste para dar continuidade a instalação dos outros pacotes. Proceda a seguinte operação para criação do banco teste:

Primeiro mude para o usuário postgres

# su postgres

Digite para criação do banco:

# /usr/local/pgsql/bin/createdb test

Deverá aparecer uma mensagem informando que o banco foi criado. Utilize desse comando para verificação:

# /usr/local/pgsql/bin/psql test

Nessa linha de comando poderá realizar as funções manualmente. Digite: "\q" para sair. Uma vez criado o banco "test" prosseguiremos com a instalação do pacote PostGis.

PostGis

Retorne ao usuário root:

# exit

Descompacte o PostGis dentro da pasta contrib, criada na descompactação do PostGreSql. No nosso caso acessamos a pasta contrib:

# cp postgis-0.9.1.tar.gz postgresql-7.4.6/contrib/ # cd /root/downloads/postgresql-7.4.6/contrib # tar -xzvf postgis-0.9.1.tar.gz

Dentro da pasta contrib, acesse o diretório postgis-0.91 criado:

# cd postgis-0.9.1

Edite o arquivo Makefile com algum editor:

# vim Makefile

Confirme que as variáveis USE_PROJ e USE_GEOS estejam setadas para 1(true). Confirme que as variáveis PROJ_DIR e GEOS_DIR estejam setadas para /usr/local/ .

(6)

Laboratório de Geotecnia – EP UFBA Para instalação destes pacotes proceda:

# make # make install

Configuração do PostGis: Mude para usuário postgres:

# su postgres

Digite essas linhas de comando:

# /usr/local/pgsql/bin/createlang plpgsql test

# /usr/local/pgsql/share$ /usr/local/pgsql/bin/psql -f /usr/local/pgsql/share/postgis.sql -d test

Obs.: Ao finalizar deverão aparecer diversas informações de criação de tabelas e funções associadas ao PostGis. Até o momento os pacotes relativos a banco de dados já foram instalados. Os pacotes que se seguirão, ditos pacotes básicos, serão de fundamental importância, pois caso se faça a opção de um servidor de mapas apenas com consulta de arquivos shape, eles deverão estar instalados.

GD

Este pacote é uma biblioteca gráfica e é utilizada pelo PHP, para criação de imagens e do MAPSERVER, no nosso caso para a criação dos mapas. Compilaremos a GD, com possibilidade de imagens nos formatos Jpeg, Png, Tiff e com a Freetype para inserção de textos utilizando fontes TrueType nas imagens.

Descompacte:

# tar -xzvf gd-2.0.33.tar.gz

Dentro do diretório gd-2.0.33 criado:

# cd gd-2.0.33

Informe as diretivas de compilação necessárias:

# ./configure --with-ttf=/usr --with-jpeg=/usr/lib --with-tiff=/usr/lib --with-png=/usr/lib

Para compilação deste pacote proceda:

# make # make install PHP

Caso haja um pacote do PHP previamente instalado pela distribuição, deve-se removê-lo. Isto é necessário para que não haja conflitos e problemas futuros. Há necessidade de recompilação do pacote PHP para que se faça uso do PHPPgAdmin. Continuando,

Descompacte:

# tar -xzvf php-4.3.10.tar.gz

Dentro do diretório php-4.3.10 criado:

# cd php-4.3.10

Informe as diretivas de compilação necessárias:

# ./configure '--prefix=/usr' '--disable-static' '--sysconfdir=/etc' discard-path' '--with-config-file-path=/etc/apache' enable-safe-mode' with-openssl' with-mhash' enable-bcmath' with-bz2' with-pic' enable-calendar' enable-ctype' with-gdbm' with-db3' enable-dbase' enable-ftp' with-iconv' with-exif' with-gd' enable-gd-native-ttf' with-jpeg-dir=/usr' with-png' with-gmp' with-mysql=shared,/usr' with-gettext=shared,/usr' with-expat-dir=/usr' with-xml' enable-wddx' with-mm=/usr' trans-sid' shmop' sockets' '--with-regex=system' sysvsem' sysvshm' yp'

(7)

'--enable-'--with-pgsql=/usr/local/pgsql'

Para compilação deste pacote proceda:

# make # make install

Obs.: Note que há necessidade de recompilar o PHP para que ele reconheça os outros requisitos, como o pacote do PHPpgAdmin e do PostgreSql.

O mapserver funciona como uma aplicação CGI. Caso fizesse a opção de desinstalar o pacote, o que não é recomendável, deve-se recompilar além do PHP também o Apache, com algumas diretivas, o que torna uma opção complexa para iniciantes.

PhpPgAdmin

Copie o arquivo phpPgAdmin-3.5.1.tar.gz para o diretório que foi escolhido como "DocumentRoot", configurado no Apache.

No nosso caso foi utilizado o diretório padrão do Slackware - /var/www/htdocs. Copiando:

# cp phpPgAdmin-3.5.1.tar.gz /var/www/htdocs

Descompactando

# tar -xzvf phpPgAdmin-3.5.1.tar.gz

Você pode testar o funcionamento pelo navegador, acessando:

http://localhost/phpPgAdmin/

Figura 2 – Tela inicial do phpPgAdmin

(8)

Laboratório de Geotecnia – EP UFBA Obs.: Por motivos de segurança, o usuários root e postgres não terão permissão de acessar utilizando do recurso do phpPgAdmin.

Para acessos deverá fazer uma das duas opções

1 - Poderá modificar as permissões de segurança a fim de que usuários root e postgres possam autenticar: edite o arquivo "config.inc.php" contido na pasta "/var/www/htdocs/phpPgAdmin/conf"

# vim /var/www/htdocs/phpPgAdmin/conf/config.inc.php

Sete a opção false na variavel $conf['extra_login_security'].

2 – Pode-se criar usuários diferentemente do root ou postgres para que estes autentiquem no phpPgAdmin e execute as tarefas.

Mapserver

Descompacte:

# tar -xzvf mapserver-4.4.1.tar.gz

Dentro do diretório mapserver criado:

# cd mapserver-4.4.1

Informe as diretivas de compilação necessárias:

# ./configure --with-proj=/usr/local --with-postgis=/usr/local/pgsql/bin/pg_config --enable-force-freetype1

Para compilação deste pacote proceda:

# make # make install

Ao finalizar a instalação copie o binário "mapserv" criado para o diretório cgi-bin da distribuição, em nosso caso:

# cp mapserv /var/www/cgi-bin/

Acesse o endereço abaixo no seu navegador para verificar se a instalação ocorreu com sucesso:

http://localhost/cgi-bin/mapserv?

A mensagem a seguir deverá ser mostrada:

No query information to decode. QUERY_STRING is set, but empty.

Há uma aplicação de demonstração na seção de download do site do MAPSERVER, que para verificação de recursos básicos se apresenta eficiente.

CONSIDERAÇÕES

O uso da linguagem PHP como ferramenta de customização, no início do projeto, apresentava-se como uma opção clara e facilitadora do processo, porém segundo os estudos e pesquisas realizados existe um bug ao utilizar no MAPSERVER, o PHP como módulo do Apache. Além deste fato, o uso de JavaScript, como ferramenta de customização, mostrou-se mais eficiente que PHP/MapScript.

(9)

SÍTIOS CONSULTADOS Slackware – Distribuição LINUX www.slackware.org Apache http://www.apache.org/ PHP – Download e Documentação www.php.net MAPSERVER Brasil http://mapserver.cttmar.univali.br/

MAPSERVER - University of Minnesota http://mapserver.gis.umn.edu/

GD

http://www.boutell.com/gd/ Proj

http://www.remotesensing.org/proj MapLab – Editor de Arquivos MAP http://www.maptools.org/maplab/ Lista de Usuários MAPSERVER

http://lists.gis.umn.edu/mailman/listinfo/mapserver-users Lista de Desenvolvedores MAPSERVER

http://lists.gis.umn.edu/mailman/listinfo/mapserver-dev FreeGis http://freegis.org/ MapTools http://www.maptools.org/ PostGis http://postgis.refractions.net/ PostgreSql – Brasil http://www.postgresql.org.br/

Referências

Documentos relacionados

Foi Professora Adjunta do Departamento de Ciências da Comunicação da Universidade Federal de Santa Maria (UFSM), cam- pus Frederico Westphalen/RS, de 2006 a 2015, atuando nos Cursos

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

Requiring a realignment of the EVTEA with its ToR, fine-tuning it to include the most relevant socio-environmental components and robust methodologies for assessing Ferrogrão’s impact

Para aprofundar a compreensão de como as mulheres empreendedoras do município de Coxixola-PB adquirem sucesso em seus negócios, aplicou-se uma metodologia de

Era de conhecimento de todos e as observações etnográficas dos viajantes, nas mais diversas regiões brasileiras, demonstraram largamente os cuidados e o apreço

Figura 6: Variação da condutividade elétrica com a fração cristalizada, a temperatura ambiente, para todas as amostras (a) e para as amostras com baixas frações cristalizadas

Isto nos leva a uma segunda diferença fundamental – na verdade, um desdobramento daquela primeira diferença: a narrativa lúdica prevê uma hiperestrutura, ou seja, ela

• O princípio da não discriminação é menos vigoroso quando aplicado à idade do que em relação a outros factores de discriminação, porque admite mais derrogações, que se