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"
{{guifi.net:desarrollo_web:gitorious.png|gitorious}}
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:
msWMSDispatch(): WMS server error. WMS request not enabled. Check wms/ows_enable_request settings.
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