tecnica:gps_cartografia_gis:fedora_install

MapServer su Fedora Core

Guida di riferimento: http://www.fedorafaq.org/, scaricati i quattro CD di Fedora Core 6, in pratica sono stati utilizzati solo i primi due, il resto è stato installato via rete.

Installazione

Scelta installazione personalizzata del software, tolti diversi pacchetti, installato httpd e postgres. All'esecuzione di firstboot si è scelto di disattivare alcuni servizi (in considerazione anche del fatto che si tratta di una macchina virtuale su VMware):

  • autofs
  • avahi-daemon
  • bluetooth
  • cpuspeed
  • cups
  • hidd
  • ip6tables
  • iptables
  • isdn
  • mdmonitor
  • netfs
  • nfslock
  • pcsd
  • portmap
  • rpcgssd
  • rpcidmapd
  • smartd

Si sono invece attivati i servizi

  • postgresql
  • httpd

Se si desidera rieseguire il tool di prima configurazione (firstboot) si deve eliminare il file /etc/sysconfig/firstboot e lanciare /etc/init.d/firstboot. Oppure si crea un file /.unconfigured e si esegue un reboot.

Gestione dei pacchetti

Per la gestione dei pacchetti è stato usato yum, in /etc/yum.repos.d/ sono elencati i repository disponibili, i file salvati sono in /var/cache/yum/. I comandi più utili sono:

yum list installed
yum list available
yum install packagename
yum update packagename
yum check-update
yum search word
yum clean all
yum clean metadata
yum clean dbcache

E' capitato anche che yum avesse smesso di funzionare correttamente, risolto con un reboot. Si puo' anche installare un file .rpm direttamente con:

yum localinstall package.rpm
# Oppure con
rpm -vv -i package.rpm

Per sfogliare il repository di RPM via web:

Selezione pacchetti

Dopo un aggiornamento completo del sistem con yum update, per la compilazione e l'installazione di MapServer si sono aggiunti i seguenti pacchetti (con yum install pacchetto):

  • gcc
  • gcc-c++
  • postgresql-devel
  • postgresql-pl
  • php-gd
  • php-pear
  • php-pgsql
  • php-mbstring
  • php-xml
  • php-xmlrpc
  • screen
  • flex
  • python-devel
  • php-devel
  • freetype-devel
  • libpng-devel
  • libjpeg-devel
  • libXpm-devel
  • gd-devel
  • curl-devel

Per comodità si sono installati anche:

  • mc
  • screen
  • strace
  • lynx

Configurazioni particolari

Per tracciare gli errori di PHP si è provissoriamente abilitata la visualizzazione degli errori mettendo display_errors = On in /etc/php.ini. In produzione tuttavia questa impostazione va messa su Off in quanto alcuni warning generati da pmapper producono immagini corrotte e in pratica il pmapper non funziona (il warning viene visualizzato dentro i file .png generati al volo).

Disabilitato selinux in /etc/sysconfig/selinux, altrimenti il processo apache non è autorizzato ad aprire socket TCP/IP. Questo significa che MapServer non poteva fare da client WMS, che il collegamento a PostGIS non funziona, phpPgAdmin funzionava solo su Unix socket (accidenti a Fedora, Dio bonino!).

Compilazione del software aggiuntivo

Lo script che segue è il dettaglio di tutte le operazioni eseguite per scaricare, compilare e installare il necessario

# Attivare le librerie in /usr/local/lib
#-------------------------------------------------------------------
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf


# PROJ 4.5.0 http://www.remotesensing.org/proj
#-------------------------------------------------------------------
mkdir /usr/local/src/proj
cd /usr/local/src/proj
wget ftp://ftp.remotesensing.org/proj/proj-4.5.0.tar.gz
tar zxvf proj-4.5.0.tar.gz
chown -R root.root proj-4.5.0
find proj-4.5.0 -type d | xargs chmod 755
cd proj-4.5.0
./configure
make
make install
ldconfig


# GEOS http://geos.refractions.net
#-------------------------------------------------------------------
mkdir /usr/local/src/geos
cd /usr/local/src/geos
wget http://geos.refractions.net/geos-2.2.3.tar.bz2
tar jxvf geos-2.2.3.tar.bz2
chown -R root.root geos-2.2.3
find geos-2.2.3 -type d | xargs chmod 755
cd geos-2.2.3
./configure
make
make install
ldconfig


