## Installing nominatim-ui
-nominatim-ui does not need any special installation, just download, configure
-and run it.
+We provide regular releases of nominatim-ui that contain the packaged website.
+They do not need any special installation. Just download, configure
+and run it. Grab the latest release from
+[nominatim-ui's Github release page](https://github.com/osm-search/nominatim-ui/releases)
+and unpack it. You can use `nominatim-ui-x.x.x.tar.gz` or `nominatim-ui-x.x.x.zip`.
-Clone the source from github:
+Next you need to adapt the UI to your installation. Custom settings need to be
+put into `dist/theme/config.theme.js`. At a minimum you need to
+set `Nominatim_API_Endpoint` to point to your Nominatim installation:
- git clone https://github.com/osm-search/nominatim-ui
+ cd nominatim-ui
+ echo "Nominatim_Config.Nominatim_API_Endpoint='https://myserver.org/nominatim/';" > dist/theme/config.theme.js
-Adapt the configuration `dist/config.js` to your needs. You need at least
-to change the `Nominatim_API_Endpoint` to point to your Nominatim installation.
+For the full set of available settings, have a look at `dist/config.defaults.js`.
Then you can just test it locally by spinning up a webserver in the `dist`
directory. For example, with Python:
~(^|&)format= other;
}
-# Determine from the URI and the format parameter aboce if forwarding is needed.
+# Determine from the URI and the format parameter above if forwarding is needed.
map $uri/$format $forward_to_ui {
default 1; # The default is to forward.
~^/ui 0; # If the URI point to the UI already, we are done.
- ~/other$ 0; # An explicit non-html format paramter. No forwarding.
+ ~/other$ 0; # An explicit non-html format parameter. No forwarding.
~/reverse.*/default 0; # Reverse and lookup assume xml format when
~/lookup.*/default 0; # no format parameter is given. No forwarding.
}
location @php {
# fastcgi stuff..
if ($forward_to_ui) {
- rewrite ^(/[^/]*) http://nominatim.loar/ui$1.html redirect;
+ rewrite ^(/[^/]*) https://yourserver.com/ui$1.html redirect;
}
}
location ~ [^/]\.php(/|$) {
# fastcgi stuff..
if ($forward_to_ui) {
- rewrite (.*).php http://nominatim.loar/ui$1.html redirect;
+ rewrite (.*).php https://yourserver.com/ui$1.html redirect;
}
}
```
# If no endpoint is given, then use search.
RewriteRule ^(/|$) "search.php"
- # If format-html is explicity requested, forward to the UI.
+ # If format-html is explicitly requested, forward to the UI.
RewriteCond %{QUERY_STRING} "format=html"
- RewriteRule ^([^/]+).php ui/$1.html [R,END]
- # Same but .php suffix is missing.
- RewriteCond %{QUERY_STRING} "format=html"
- RewriteRule ^([^/]+) ui/$1.html [R,END]
+ RewriteRule ^([^/]+)(.php)? ui/$1.html [R,END]
# If no format parameter is there then forward anything
# but /reverse and /lookup to the UI.
RewriteCond %{QUERY_STRING} "!format="
RewriteCond %{REQUEST_URI} "!/lookup"
RewriteCond %{REQUEST_URI} "!/reverse"
- RewriteRule ^([^/]+).php ui/$1.html [R,END]
- # Same but .php suffix is missing.
- RewriteCond %{QUERY_STRING} "!format="
- RewriteCond %{REQUEST_URI} "!/lookup"
- RewriteCond %{REQUEST_URI} "!/reverse"
- RewriteRule ^([^/]+) ui/$1.html [R,END]
+ RewriteRule ^([^/]+)(.php)? ui/$1.html [R,END]
</Directory>
```