本ポストは
https://switch2osm.org/serving-tiles/manually-building-a-tile-server-14-04/
の焼き直しです。
とりあえず私はコレで動きましたってことで。
#OSについて
CentOS7で適当にセットアップしました
※ユーザー名はosmとしています
#必要なソフトウエア群をインストール
yum -y install epel-release
yum -y update
yum -y install postgresql-server postgresql-contrib postgresql-devel postgis postgis-utils git make automake gcc gcc-c++ libtool policycoreutils-python php-pgsql php php-pear php-pear-DB libpqxx-devel proj-epsg bzip2-devel bzip2 proj-devel geos-devel libxml2-devel protobuf-c-devel lua-devel boost-devel expat-devel cmake httpd-devel freetype-devel libtool-ltdl-devel libpng-devel libtiff-devel libicu-devel libjpeg-devel libcurl-devel cairo-devel pycairo-devel harfbuzz-devel ipafonts vlgothicfonts unzip npm wget
npm -g install carto
#DBのセットアップ
sudo postgresql-setup initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo -u postgres createuser -s osm
sudo -u postgres createuser apache
sudo -u postgres createdb -E UTF8 -O osm gis
sudo -u postgres psql
\c gis
CREATE EXTENSION postgis;
ALTER TABLE geometry_columns OWNER TO osm;
ALTER TABLE spatial_ref_sys OWNER TO osm;
\q
#nominatimのmake
su -
cd /srv
tar xvf /home/osm/Nominatim-2.4.0.tar.bz2
mv Nominatim-2.4.0 Nominatim && cd Nominatim && ./configure && make
vi setting/setting.php
下記に変えた
@define('CONST_Database_DSN', 'pgsql://@/osm');
@define('CONST_Database_Web_User', 'apache');
@define('CONST_Postgresql_Version', '9.2');
@define('CONST_Postgis_Version', '2.0');
@define('CONST_Website_BaseURL', 'http://'.php_uname('n').'/osm/');
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
osmユーザーで
nohup /srv/Nominatim/utils/setup.php --osm-file /tmp/japan-latest.osm.pbf --all --osm2pgsql-cache 6400 &
sudo mkdir -m 755 /var/www/html/osm
sudo chown osm /var/www/html/osm
/srv/Nominatim/utils/setup.php --create-website /var/www/html/osm
/etc/httpd/conf.d/osm.conf
<Directory "/var/www/html/osm/">
Options FollowSymLinks MultiViews
AddType text/html .php
</Directory>
systemctl restart httpd
#各種ソフトをcloneしておく
git clone https://github.com/openstreetmap/osm2pgsql.git
git clone https://github.com/mapnik/mapnik
git clone https://github.com/openstreetmap/mod_tile.git
#osm2pgsqlのmake
cd osm2pgsql
mkdir build && cd build && cmake .. && make && sudo make install
#mapnikのmake
cd mapnik
git checkout -b 2.3 origin/2.3.x
python scons/scons.py configure INPUT_PLUGINS=all OPTIMIZATION=3 SYSTEM_FONTS=/usr/share/fonts/ PREFIX=/usr
sudo make install
sudo ldconfig
pythonにて
import mapnik
でエラーが出ないことを確認する
#module_tileのmake
cd mod_tile
./autogen.sh
./configure
sudo make install
sudo make install-mod_tile
sudo ldconfig
vi /etc/httpd/conf/httpd.conf
LoadModule tile_module modules/mod_tile.so
LoadTileConfigFile /usr/local/etc/renderd.conf
ModTileRenderdSocketName /var/run/renderd/renderd.sock
ModTileRequestTimeout 0
ModTileMissingRequestTimeout 30
#地図styleの作成
sudo mkdir -p /usr/local/share/maps/style
sudo chown osm /usr/local/share/maps/style
cd /usr/local/share/maps/style
mkdir ne_10m_populated_places_simple
cd ne_10m_populated_places_simple
unzip ~/ne_10m_populated_places_simple.zip
cd ..
unzip ~/master.zip
unzip ~/simplified-land-polygons-complete-3857.zip
unzip ~/land-polygons-split-3857.zip
mkdir osm-bright-master/shp
mv land-polygons-split-3857 osm-bright-master/shp/
mv simplified-land-polygons-complete-3857 osm-bright-master/shp/
mv ne_10m_populated_places_simple osm-bright-master/shp/
cd osm-bright-master/shp/land-polygons-split-3857
shapeindex land_polygons.shp
cd ../simplified-land-polygons-complete-3857/
shapeindex simplified_land_polygons.shp
cd ../..
vi osm-bright/osm-bright.osm2pgsql.mml
cp ~/configure.py .
./make.py
cd ../OSMBright/
carto project.mml > OSMBright.xml
OSMBright.xmlのフォントグループに
とかを追加する
vi /usr/loca/etc/re
XML=/usr/local/share/maps/style/OSMBright/OSMBright.xml
HOST=localhost
sudo mkdir -p /var/run/renderd
sudo chown osm /var/run/renderd
sudo mkdir -p /var/lib/mod_tile
sudo chown osm /var/lib/mod_tile
#convert data
時間がかかるのでnohupで実行。
nohup time osm2pgsql --slim -S /usr/local/share/osm2pgsql/default.style -d gis -C 4000 /tmp/japan.osm.bz2 &
#SELINUXを切る
setenforce 0
※気をつける
#実行
renderd -f -c /usr/local/etc/renderd.conf
#test
http://192.168.1.xxx/osm_tiles/0/0/0.png
http://192.168.1.xxx/osm/reverse.php?format=json&lat=35.905207&lon=139.620168
#ubuntuの場合
yumじゃなくてapt-getで
sudo apt-get install libboost-all-dev subversion git-core tar unzip wget bzip2 build-essential autoconf libtool libxml2-dev libgeos-dev libgeos++-dev libpq-dev libbz2-dev libproj-dev munin-node munin libprotobuf-c0-dev protobuf-c-compiler libfreetype6-dev libpng12-dev libtiff4-dev libicu-dev libgdal-dev libcairo-dev libcairomm-1.0-dev apache2 apache2-dev libagg-dev liblua5.2-dev ttf-unifont lua5.1 liblua5.1-dev libgeotiff-epsg node-carto postgresql postgresql-contrib postgis postgresql-9.3-postgis-2.1
とかすればよい。