Bueno gente acá va un mini howto de como instalar nominatim en centos.
Primero lo primero… “algunos” paquetes de yum:
yum install epee-release yum install postgresql-server postgresql-contrib postgresql-devel postgis postgis-utils yum install git make automake gcc gcc-c++ libtool policycoreutils-python yum install php-pgsql php php-pear php-pear-DB libpqxx-devel proj-epsg yum install bzip2-devel bzip2 proj-devel geos-devel libxml2-devel protobuf-c-devel lua-devel boost-devel
Editamos la configuración de postgres (/var/lib/pgsql/9.4/data/postgresql.conf)
En este caso es un servidor de 16GB de ram, así que los parámetros deberían ser:
shared_buffers = 2GB maintenance_work_mem = 5GB work_mem = 50MB effective_cache_size (12GB) synchronous_commit = off checkpoint_segments = 100 checkpoint_timeout = 10min checkpoint_completion_target = 0.9 fsync = off # solo para el primer import full_page_writes = off # solo para el primer import
Ahora iniciamos la DB:
postgresql-setup initdb systemctl enable postgresql systemctl start postgresql
Descargamos…
cd /srv wget http://www.nominatim.org/release/Nominatim-2.4.0.tar.bz2 tar xvf Nominatim-2.4.0.tar.bz2 mv Nominatim-2.4.0 Nominatim
Compilamos…
cd Nominatim ./configure make
Agregamos a SELinux para no tener problemasL
semanage fcontext -a -t httpd_sys_content_t "/srv/Nominatim/(website|lib|settings)(/.*)?" semanage fcontext -a -t lib_t "/srv/Nominatim/module/nominatim.so" restorecon -R -v /srv/Nominatim
Agregamos las cuentas de usuario:
sudo -u postgres createuser -s nominatim sudo -u postgres createuser apache
Nos bajamos el OSM, en este caso es Colombia y lo importamos:
wget "http://download.geofabrik.de/south-america/colombia-latest.osm.bz2" bunzip2 colombia-latest.osm.bz2 su postgres ./utils/setup.php --osm-file /mnt/sdc/colombia-latest.osm --all
Ahora a tomar un café, o una buena heineken los que puedan 🙂
Tags: centos 7, instalación, install, nominatim, open street map, osm, postgis, postgresql