Table of Contents
http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi
http://es.wiki.guifi.net/wiki/Preparando_el_entorno_de_desarrollo
Instalar mapserver
apt-get install mapserver-bin cgi-mapserver
Repositorio guifimaps
https://gitorious.org/guifi/guifimaps
Pulsamos el botón de “Clone repository”
Ahora vamos a nuestro disco duro y lo clonamos en local:
git clone git@gitorious.org:~joselegido/guifi/joselegido-guifimaps.git guifimaps
Dentro de la carpeta de guifimaps editamos el fichero refresh.php:
/mnt/raid/www/public/http/guifimaps/refresh.php
$hlastnow = @fopen("http://guifi.net/guifi/refresh/maps", "r") or die('Error reading changes\n'); ... $hlinks = @fopen("http://guifi.net/guifi/gml/".$rootZone."/links/csv", "r") or die("Error getting links cv\n");; ... $hnodes = @fopen("http://guifi.net/guifi/gml/".$rootZone."/nodes/csv", "r");
por
$hlastnow = @fopen("http://guifidev.matarosensefils.net/guifi/refresh/maps", "r") or die('Error reading changes\n'); ... $hlinks = @fopen("http://guifidev.matarosensefils.net/guifi/gml/".$rootZone."/links/csv", "r") or die("Error getting links cv\n");; ... $hnodes = @fopen("http://guifidev.matarosensefils.net/guifi/gml/".$rootZone."/nodes/csv", "r");
Copiar los mapas:
En el proyecto guifimaps no hay carpeta data. La creamos primero dentro de la carpeta guifimaps
Instalamos el paquete gdal-bin
Crear el siguiente fichero para que funcione el comando:
php refresh.php
touch /tmp/last_update
Añadir al cron:
3,13,23,33,43,53 * * * * cd /mnt/raid/www/public/http/guifimaps; php refresh.php > /dev/null 2>&1; cd data; rm -rf dlinks/*; rm -rf dnodes/*; ogr2ogr -f "ESRI Shapefile" dlinks dlinks.gml; ogr2ogr -f "ESRI Shapefile" dnodes dnodes.gml
Vamos a /mnt/raid/www/public/http/guifimaps
Creamos la carpeta data en dos sitios: /mnt/raid/www/public/http/guifimaps/data /mnt/raid/www/public/http/data
Descargamos los ficheros:
wget http://maps.guifi.net/data/dnodes.gml wget http://maps.guifi.net/data/dlinks.gml
cd /mnt/raid/www/public/http/guifimaps; php refresh.php > /dev/null 2>&1; cd data; rm -rf dlinks/*; rm -rf dnodes/*; ogr2ogr -f "ESRI Shapefile" dlinks dlinks.gml; ogr2ogr -f "ESRI Shapefile" dnodes dnodes.gml
Copiamos el fichero binario de mapserver:
# cp /usr/lib/cgi-bin/mapserv /mnt/raid/www/public/http/guifimaps/cgi-bin/
Añadimos al virtualhost:
ScriptAlias /cgi-bin/ "/mnt/raid/www/public/http/guifimaps/cgi-bin/"
http://maps.matarosensefils.net/cgi-bin/mapserv?map=/mnt/raid/www/public/http/guifimaps/GMap.map
http://guifidev.matarosensefils.net/ca/admin/settings/guifi
El usuario administrador será “webmestre” y la contraseña “guifi”.
Modificación opciones mapa
Para que funcione, he descargado GMap.map de producción de:
http://maps.guifi.net/GMap.map
Descargado también:
http://maps.guifi.net/guifi_symbols.sym
y le quitamos la linea 16
He creado el fichero vacio web.html:
/mnt/raid/www/public/http/guifimaps/web.html
He tenido que crear la carpeta:
/tmp/ms_tmp
En ca/admin/settings/guifi
URL for WMS service:
http://guifi.net/cgi-bin/mapserv?map=/home/guifi/maps.guifi.net/guifimaps/GMap.map
URL for maps module:
http://maps.guifi.net
Cambiar por las locales
Google maps key
http://code.google.com/apis/maps/signup.html
ABQIAAAAc_9onakTMYFPkm8AOLxVtxRB-teqlm_auOpyOeRPFLJzLncjFhRxnAPMceDQc12XIBzD6KSVU0QFPg
Se cambia aquí
http://guifidev.matarosensefils.net/ca/admin/settings/guifi
Para que se vean las capas
Si abrimos la página de maps con firebug, veremos que hace llamadas a urls del tipo:
http://maps.matarosensefils.net/cgi-bin/mapserv?map=/mnt/raid/www/public/http/guifimaps/GMap.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=Nodes,Links&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&SRS=EPSG:4326&BBOX=2.548828125,41.57436130598913,2.5927734375,41.60722821271716&WIDTH=256&HEIGHT=256
Si las lanzamos individualmente veremos que da el error:
<?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?> <!DOCTYPE ServiceExceptionReport SYSTEM "http://schemas.opengis.net/wms/1.1.1/exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1"> <ServiceException> msWMSDispatch(): WMS server error. WMS request not enabled. Check wms/ows_enable_request settings. </ServiceException> </ServiceExceptionReport>
Puede ser por la versión de mapserv. En el fichero GMap.map en el apartado WEB METADATA tenemos que añadir la linea:
OWS_ENABLE_REQUEST "*"
Quedará mas o menos así:
WEB TEMPLATE "web.html" IMAGEPATH "/tmp/ms_tmp/" IMAGEURL "/tmp/" #*************-Afegit IDEC--Descripició de les capacitats METADATA OWS_ENABLE_REQUEST "*" WMS_TITLE "Nodes GUIFI.NET" WMS_ABSTRACT "Localització de nodes" WMS_FEATURE_INFO_MIME_TYPE "text/html" WMS_ONLINERESOURCE "http://maps.matarosensefils.net/cgi-bin/mapserv?map=/mnt/raid/www/public/http/guifimaps/GMap.map&" WMS_SRS "EPSG:4326 EPSG:23031" END #*************-Final afegit END