Ubuntu 14.04安装地里编码软件Nominatim过程

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

.必须软件:

Ubuntu系统编译运行Nominatim软件系统必须安装的软件有:

1.GCC 编译器

2.postgresql 数据库

3.proj4

4.geos

5.postgis

6.PHP

7.PHP-pgsql

8.PEAR::DB

9.protobuf

10.wget

11.osmis

.安装必须的软件包

Apt-get install build-essential libxml2-dev libgeos-dev libpq-devlibbz2-dev

apt-get install gcc proj-bin libgeos-c1 osmis

apt-get install php5 php-pear php5-pgsql php5-json php-db

apt-get install postgresql postgis postgresql-contribpostgresql-9.3-postgis

由于导入的地理数据格式为pbf,所以需要安装pbf支持软件

apt-get install libprotobuf-c0-dev protobuf-c-compiler

debian系统中,geos运行需要另一个包

apt-get install libgeos++-dev

postgresql配置:

打开/etc/postgresql/9.3/main中的postgresql.conf文件,设置如下属性:

fsync = off

full_page_writes = off

具体命令为:

sudo vim /etc/postgresql/9.3/main中的postgresql.conf

.安装Nominatim

1.下载源码

wget http://www.nominatim.org/release/Nominatim-2.2.0.tar.bz2

tar xvf Nominatim-2.2.0.tar.bz2

cd Nominatim-2.2.0

./sutogen.sh

./configure

make

2.Nominatim目录中的settings目录里新建local.php文件,

配置如下:

<?php

// Paths

@define('CONST_Postgresql_Version', '9.3');

@define('CONST_Postgis_Version', '2.1');

@define('CONST_Website_BaseURL', 'http://localhost/nominatim/');



3.新建postgres用户账户:

1.新建导入账户

adduser <自己的用户名,example:mypg>

passwd <密码>

su – postgres

psql -template1

界面切换到数据库的交互界面,敲入如下命令:

CREATE USER <自己的用户名,example:mypg>WITH PASSWORD <密码>

退出数据库交互界面,敲入命令:\q

切换到root

新建网站用户:

createuser -SDR www-data

更改nominatim的读取权限:

chmod +x /soft_src

chmod +x /soft_src/Nominatim-2.2.0

chmod +x /soft_src/Nominatim-2.2.0/module

倒入下载的OSM数据,并为其建立索引:

下载数据地址为(pbf格式):

http://download.geofabrik.de/openstreetmap/

导入pbf数据:

./Nominatim-2.2.0/utils/setup.php --osm-file<自己下载的pbf数据,shanghai.osm.pbf>--all [--osm2pgsql-cache ]

添加额外字段:

./Nominatim-2.2.0/utils/specialphrases.php –countries >specialphrases_countries.sql

psql -d nominatim -f specialphrases_countries.sql

./Nominatim-2.2.0/utils/specialphrases.php –wiki-import >specialphrases.sql

psql -d nominatim -f specialphrases.sql

建立网站:

sudo mkdir -m 755 /var/www/nominatim

sudo chown <your username> /var/www/nominatim

./utils/setup.php --create-website /var/www/nominatim

配置apache环境:

打开/etc/apache2/sites-enabled/000-default,在最后添加如下内容:

<Directory "/var/www/nominatim/">

Options FollowSymLinks MultiViews

AddType text/html .php

</Directory>

重启apache服务:

service apache2 restart

增加mypg对数据库nominatim的权限:

su – postgres

psql template1

GRANT ALL PRIVILEGES ON DATABASE nominatim to mypg

\q



4.运行nominatim

浏览器登陆:http://http://localhost/nominatim/

www-data用户有没有数据库读写权限,若没有,则打开/etc/apache2/envvars,修改

export APACHE_RUN_USER=mypg

export APACHE_RUN_GROUP=mypg

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
22天前
|
Ubuntu NoSQL 关系型数据库
Ubuntu系统下安装常用软件
Ubuntu系统下安装常用软件
44 0
Ubuntu系统下安装常用软件
|
1月前
|
Ubuntu Linux C语言
Ubuntu下安装vscode,并解决终端打不开vscode的问题
Ubuntu下安装vscode,并解决终端打不开vscode的问题
135 0
|
2月前
|
存储 Ubuntu 网络协议
|
1月前
|
Ubuntu Docker 容器
如何在Ubuntu上安装Docker?
【2月更文挑战第10天】
242 0
|
2月前
|
负载均衡 Ubuntu 应用服务中间件
|
24天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
66 0
|
25天前
|
编解码 Ubuntu 算法
Ubuntu桌面图标指南:一文了解如果设置ubuntu 软件图标
Ubuntu桌面图标指南:一文了解如果设置ubuntu 软件图标
39 0
|
2天前
|
Ubuntu 数据安全/隐私保护
在UBUNTU虚拟机上安装R软件包
在UBUNTU虚拟机上安装R软件包
|
3天前
|
存储 编解码 Ubuntu
0-零基础安装ubuntu(超详细安装步骤)
0-零基础安装ubuntu(超详细安装步骤)
|
4天前
|
Ubuntu Linux 定位技术
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