Nominatim is a powerful tool that allows you to search and locate addresses on maps. In this tutorial, we will walk you through the process of installing Nominatim on Alpine Linux latest.
Before we begin, make sure that you have the following prerequisites:
The first step is to install the dependencies required for Nominatim. Open your terminal and run the following command:
sudo apk add make cmake gcc g++ libtool automake autoconf expat-dev zlib-dev bzip2-dev proj-dev libxml2-dev libgeos-dev libgeos++-dev libpq-dev protobuf-c-dev gdal-dev libspatialite-dev
This command installs all the necessary dependencies required for Nominatim.
Next, we need to download the Nominatim source code. Run the following command to clone the Git repository:
git clone https://github.com/osm-search/Nominatim.git
This command will clone the Nominatim repository to your current directory. Change to the Nominatim directory:
cd Nominatim
Now that we have the source code, we need to build Nominatim. Run the following command to configure Nominatim:
./autogen.sh
./configure
This command will configure Nominatim based on your system's environment. Next, we need to build the binary files. Run the following command:
make
This command will start the build process, which may take some time. Once the build process is complete, run the following command to install Nominatim:
sudo make install
This command will install Nominatim at the default location, which is /usr/local/share/nominatim
.
Next, we need to install PostgreSQL and PostGIS. Run the following command to install PostgreSQL and PostGIS:
sudo apk add postgresql postgresql-contrib postgresql-dev postgis postgis-dev
This command will install all the necessary packages for PostgreSQL and PostGIS.
The next step is to create a dedicated user and database for Nominatim. Run the following commands to create a user and a database:
sudo -u postgres createuser -s nominatim
sudo -u postgres createdb nominatim
These commands create a user named nominatim
with superuser access and a database named nominatim
.
Now, it's time to import OpenStreetMap (OSM) data into the Nominatim database. Run the following commands to download and import the OSM data for your desired region:
wget http://download.geofabrik.de/your-desired-region-latest.osm.pbf
sudo -u nominatim ./utils/setup.php --osm-file /path/to/your-desired-region-latest.osm.pbf --all
Replace your-desired-region
with the name of your desired region. For example, if you want to import OSM data for the United States, replace your-desired-region
with north-america/us
.
This command may take some time depending on the size of the OSM data.
The final step is to configure Nginx to serve the Nominatim web application. Run the following command to install Nginx:
sudo apk add nginx
Next, create a new Nginx configuration file:
sudo nano /etc/nginx/conf.d/nominatim.conf
Paste the following configuration in the file:
server {
listen 80 default_server;
root /usr/local/share/nominatim/web;
location / {
index index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
}
}
Save and close the file. Restart Nginx:
sudo service nginx restart
And that's it! You have successfully installed Nominatim on Alpine Linux latest. You can now access the Nominatim web application by pointing your web browser to http://your-server-ip-address
.
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!