mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
split instruction into software installation and import
Basically leaves the part that needs to be done by the automatic vagrant script in the bash script and moves the remaining part into an OS-independent md file. Also fixes some of the instructions for CentOS. Now almost runs through (some minor issue with permission remains).
This commit is contained in:
@@ -1,29 +1,22 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installing the Required Software
|
||||
# ================================
|
||||
#
|
||||
# *Note:* these installation instructions are also available in executable
|
||||
# form for use with vagrant in the vagrant/ directory.
|
||||
#
|
||||
# Installing the Required Software
|
||||
# ================================
|
||||
#
|
||||
# These instructions expect that you have a freshly installed CentOS version 7.
|
||||
# Make sure all packages are are up-to-date by running:
|
||||
#
|
||||
sudo yum update -y
|
||||
#
|
||||
# Setting up Repositories
|
||||
# -----------------------
|
||||
#
|
||||
|
||||
# The standard CentOS repositories don't contain all the required packages,
|
||||
# you need to enable the EPEL repository as well. To enable it on CentOS,
|
||||
# install the epel-release RPM by running:
|
||||
|
||||
sudo yum install -y epel-release
|
||||
|
||||
#
|
||||
# Getting the Software Packages
|
||||
# -----------------------------
|
||||
#
|
||||
# Now you can install all packages needed for Nominatim:
|
||||
|
||||
sudo yum install -y postgresql-server postgresql-contrib postgresql-devel postgis postgis-utils \
|
||||
@@ -83,14 +76,33 @@
|
||||
#
|
||||
|
||||
sudo -u postgres createuser -s $USERNAME
|
||||
sudo -u postgres apache
|
||||
sudo -u postgres createuser apache
|
||||
|
||||
#
|
||||
# Setting up the Apache Webserver
|
||||
# -------------------------------
|
||||
#
|
||||
# You need to create an alias to the website directory in your apache
|
||||
# configuration. This can be most easily done by XXX
|
||||
# configuration. Add a separate nominatim configuration to your webserver:
|
||||
|
||||
#DOCS:```
|
||||
sudo cat > /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/build/website"> #DOCS:<Directory "$USERHOME/Nominatim/build/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/build/website #DOCS:Alias /nominatim $USERHOME/Nominatim/build/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
||||
|
||||
#
|
||||
# Then reload apache
|
||||
#
|
||||
|
||||
sudo systemctl restart httpd
|
||||
|
||||
#
|
||||
# Adding SELinux Security Settings
|
||||
@@ -113,77 +125,34 @@
|
||||
#
|
||||
# Get the source code from Github and change into the source directory
|
||||
#
|
||||
if [ "x$CHECKOUT" == "xy" ]; then #DOCS:
|
||||
|
||||
cd $USERHOME
|
||||
sudo -u $USERNAME git clone --recursive git://github.com/twain47/Nominatim.git
|
||||
#DOCS: cd Nominatim
|
||||
|
||||
else #DOCS:
|
||||
cd $USERHOME #DOCS:
|
||||
fi #DOCS:
|
||||
|
||||
# The code is built in a special directory. Create this directory,
|
||||
# then configure and build Nominatim in there:
|
||||
|
||||
#DOCS: cd Nominatim
|
||||
sudo -u $USERNAME mkdir build
|
||||
cd build
|
||||
sudo -u $USERNAME cmake ../Nominatim
|
||||
sudo -u $USERNAME cmake $USERHOME/Nominatim
|
||||
sudo -u $USERNAME make
|
||||
|
||||
# You need to create a minimal configuration file that tells nominatim
|
||||
# the name of your webserver user:
|
||||
|
||||
#DOCS:```
|
||||
sudo -u $USERNAME tee << EOF
|
||||
sudo -u $USERNAME cat > settings/local.php << EOF
|
||||
<?php
|
||||
@define('CONST_Database_Web_User', 'apache');
|
||||
EOF
|
||||
#DOCS:```
|
||||
|
||||
# There are lots of configuration settings you can tweak. Have a look
|
||||
# at `settings/settings.php` for a full list. Most should have a sensible default.
|
||||
# If you plan to import a large dataset (e.g. Europe, North America, planet),
|
||||
# you should also enable flatnode storage of node locations. With this
|
||||
# setting enabled, node coordinates are stored in a simple file instead
|
||||
# of the database. This will save you import time and disk storage.
|
||||
# Add to your settings/local.php:
|
||||
#
|
||||
# @define('CONST_Osm2pgsql_Flatnode_File', '/path/to/flatnode.file');
|
||||
#
|
||||
#
|
||||
# Downloading additional data
|
||||
# ---------------------------
|
||||
#
|
||||
# The following data is optional but download is strongly recommended:
|
||||
#
|
||||
# sudo -u $USERNAME wget -O data/wikipedia_article.sql.bin http://www.nominatim.org/data/wikipedia_article.sql.bin
|
||||
# sudo -u $USERNAME wget -O data/wikipedia_redirect.sql.bin http://www.nominatim.org/data/wikipedia_redirect.sql.bin
|
||||
# sudo -u $USERNAME wget -O data/gb_postcode_data.sql.gz http://www.nominatim.org/data/gb_postcode_data.sql.gz
|
||||
#
|
||||
#
|
||||
# Initial Import of the Data
|
||||
# --------------------------
|
||||
#
|
||||
# **Attention:** first try the import with a small excerpt, for example from Geofabrik.
|
||||
#
|
||||
# Download the data to import and load the data with the following command:
|
||||
#
|
||||
# ./utils/setup.php --osm-file <your data file> --all [--osm2pgsql-cache 28000] 2>&1 | tee setup.log
|
||||
#
|
||||
# The --osm2pgsql-cache parameter is optional but strongly recommended for
|
||||
# planet imports. It sets the node cache size for the osm2pgsql import part
|
||||
# (see -C parameter in osm2pgsql help). 28GB are recommended for a full planet
|
||||
# imports, for excerpts you can use less.
|
||||
# Adapt to your available RAM to avoid swapping.
|
||||
#
|
||||
# The import will take as little as an hour for a small country extract
|
||||
# and as much as 10 days for a full-scale planet import on less powerful
|
||||
# hardware.
|
||||
#
|
||||
#
|
||||
# Loading Additional Datasets
|
||||
# ---------------------------
|
||||
#
|
||||
# The following commands will create additional entries for countries and POI searches:
|
||||
#
|
||||
# ./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
|
||||
|
||||
Nominatim is now ready to use. Continue with
|
||||
[importing a database from OSM data](Import_and_update.md).
|
||||
|
||||
Reference in New Issue
Block a user