How to Install Nominatim on Manjaro

Nominatim is an open source search engine for geographic data. It provides free and unlimited access to worldwide maps and geographic information. In this tutorial, we will show you how to install Nominatim on Manjaro.

Prerequisites

Before we begin, you will need:

Installation

To download and install Nominatim on Manjaro, follow these steps:

Step 1: Install Dependencies

First, we need to install some dependencies that Nominatim requires:

sudo pacman -S curl git cmake g++ libboost-dev libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev postgresql-server-dev-all apache2 php php-pgsql libapache2-mod-php

Step 2: Clone the Nominatim Repository

Next, we need to clone the Nominatim repository from Github:

git clone --recursive https://github.com/openstreetmap/Nominatim.git

Step 3: Install Nominatim

Once downloaded, navigate to the Nominatim folder and run the following commands:

cd Nominatim
mkdir build && cd build
cmake ..
make
sudo make install

Step 4: Configure Nominatim

Now, we need to set up a web server to access Nominatim. For example, let's set up an Apache server:

sudo a2enmod php && sudo a2enmod rewrite
sudo cp /usr/local/share/doc/nominatim/example/apache.conf /etc/httpd/conf/extra/nominatim.conf
sudo vi /etc/httpd/conf/extra/nominatim.conf

In the configuration file, add the following code:

Alias /nominatim /srv/nominatim/Nominatim/build/html

<Directory "/srv/nominatim/Nominatim/build/html">
  Options FollowSymLinks MultiViews
  AllowOverride All
  Require all granted
</Directory>

Save and exit the file.

Step 5: Initialize the Database

Finally, we need to initialize the database by running the following commands:

sudo -u postgres createuser nominatim
sudo -u postgres createdb nominatim
sudo -u postgres psql -c "ALTER USER nominatim WITH PASSWORD 'password';"
sudo -u nominatim ./utils/setup.php --osm-file <path_to_your_osm_file> --all --threads <number_of_threads>

Note: Replace <path_to_your_osm_file> with the path of your OpenStreetMap data file and <number_of_threads> with the number of threads you want to use.

Step 6: Test the Installation

Finally, restart the Apache server and access Nominatim from your web browser:

sudo systemctl restart httpd

Visit http://localhost/nominatim in your web browser and you should see a map of the world with a search bar on the top left corner of the page.

Congratulations, you have successfully installed Nominatim on Manjaro.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!