============= tile.libre.is ============= Tile server for ``_. switch2osm.org ============== Self-hosting tiles for maps. ``_ ``_ Debian ====== Install deps. .. code-block:: sh sudo apt install sudo screen locate libapache2-mod-tile renderd git tar \ unzip wget bzip2 apache2 lua5.1 mapnik-utils python3-mapnik \ python3-psycopg2 python3-yaml gdal-bin node-carto postgresql \ postgresql-contrib postgis postgresql-15-postgis-3 \ postgresql-15-postgis-3-scripts osm2pgsql net-tools curl PostGIS ======= Thusly. .. code-block:: sh sudo -u postgres -i createuser _renderd createdb -E UTF8 -O _renderd gis psql At the Postgres prompt: .. code-block:: psql \c gis CREATE EXTENSION postgis; CREATE EXTENSION hstore; ALTER TABLE geometry_columns OWNER TO _renderd; ALTER TABLE spatial_ref_sys OWNER TO _renderd; \q Carto ===== Set up Openstreet map Carto: .. code-block:: sh mkdir ~/src cd ~/src git clone https://github.com/gravitystorm/openstreetmap-carto cd openstreetmap-carto carto project.mml > mapnik.xml Map Data ======== Just using Azerbaijan for example, until more disk is available... .. code-block:: sh mkdir ~/data cd ~/data wget https://download.geofabrik.de/asia/azerbaijan-latest.osm.pbf # meh, should have separate user... chmod o+rx ~ sudo -u _renderd osm2pgsql -d gis --create --slim -G --hstore \ --tag-transform-script ~/src/openstreetmap-carto/openstreetmap-carto.lua \ -C 2500 --number-processes 1 \ -S ~/src/openstreetmap-carto/openstreetmap-carto.style \ ~/data/azerbaijan-latest.osm.pbf Indexes ======= Thusly. .. code-block:: sh cd ~/src/openstreetmap-carto/ sudo -u _renderd psql -d gis -f indexes.sql Shapefiles ========== Thusly. .. code-block:: sh cd ~/src/openstreetmap-carto/ mkdir data sudo chown _renderd data sudo -u _renderd scripts/get-external-data.py Fonts ===== Thusly. .. code-block:: sh cd ~/src/openstreetmap-carto/ scripts/get-fonts.sh renderd ======= Edit /etc/renderd.conf thusly, add to bottom, changing "accountname" to the user used above: .. code-block:: cfg [s2o] URI=/hot/ XML=/home/accountname/src/openstreetmap-carto/mapnik.xml HOST=localhost TILESIZE=256 MAXZOOM=20 Edit /usr/lib/systemd/system/renderd.service and add to [Service] section: .. code-block:: cfg Environment=G_MESSAGES_DEBUG=all Apache ====== Thusly... .. code-block:: sh cd /etc/apache2/conf-available/ sudo wget https://raw.githubusercontent.com/openstreetmap/mod_tile/python-implementation/etc/apache2/renderd.conf sudo a2enconf renderd sudo systemctl reload apache2 sudo systemctl daemon-reload sudo systemctl restart renderd sudo systemctl restart apache2 sudo mkdir /var/lib/mod_tile sudo chown _renderd /var/lib/mod_tile sudo /etc/init.d/renderd restart sudo /etc/init.d/apache2 restart Then go check it here: ``_ View Tiles ========== Thus. .. code-block:: sh cd /var/www/html sudo wget https://raw.githubusercontent.com/SomeoneElseOSM/mod_tile/switch2osm/extra/sample_leaflet.html sudo mv sample_leaflet.html index.html sudo sed -i -e 's/127.0.0.1/tile.libre.is/g' index.html Using Tiles =========== See: ``_ TODO ==== * Get more space. * Add more tiles...