X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5c8fbe8186ea0fa06b7c96f08e8afba1744492c1..d9fe25ac2e1aa93c7ce3de574556739d52b4486c:/docs/admin/Installation.md?ds=inline diff --git a/docs/admin/Installation.md b/docs/admin/Installation.md index 67c4fe3c..2ed8ca7f 100644 --- a/docs/admin/Installation.md +++ b/docs/admin/Installation.md @@ -1,7 +1,10 @@ +# Basic Installation + This page contains generic installation instructions for Nominatim and its prerequisites. There are also step-by-step instructions available for the following operating systems: + * [Ubuntu 18.04](../appendix/Install-on-Ubuntu-18.md) * [Ubuntu 16.04](../appendix/Install-on-Ubuntu-16.md) * [CentOS 7.2](../appendix/Install-on-Centos-7.md) @@ -15,9 +18,9 @@ and can't offer support. * [Docker on Kubernetes](https://github.com/peter-evans/nominatim-k8s) * [Ansible](https://github.com/synthesio/infra-ansible-nominatim) -# Prerequisites +## Prerequisites -## Software +### Software For compiling: @@ -26,45 +29,45 @@ For compiling: * a recent C++ compiler Nominatim comes with its own version of osm2pgsql. See the -osm2pgsql README for additional dependencies required for compiling osm2pgsql. +[osm2pgsql README](https://github.com/openstreetmap/osm2pgsql/blob/master/README.md#building) +for additional dependencies required for compiling osm2pgsql. For running tests: * [behave](http://pythonhosted.org/behave/) - * [Psycopg2](http://initd.org/psycopg) + * [Psycopg2](https://initd.org/psycopg) * [nose](https://nose.readthedocs.io) * [phpunit](https://phpunit.de) For running Nominatim: - * [PostgreSQL](http://www.postgresql.org) (9.1 or later) - * [PostGIS](http://postgis.refractions.net) (2.0 or later) - * [PHP](http://php.net) (5.4 or later) + * [PostgreSQL](https://www.postgresql.org) (9.3 or later) + * [PostGIS](https://postgis.org) (2.2 or later) + * [PHP](https://php.net) (7.0 or later) * PHP-pgsql * PHP-intl (bundled with PHP) - * [PEAR::DB](http://pear.php.net/package/DB) * a webserver (apache or nginx are recommended) For running continuous updates: - * [pyosmium](http://osmcode.org/pyosmium/) + * [pyosmium](https://osmcode.org/pyosmium/) (with Python 3) -## Hardware +### Hardware A minimum of 2GB of RAM is required or installation will fail. For a full -planet import 32GB of RAM or more strongly are recommended. +planet import 32GB of RAM or more are strongly recommended. -For a full planet install you will need about 600GB of hard disk space (as of -January 2017, take into account that the OSM database is growing fast). SSD disks +For a full planet install you will need at least 700GB of hard disk space +(take into account that the OSM database is growing fast). SSD disks will help considerably to speed up import and queries. On a 6-core machine with 32GB RAM and SSDs the import of a full planet takes a bit more than 2 days. Without SSDs 7-8 days are more realistic. -# Setup of the server +## Setup of the server -## PostgreSQL tuning +### PostgreSQL tuning You might want to tune your PostgreSQL installation so that the later steps make best use of your hardware. You should tune the following parameters in @@ -91,13 +94,13 @@ Don't forget to reenable them after the initial import or you risk database corruption. Autovacuum must not be switched off because it ensures that the tables are frequently analysed. -## Webserver setup +### Webserver setup The `website/` directory in the build directory contains the configured website. Include the directory into your webbrowser to serve php files from there. -### Configure for use with Apache +#### Configure for use with Apache Make sure your Apache configuration contains the required permissions for the directory and create an alias: @@ -116,7 +119,7 @@ build directory. After making changes in the apache config you need to restart apache. The website should now be available on http://localhost/nominatim. -### Configure for use with Nginx +#### Configure for use with Nginx Use php-fpm as a deamon for serving PHP cgi. Install php-fpm together with nginx.