systemed / mod_mbtiles Goto Github PK
View Code? Open in Web Editor NEWServe tiles with Apache directly from an .mbtiles file
Serve tiles with Apache directly from an .mbtiles file
I'm trying to use "mod_mbtiles " to replace Tilemaker's example ruby server at https://github.com/systemed/tilemaker/blob/master/server/server.rb .
Most things are straightforward ("mod_mbtiles" serves tiles from a tilemaker-generated .mbtiles file without issues), with one caveat:
https://github.com/systemed/tilemaker/blob/master/server/static/index.html includes code that does a fetch on "/metadata", and server.rb handles that internally via https://github.com/systemed/tilemaker/blob/master/server/server.rb#L74 .
Is mod_mbtiles supposed to server a metadata file from some URL below the URL set in the Apache virtualhost config after "MbtilesAdd"? I've tried various likely URLs without success. What does work is manually creating that file on disk, but this seems unlikely to be correct since the data is obviously in the .mbtiles file.
What configuration file do I update and where in the file do I update?
This is on Ubuntu 22.04, and the apache there identifies itself as "Apache/2.4.52 (Ubuntu)"
mod_mbtiles was installed as per https://github.com/systemed/mod_mbtiles#installation ("sudo apt install apache2-dev libsqlite3-dev", then "sudo apxs -lsqlite3 -i -a -c mod_mbtiles.c"). It was happily serving tiles from one .mbtiles file until I tried to add a second. In the "<VirtualHost *:80>" in "000-default.conf" after " DocumentRoot /var/www/html" I have:
MbtilesEnabled true
MbtilesAdd sve01 /var/www/html/vector/sve01/tilemaker_sve01.mbtiles
MbtilesAdd omt_ny /var/www/html/vector/omt_ny/tilemaker_omt_ny.mbtiles
This fails, and "systemctl status apache2.service" says it failed with a fairly unhelpful "Segmentation fault (core dumped)".
However, if I swap the entries around:
MbtilesEnabled true
MbtilesAdd omt_ny /var/www/html/vector/omt_ny/tilemaker_omt_ny.mbtiles
MbtilesAdd sve01 /var/www/html/vector/sve01/tilemaker_sve01.mbtiles
Apache is a happy bunny! I have not changed https://github.com/systemed/mod_mbtiles/blob/master/mod_mbtiles.c , and it still has "#define MAX_TILESETS 20" in it. In addition to the various modules installed by default I also have "LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so" for raster tiles.
The also error occurs (with the entries the other way around) if I use two "known good" mbtiles files (two differently named copies of the same working one).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.