X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2edc15dfb8109afb3f85e94b31e276d4bcf3b777..8201c7f46cbb253fe5f502bc4c398c5133f01bfe:/docs/admin/Installation.md diff --git a/docs/admin/Installation.md b/docs/admin/Installation.md index c67ff46f..bc97212e 100644 --- a/docs/admin/Installation.md +++ b/docs/admin/Installation.md @@ -4,8 +4,9 @@ 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 20.04](../appendix/Install-on-Ubuntu-20.md) * [Ubuntu 18.04](../appendix/Install-on-Ubuntu-18.md) - * [Ubuntu 16.04](../appendix/Install-on-Ubuntu-16.md) + * [CentOS 8](../appendix/Install-on-Centos-8.md) * [CentOS 7.2](../appendix/Install-on-Centos-7.md) These OS-specific instructions can also be found in executable form @@ -25,24 +26,20 @@ and can't offer support. For compiling: * [cmake](https://cmake.org/) - * [libxml2](http://xmlsoft.org/) + * [expat](https://libexpat.github.io/) + * [proj](https://proj.org/) + * [bzip2](http://www.bzip.org/) + * [zlib](https://www.zlib.net/) + * [Boost libraries](https://www.boost.org/), including system and filesystem + * PostgreSQL client libraries * a recent C++ compiler (gcc 5+ or Clang 3.8+) -Nominatim comes with its own version of osm2pgsql. See the -[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](https://initd.org/psycopg) - * [nose](https://nose.readthedocs.io) - * [phpunit](https://phpunit.de) - For running Nominatim: - * [PostgreSQL](https://www.postgresql.org) (9.3 or later) - * [PostGIS](https://postgis.org) (2.2 or later) + * [PostgreSQL](https://www.postgresql.org) (9.3+) + * [PostGIS](https://postgis.org) (2.2+) + * [Python 3](https://www.python.org/) + * [Psycopg2](https://initd.org/psycopg) * [PHP](https://php.net) (7.0 or later) * PHP-pgsql * PHP-intl (bundled with PHP) @@ -52,6 +49,12 @@ For running continuous updates: * [pyosmium](https://osmcode.org/pyosmium/) (with Python 3) +For running tests: + + * [behave](http://pythonhosted.org/behave/) + * [nose](https://nose.readthedocs.io) + * [phpunit](https://phpunit.de) >= 7.3 + ### Hardware A minimum of 2GB of RAM is required or installation will fail. For a full @@ -118,13 +121,15 @@ from there. Make sure your Apache configuration contains the required permissions for the directory and create an alias: - - Options FollowSymLinks MultiViews - AddType text/html .php - DirectoryIndex search.php - Require all granted - - Alias /nominatim /srv/nominatim/build/website +``` apache + + Options FollowSymLinks MultiViews + AddType text/html .php + DirectoryIndex search.php + Require all granted + +Alias /nominatim /srv/nominatim/build/website +``` `/srv/nominatim/build` should be replaced with the location of your build directory. @@ -152,20 +157,35 @@ follows: Tell nginx that php files are special and to fastcgi_pass to the php-fpm unix socket by adding the location definition to the default configuration. - root /srv/nominatim/build/website; - index search.php index.html; - location ~ [^/]\.php(/|$) { - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - if (!-f $document_root$fastcgi_script_name) { - return 404; - } - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_index search.php; - include fastcgi.conf; +``` nginx +root /srv/nominatim/build/website; +index search.php; +location / { + try_files $uri $uri/ @php; +} + +location @php { + fastcgi_param SCRIPT_FILENAME "$document_root$uri.php"; + fastcgi_param PATH_TRANSLATED "$document_root$uri.php"; + fastcgi_param QUERY_STRING $args; + fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; + fastcgi_index index.php; + include fastcgi_params; +} + +location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + if (!-f $document_root$fastcgi_script_name) { + return 404; } + fastcgi_pass unix:/var/run/php7.3-fpm.sock; + fastcgi_index search.php; + include fastcgi.conf; +} +``` Restart the nginx and php5-fpm services and the website should now be available at `http://localhost/`. -Now continue with [importing the database](Import-and-Update.md). +Now continue with [importing the database](Import.md).