Nominatim is a powerful and open-source search tool for OpenStreetMap data. Follow the step-by-step instructions below to install Nominatim on FreeBSD Latest.
Before installing Nominatim, you should ensure that you have the following requirements:
First, ensure your FreeBSD system is up to date with the latest security patches by running the following command:
sudo pkg update && sudo pkg upgrade
Next, you need to install some dependencies required for Nominatim to run. Run the following command to install dependencies:
sudo pkg install osm2pgsql postgresql14-server apache24 php74 mod_php74 php74-pgsql
This command installs the following required dependencies:
After the installation is complete, start the PostgreSQL server by running the command:
sudo service postgresql start
Next, you need to create a database user and a database for Nominatim. Run the following commands:
sudo -u postgres createuser -SDR nominatim
This command creates a PostgreSQL user named "nominatim" with no superuser privileges, no role creation privileges, and no create database privileges.
sudo -u postgres createdb -E UTF8 -O nominatim nominatim
This command creates a PostgreSQL database named "nominatim" owned by the PostgreSQL user "nominatim".
Now you need to download the Nominatim source code. Run the following commands:
sudo mkdir /usr/local/share/nominatim
cd /usr/local/share/nominatim
sudo git clone --recursive https://github.com/openstreetmap/Nominatim.git
This command downloads the Nominatim source code into the /usr/local/share/nominatim/Nominatim
directory.
Next, install Nominatim by running the following commands:
cd Nominatim
sudo ./autogen.sh
sudo ./configure
sudo make -j $(nproc)
sudo make install
These commands build and install Nominatim.
After the installation is complete, you need to configure Nominatim. Run the following commands:
sudo mkdir /srv/nominatim
sudo chown nominatim:nominatim /srv/nominatim
These commands create a directory for storing Nominatim data and change the owner to the user "nominatim".
sudo -u nominatim /usr/local/bin/nominatim-refresh --all --backend-config postgresql://nominatim@/nominatim
This command imports OpenStreetMap data into the Nominatim database.
Finally, you need to configure the Apache web server to serve Nominatim. First, create a new Apache virtual host configuration file by running the following command:
sudo nano /usr/local/etc/apache24/Includes/nominatim.conf
Add the following lines to the file:
<VirtualHost *:80>
ServerName nominatim.example.com
DocumentRoot "/usr/local/share/nominatim/Nominatim/build/website"
ErrorLog "/var/log/nominatim/error.log"
CustomLog "/var/log/nominatim/access.log" combined
<Directory "/usr/local/share/nominatim/Nominatim/build/website">
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Replace "nominatim.example.com" with the actual domain name or IP address of your server. Save and close the file.
Then, enable the Apache web server and restart it by running the following commands:
sudo service apache24 enable
sudo service apache24 restart
Now you have successfully installed and configured Nominatim on your FreeBSD Latest server. You can now use this powerful tool to search OpenStreetMap data, either through the web interface or by calling its API.
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!