Difference between revisions of "How to Setup an Open Street Map Tile Server under Ubuntu 18.04 in a Proxmox Container"
| Line 33: | Line 33: | ||
#*You're going to see lots of Warnings. [https://github.com/gravitystorm/openstreetmap-carto/issues/3183 this is ok]. Your tile server will work fine. | #*You're going to see lots of Warnings. [https://github.com/gravitystorm/openstreetmap-carto/issues/3183 this is ok]. Your tile server will work fine. | ||
##Run ''exit'' | ##Run ''exit'' | ||
| − | + | #Run ''sudo nano /etc/renderd.conf'' and set the following | |
| − | + | /nowiki>[renderd] | |
| − | + | set "num_threads=4" #set to the number of CPU Core's you have. This can be found under the Resources section of your Promox Container on the Proxmox web GUI | |
| − | sudo nano /etc/renderd.conf | + | [mapnik] |
| − | + | set "plugins_dir=/usr/lib/mapnik/3.0/input" | |
| − | + | set "font_dir=/usr/share/fonts/truetype" | |
| − | + | set "find_dir_recursive=true" | |
| − | + | [default] | |
| − | + | set "XML=/home/osm/openstreetmap-carto-4.21.1/style.xml" | |
| − | + | set "HOST=YOURSERVER.COM"</nowiki> | |
| − | + | #Run ''sudo nano /etc/init.d/renderd'' and set the following | |
| − | + | <nowiki>set "RUNASUSER=osm"</nowiki> | |
| − | + | #Run ''sudo chown osm:osm /var/lib/mod_tile/ -R'' | |
| − | sudo nano /etc/init.d/renderd | + | #Run ''sudo systemctl daemon-reload'' |
| − | + | #Run ''sudo systemctl restart renderd'' | |
| − | sudo chown osm:osm /var/lib/mod_tile/ -R | + | #Run ''sudo nano /etc/apache2/sites-available/tileserver_site.conf'' and set the following |
| − | sudo systemctl daemon-reload | + | <nowiki>set "ServeName YOURSERVER.COM" |
| − | sudo systemctl restart renderd | + | #ServerAlias a.tile.mytileserver.org b.tile.mytileserver.org c.tile.mytileserver.org</nowiki> #comment out this line</nowiki> |
| − | sudo nano /etc/apache2/sites-available/tileserver_site.conf | + | #Run ''sudo nano /var/www/osm/slippymap.html'' and set the following |
| − | + | <nowiki><title>MY NEW COOL TITLE!</title> | |
| − | + | var lat=MY.START_LAT | |
| − | sudo nano /var/www/osm/slippymap.html | + | var long=MY.START_LONG |
| − | + | var zoom=MY_PREFERRED_ZOOM_LEVEL</nowiki> | |
| − | + | #Run ''sudo rm /var/www/index.html'' | |
| − | sudo rm /var/www/index.html | + | #Run ''sudo nano /var/www/index.html'' and fill with |
| − | sudo nano /var/www/index.html and fill with | + | <nowiki><html> |
| − | + | <head> | |
| − | + | <meta http-equiv="refresh" content="0; url=http://YOURSERVER.COM/osm/slippymap.html" /> | |
| − | + | </head> | |
| − | + | </html></nowiki> | |
| − | |||
| − | https://www.linuxbabe.com/ubuntu/openstreetmap-tile-server-ubuntu-18-04-osm | + | *''Most of basis for this How To came from https://www.linuxbabe.com/ubuntu/openstreetmap-tile-server-ubuntu-18-04-osm'' |
[[Category: Linux]] | [[Category: Linux]] | ||
Revision as of 07:20, 4 July 2019
Open Street Map is a well know, open source (and crown sourced) alternative to the likes of Google Maps and Bing Maps. Open Street Maps content (ie: maps) are provided to users and applications by what are known as Tile Servers. This tutorial will show you how to setup an Open Street Map Tile Server of your own in a Linux Container running Ubuntu 18.04 under Proxmox. Furthermore we'll use the built in and simple Map Viewer. This means that this container can provide map tiles to other applications (such as an ADS-B Virtual Radar Server) as well as providing its own native Google Maps -like capability all while being totally disconnected from the internet.
Install Prerequisites
- Run sudo apt update
- Run sudo apt upgrade
- Run sudo dpkg-reconfigure locales
- select "en_US.UTF-8 UTF-8" on both screens
- Run sudo apt install software-properties-common
- hit Enter to continue
- Run sudo add-apt-repository ppa:osmadmins/ppa
- Run sudo apt install postgresql postgresql-contrib postgis postgresql-10-postgis-2.4 osm2pgsql libapache2-mod-tile renderd curl unzip gdal-bin mapnik-utils libmapnik-dev nodejs npm ttf-dejavu fonts-noto-cjk fonts-noto-hinted fonts-noto-unhinted ttf-unifont
- choose Yes to "enable mod_tile in the apache config"
- Run sudo npm install -g carto
- Run sudo -u postgres -i
- Run createuser osm
- Run createdb -E UTF8 -O osm gis
- Run psql -c "CREATE EXTENSION postgis;" -d gis
- Run psql -c "CREATE EXTENSION hstore;" -d gis
- Run psql -c "ALTER TABLE spatial_ref_sys OWNER TO osm;" -d gis
- Run exit
- Run sudo adduser osm
- Run su - osm
- Run wget https://github.com/gravitystorm/openstreetmap-carto/archive/v4.21.1.tar.gz
- Run tar xvf v*.tar.gz
- Run wget -c http://download.geofabrik.de/north-america/us/georgia-latest.osm.pbf
- At this point the standard Ubuntu 18.04 setup guide I followed had you configure your machine's swap. Since Proxmox handles this we'll skip that step
- Run osm2pgsql --slim -d gis --hstore --multi-geometry --number-processes 2 --tag-transform-script /home/osm/openstreetmap-carto-4.21.1/openstreetmap-carto.lua --style /home/osm/openstreetmap-carto-4.21.1/openstreetmap-carto.style -C 3072 /home/osm/georgia-latest.osm.pbf
- Run cd /home/osm/openstreetmap-carto-4.21.1
- Run scripts/get-shapefiles.py
- Run carto project.mml > style.xml
- You're going to see lots of Warnings. this is ok. Your tile server will work fine.
- Run exit
- Run sudo nano /etc/renderd.conf and set the following
/nowiki>[renderd]
set "num_threads=4" #set to the number of CPU Core's you have. This can be found under the Resources section of your Promox Container on the Proxmox web GUI [mapnik] set "plugins_dir=/usr/lib/mapnik/3.0/input" set "font_dir=/usr/share/fonts/truetype" set "find_dir_recursive=true" [default] set "XML=/home/osm/openstreetmap-carto-4.21.1/style.xml" set "HOST=YOURSERVER.COM"</nowiki>
- Run sudo nano /etc/init.d/renderd and set the following
set "RUNASUSER=osm"
- Run sudo chown osm:osm /var/lib/mod_tile/ -R
- Run sudo systemctl daemon-reload
- Run sudo systemctl restart renderd
- Run sudo nano /etc/apache2/sites-available/tileserver_site.conf and set the following
set "ServeName YOURSERVER.COM" #ServerAlias a.tile.mytileserver.org b.tile.mytileserver.org c.tile.mytileserver.org #comment out this line</nowiki>
- Run sudo nano /var/www/osm/slippymap.html and set the following
<title>MY NEW COOL TITLE!</title> var lat=MY.START_LAT var long=MY.START_LONG var zoom=MY_PREFERRED_ZOOM_LEVEL
- Run sudo rm /var/www/index.html
- Run sudo nano /var/www/index.html and fill with
<html> <head> <meta http-equiv="refresh" content="0; url=http://YOURSERVER.COM/osm/slippymap.html" /> </head> </html>
- Most of basis for this How To came from https://www.linuxbabe.com/ubuntu/openstreetmap-tile-server-ubuntu-18-04-osm