libbz2-dev libpq-dev libproj-dev \
postgresql-server-dev-10 postgresql-10-postgis-2.4 \
postgresql-contrib-10 postgresql-10-postgis-scripts \
- php php-pgsql php-intl \
- python3-psycopg2 git
+ php php-pgsql php-intl libicu-dev python3-pip \
+ python3-psycopg2 python3-psutil python3-jinja2 python3-icu git \
+ python3-argparse-manpage
+# The python-dotenv package that comes with Ubuntu 18.04 is too old, so
+# install the latest version from pip:
+
+ pip3 install python-dotenv
#
# System Configuration
# The code must be built in a separate directory. Create this directory,
# then configure and build Nominatim in there:
- cd $USERHOME
- mkdir build
- cd build
+ mkdir $USERHOME/build
+ cd $USERHOME/build
cmake $USERHOME/Nominatim
make
+ sudo make install
# Nominatim is now ready to use. You can continue with
# Setting up a webserver
# ======================
#
+# The webserver should serve the php scripts from the website directory of your
+# [project directory](../admin/import.md#creating-the-project-directory).
+# Therefore set up a project directory and populate the website directory:
+
+ mkdir $USERHOME/nominatim-project
+ cd $USERHOME/nominatim-project
+ nominatim refresh --website
+#
# Option 1: Using Apache
# ----------------------
#
#DOCS:```sh
sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF
-<Directory "$USERHOME/build/website">
+<Directory "$USERHOME/nominatim-project/website">
Options FollowSymLinks MultiViews
AddType text/html .php
DirectoryIndex search.php
Require all granted
</Directory>
-Alias /nominatim $USERHOME/build/website
+Alias /nominatim $USERHOME/nominatim-project/website
EOFAPACHECONF
#DOCS:```
sudo a2enconf nominatim
sudo systemctl restart apache2
-# You need to create a minimal configuration file that tells nominatim
-# where it is located on the webserver:
-
-#DOCS:```sh
-tee settings/local.php << EOF
-<?php
- @define('CONST_Website_BaseURL', '/nominatim/');
-EOF
-#DOCS:```
-
# The Nominatim API is now available at `http://localhost/nominatim/`.
fi #DOCS:
listen 80 default_server;
listen [::]:80 default_server;
- root $USERHOME/build/website;
+ root $USERHOME/nominatim-project/website;
index search.php index.html;
location / {
try_files \$uri \$uri/ @php;