Zh-hant:build your own lab ubuntu

From OpenStreetMap Wiki
Jump to: navigation, search

返回 開發 (正體中文)

系統環境

  • OS:Ubuntu 14.04 LTS
  • DB名稱:osm
  • DB帳號:osm
  • DB密碼:osm4326 (記得改掉喔)

安裝步驟

PostGIS 部分

Shell

# 安裝套件
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
sudo apt-get install postgis
sudo apt-get install osm2pgsql

# 用 postgres 身分去喬一下帳號
sudo -i -u postgres psql

PostgreSQL

-- 建立資料庫與帳號
CREATE USER "osm" PASSWORD 'osm4326';
CREATE DATABASE osm;
GRANT ALL ON DATABASE osm TO osm;

-- 讓資料庫支援 PostGIS 與 HStore
\c osm
CREATE EXTENSION postgis;
CREATE EXTENSION hstore;
\q

Shell

# 製作 PostgreSQL 密碼檔,實現自動化作業
echo '127.0.0.1:5432:osm:osm:osm4326' > ~/.pgpass
chmod 400 ~/.pgpass

# 測試一下登入 (不要用 -h localhost)
psql -h 127.0.0.1 -U osm osm

mapnik 部分

# 安裝 mapnik
sudo apt-get install python-mapnik

# 確認一下相容的圖資格式
python -c "from mapnik import DatasourceCache as c; print ','.join(c.plugin_names())"
csv,gdal,geojson,ogr,osm,postgis,python,raster,rasterlite,shape,sqlite

# 製作衛生的 Python 環境
cd ~
virtualenv pv2

# 衛生的 Python 環境會找不到 mapnik API,需要連結一下
cd pv2/lib/python2.7/site-packages
ln -s /usr/lib/python2.7/dist-packages/mapnik mapnik

# 測試一下 virtualenv 的 mapnik
cd ~/pv2
bin/python -c "from mapnik import DatasourceCache as c; print ','.join(c.plugin_names())"

# 接著安裝樣式工具
sudo apt-get install libpython-dev # Pillow 需要用到
sudo apt-get install ttf-unifont
bin/pip install cssutils
bin/pip install Pillow
bin/pip install cascadenik
bin/pip install nik2img