]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/admin/Installation.md
Merge pull request #1836 from lonvia/rework-large-location-II
[nominatim.git] / docs / admin / Installation.md
index a02b48e2a2d7fcaea3202ef54f8fe8f1cdecbf9a..bc97212ee2d663dc4cd1dc0c5556eb3e432c30ba 100644 (file)
@@ -36,8 +36,8 @@ For compiling:
 
 For running Nominatim:
 
-  * [PostgreSQL](https://www.postgresql.org) (9.3 - 11)
-  * [PostGIS](https://postgis.org) (2.2 - 2.5)
+  * [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)
@@ -45,10 +45,6 @@ For running Nominatim:
   * PHP-intl (bundled with PHP)
   * a webserver (apache or nginx are recommended)
 
-!!! danger "Important"
-    Postgresql 12+ and Postgis 3.0+ are known to cause performance issues. They are
-    not recommended for a production installation at the moment.
-
 For running continuous updates:
 
   * [pyosmium](https://osmcode.org/pyosmium/) (with Python 3)
@@ -57,7 +53,7 @@ For running tests:
 
   * [behave](http://pythonhosted.org/behave/)
   * [nose](https://nose.readthedocs.io)
-  * [phpunit](https://phpunit.de)
+  * [phpunit](https://phpunit.de) >= 7.3
 
 ### Hardware
 
@@ -125,13 +121,15 @@ from there.
 Make sure your Apache configuration contains the required permissions for the
 directory and create an alias:
 
-    <Directory "/srv/nominatim/build/website">
-      Options FollowSymLinks MultiViews
-      AddType text/html   .php
-      DirectoryIndex search.php
-      Require all granted
-    </Directory>
-    Alias /nominatim /srv/nominatim/build/website
+``` apache
+<Directory "/srv/nominatim/build/website">
+  Options FollowSymLinks MultiViews
+  AddType text/html   .php
+  DirectoryIndex search.php
+  Require all granted
+</Directory>
+Alias /nominatim /srv/nominatim/build/website
+```
 
 `/srv/nominatim/build` should be replaced with the location of your
 build directory.
@@ -159,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).