/
install
executable file
·77 lines (57 loc) · 2.44 KB
/
install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
set -e
USER=deploy
DOCUMENT_ROOT=/var/www/nominatim
PLANET=http://ftp5.gwdg.de/pub/misc/openstreetmap/planet.openstreetmap.org/planet/planet-latest.osm.bz2
RAM=30512
THREADS=$(nproc)
# install dependencies
apt-get update
apt-get dist-upgrade -y
apt-get install -y build-essential libxml2-dev libgeos-dev libpq-dev libbz2-dev libtool automake libproj-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev gcc proj-bin libgeos-c1 osmosis libgeos++-dev php5 php-pear php5-pgsql php5-json php-db postgresql postgis postgresql-contrib postgresql-9.3-postgis-2.1 postgresql-server-dev-9.3 libprotobuf-c0-dev protobuf-c-compiler git autoconf-archive nginx php5-fpm git fail2ban htop
useradd -m -s /bin/bash $USER
# setup db
sudo -u postgres createuser -s $USER
sudo -u postgres createuser -SDR www-data
cat conf/postgresql.conf > /etc/postgresql/9.3/main/postgresql.conf
service postgresql restart
# setup web server
cat conf/nginx.conf > /etc/nginx/sites-available/default
mkdir -p -m 755 $DOCUMENT_ROOT
chown $USER:$USER $DOCUMENT_ROOT
service nginx restart
# install osmosis
cd /opt
mkdir osmosis
wget http://bretth.dev.openstreetmap.org/osmosis-build/osmosis-latest.zip
unzip osmosis-latest.zip -d osmosis
rm osmosis-latest.zip
su $USER
cd $HOME
# compile
mkdir nominatim
cd nominatim
git clone --recursive git://github.com/twain47/Nominatim.git .
./autogen.sh
./configure
make
# download planet
wget $PLANET -P data
# download optional data
wget --output-document=data/wikipedia_article.sql.bin http://www.nominatim.org/data/wikipedia_article.sql.bin
wget --output-document=data/wikipedia_redirect.sql.bin http://www.nominatim.org/data/wikipedia_redirect.sql.bin
wget --output-document=data/gb_postcode_data.sql.gz http://www.nominatim.org/data/gb_postcode_data.sql.gz
# load data
./utils/setup.php --osm-file data/planet-latest.osm.bz2 --all --osm2pgsql-cache $RAM --threads $THREADS
./utils/specialphrases.php --countries > data/specialphrases_countries.sql
psql -d nominatim -f data/specialphrases_countries.sql
./utils/specialphrases.php --wiki-import > data/specialphrases.sql
psql -d nominatim -f data/specialphrases.sql
# cleanup
rm data/*
# enable hierarchical updates
./utils/setup.php --create-functions --enable-diff-updates
echo "GRANT usage ON SCHEMA public TO \"www-data\";" \
"GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"www-data\";" | psql -d nominatim
# create web
./utils/setup.php --create-website $DOCUMENT_ROOT