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:
Sarah Hoffmann
2016-06-07 00:17:15 +02:00
parent ff6c3a705b
commit d1b1acaf1d
5 changed files with 133 additions and 69 deletions

View File

@@ -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).