# POSTGIS 1.2.0 http://www.postgis.org
#-------------------------------------------------------------------
mkdir /usr/local/src/postgis
cd /usr/local/src/postgis
wget http://www.postgis.org/download/postgis-1.2.0.tar.gz
tar zxvf postgis-1.2.0.tar.gz
chown -R root.root postgis-1.2.0
cd postgis-1.2.0
./configure
make
make install
ldconfig
#
# Il "make check" ha qualche problema, provare invece a
# creare un geo-database di nome "prova" con:
#
# su - postgres
# createdb prova
# createlang plpgsql prova
# psql -f /usr/share/lwpostgis.sql -d prova
# psql -f /usr/share/spatial_ref_sys.sql -d prova


# GDAL 1.3.2 http://www.remotesensing.org/gdal/
#-------------------------------------------------------------------
mkdir /usr/local/src/gdal
cd /usr/local/src/gdal
wget http://www.gdal.org/dl/gdal-1.3.2.tar.gz
tar zxvf gdal-1.3.2.tar.gz
chown -R root.root gdal-1.3.2
cd gdal-1.3.2
./configure
make
make install
ldconfig


# MapServer 4.10.0 http://mapserver.gis.umn.edu/
#-------------------------------------------------------------------
mkdir /usr/local/src/mapserver
cd /usr/local/src/mapserver
wget http://cvs.gis.umn.edu/dist/mapserver-4.10.0.tar.gz
tar zxvf mapserver-4.10.0.tar.gz
chown -R root.root mapserver-4.10.0
cd mapserver-4.10.0
./configure --with-wfs --with-wcs --with-wmsclient --with-wfsclient \
    --with-proj --with-ogr --with-gdal --with-postgis --with-php=/usr/include/php
make
install -s mapserv /var/www/cgi-bin
install -s mapscript/php3/php_mapscript.so /usr/lib/php/modules
ln -s php_mapscript.so /usr/lib/php/modules/php_mapscript_4.10.0.so
install -s legend     /usr/local/bin
install -s scalebar   /usr/local/bin
install -s shp2img    /usr/local/bin
install -s shptree    /usr/local/bin
install -s shptreetst /usr/local/bin
install -s shptreevis /usr/local/bin
install -s sortshp    /usr/local/bin
install -s tile4ms    /usr/local/bin
install -m 0644 mapscript/php3/examples/phpinfo_mapscript.phtml /var/www/html
#
# Mettere un file /var/www/html/hello-world.map e provare:
# http://geoserver/phpinfo_mapscript.phtml
# http://geoserver/cgi-bin/mapserv?map=/var/www/html/hello-world.map&mode=map


# p.mapper 2.1.2 http://sourceforge.net/projects/pmapper
#-------------------------------------------------------------------
mkdir /usr/local/src/pmapper
cd /usr/local/src/pmapper
wget http://puzzle.dl.sourceforge.net/sourceforge/pmapper/pmapper-2.1.2.zip
wget http://switch.dl.sourceforge.net/sourceforge/pmapper/pmapper-demodata-2.zip
cd /var/www/html
unzip /usr/local/src/pmapper/pmapper-2.1.2.zip
mv pmapper-2.1.2 pmapper
chown -R apache.apache pmapper
mkdir /var/www/html/tmp
chmod 1777 /var/www/html/tmp
echo "AddHandler php5-script .phtml" >  /etc/httpd/conf.d/pmapper.conf
echo "AddType text/html .phtml"      >> /etc/httpd/conf.d/pmapper.conf
/etc/init.d/httpd reload
mkdir /var/www/demodata
cd /var/www/demodata
unzip /usr/local/src/pmapper/pmapper-demodata-2.zip
#
# Modificare pmapper/config/default/pmapper_demo.map:
# IMAGEPATH "/var/www/html/tmp/"


# phpPgAdmin 4.0.1 http://www.phppgadmin.org/
#-------------------------------------------------------------------
mkdir /usr/local/src/phppgadmin
cd /usr/local/src/phppgadmin
wget http://ftp.icdevgroup.org/phpPgAdmin/phpPgAdmin-4.0.1-1.noarch.rpm
rpm -i phpPgAdmin-4.0.1-1.noarch.rpm
tecnica/gps_cartografia_gis/fedora_install.txt · Last modified: 2015/03/11 10:16 by niccolo