OpenStreetMap is an open-source mapping platform that has been gaining popularity for the last few years. In this tutorial, we will show you how to install OpenStreetMap on Fedora Server Latest.
Before installing OpenStreetMap on Fedora Server Latest, you should have:
OpenStreetMap requires various dependencies to be installed first. Install all the dependencies using the following command.
sudo dnf install -y gcc-c++ proj-devel gdal-devel libxml2-devel libtool-ltdl-devel gtk2-devel libXt-devel
OpenStreetMap uses PostgreSQL and PostGIS as a database to store information. We need to install it using the following command.
sudo dnf install -y postgresql-server postgis
Now we need to initialize and start the PostgreSQL service. Run the following commands to initialize and start the service.
sudo postgresql-setup --initdb
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
After starting the PostgreSQL service, login to the PostgreSQL shell using the following command.
sudo -u postgres psql
Once you are in the PostgreSQL shell, create a new user and database for OpenStreetMap using the following command.
CREATE USER osm WITH PASSWORD 'osm';
CREATE DATABASE osm OWNER osm;
Now we need to enable PostGIS in PostgreSQL. Run the following command to enable it.
sudo -i -u postgres psql -c "CREATE EXTENSION postgis;" osm
Osmosis is a command-line tool that we will use to extract data from OpenStreetMap. Install Osmosis using the following command.
sudo dnf install -y osmosis
Create a new directory where we will store OpenStreetMap data.
sudo mkdir /var/lib/osm
Now download OpenStreetMap data using the following command.
sudo osmupdate -v /var/lib/osm/osm.pbf /var/lib/osm/planet.osm
Configure OpenStreetMap using the following command.
sudo sed -i -e "s/bin\/bash/bin\/bash\nexport PGUSER=osm\nexport PGPASSWORD=osm\nexport PGHOST=localhost\nexport PGDATABASE=osm/" /usr/share/doc/osm2pgsql/examples/osm2pgsql.style
Install Apache using the following command.
sudo dnf install -y httpd mod_ssl
Now we need to create a virtual host for OpenStreetMap. Create a new virtual host at /etc/httpd/conf.d/osm.conf
with the following content.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/osm
Redirect permanent / https://localhost/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/osm
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/<yourdomain>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<yourdomain>/privkey.pem
<Directory /var/www/osm>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
After creating the virtual host, restart the Apache service using the following command.
sudo systemctl restart httpd.service
Now we need to import OpenStreetMap data into PostgreSQL. Use the following command to import it.
sudo osm2pgsql -c -l -d osm --slim -S /usr/share/doc/osm2pgsql/examples/osm2pgsql.style /var/lib/osm/osm.pbf
Finally, let's add the map data to Apache. Create a new directory for serving map tiles using the following command.
sudo mkdir /var/www/osm
Now download the map data and extract it to the Apache directory using the following command.
sudo osm2pgsql -C 2000 -d osm -U osm -H localhost -P 5432 --generate-sea- polygons --hstore /var/lib/osm/planet.osm.pbf
sudo chown -R apache.apache /var/lib/osm/tiles
sudo ln -s /var/lib/osm/tiles /var/www/osm/tiles
Congratulations! You have successfully installed and configured OpenStreetMap on Fedora Server Latest. You can now visit your website at https://<yourdomain>
.
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!