Явно никой не е. Лошо няма. Ако все пак някой някога се хване с рендиране на карти, това може да му помогне:
Преди да пуснете mod_tile трябва да имате работещ Mapnik и osm2pgsql. И след това се следват следните стъпки:
cd /home/user/
svn co http://svn.openstreetmap.org/applications/utils/mod_tile
cd mod_tile
Променяме Makefile така:
top_dir:=$(shell /usr/bin/apxs2 -q exp_installbuilddir)
- не съм пробвал, но мисля, че дори тази промяна не е нужна.
След това променяме render_config.h файла така:
#define HASH_PATH "/var/lib/mod_tile"
#define TILE_PATH "/var/www/osm_tiles2"
#define RENDER_CONFIG "/etc/renderd.conf"
#define MAPNIK_PLUGINS "/usr/local/lib/mapnik/input"
#define FONT_DIR "/usr/share/fonts/truetype/ttf-dejavu/"
#define FONT_RECURSE 1
След това променяме renderd.conf файла:
[renderd]
soketname=/var/run/renderd/renderd.sock
num_threads=4
tile_dir=/var/lib/mod_tile
stats_file=/var/run/renderd/renderd.stats
[mapnik]
plugins_dir=/usr/local/lib/mapnik/input
font_dir=/usr/local/lib/mapnik/fonts
font_dir_recurse=1
[default]
URI=/osm_tiles2/
XML=/root/user/bin/mapnik/osm.xml ;locate your osm.xml file
HOST=tiles.geolocations.com ;your domain name
След това пускаме:
make && make install
Проверяваме дали файловете renderd.conf и /etc/renderd.conf са еднакви:
diff renderd.conf /etc/renderd.conf
Както сме в:
/home/user/mod_tile
копираме mod_tile.conf в директорията на апача където са виртуалните хостове:
cp mod_tile.conf /etc/apache2/sites-available
След това трябва да активираме модула mod_tile:
touch /etc/apache2/mods-available/mod_tile.load
В този load файл записваме следното:
echo "LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so" > /etc/apache2/mods-available/mod_tile.load
Зареждаме създадения модул така:
a2enmod mod_tile
Самият виртуален хост редактираме така:
#LoadModule tile_module modules/mod_tile.so
DocumentRoot /var/www
AddTileConfig /osm_tiles2/ default
LoadTileConfigFile /etc/renderd.conf
ModTileTileDir /var/lib/mod_tile
ModTileRenderSocketNmae /var/run/renderd/renderd.sock
След това активираме новия виртуален хост, но преди това ще го преименуваме:
mv /etc/apache2/sites-available/mod_tile.conf /etc/apache2/sites-available/osm
a2ensite osm
Демона на renderd трябва да бъде стартиран от www-data (или потребителя на апача, ако сте го сменили):
sudo su www-data
./renderd -f
(-f e опция за DEBUG на renderd демона)
След това рестартираме апача за да зареди новия виртуален хост:
apache2ctl restart
След тези манипулации ако отворим браузъра и напишем:
http://localhost/osm_tiles2/0/0/0трябва да ни се появи картинка с границите на целия свят. Успех
PS: Не съм описвал местата на който ни трябва root достъп за да изпълним командите, но се надявам да се оправите с тях.
PS2: Във виртуалния хост съм написал само кой неща трябва да се променят. Останалите опции се запазват, или се променят според нашите желания.