配置Apache
安装apache
sudo apt install apache2
创建一个模块来加载文件
sudo nano /etc/apache2/mods-available/mod_tile.load
粘贴下列代码到文件中
LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so
创建一个链接
sudo ln -s /etc/apache2/mods-available/mod_tile.load /etc/apache2/mods-enabled/
编辑下列的初始配置
sudo nano /etc/apache2/sites-enabled/000-default.conf
粘贴以下代码至文件中
LoadTileConfigFile /usr/local/etc/renderd.conf
ModTileRenderdSocketName /var/run/renderd/renderd.sock
#Timeout before giving up for a tile to be rendered
ModTileRequestTimeout 0
#Timeout before giving up for a tile to be rendered that is otherwise missing
ModTileMissingRequestTimeout 30
保存文件并重启Apache
sudo systemctl restart apache2
手动启动renderd
执行下面命令,为启动renderd服务,启动起来之后,该命令不会自动结束,而是处于一直启动的状态,如果想看地图服务器是否搭建成功,请勿手动关闭该命令。
sudo -u 'osm' renderd -f -c /usr/local/etc/renderd.conf
在网页浏览器中输入:your-server-ip/osm_tiles/0/0/0.png,如果出现了一张世界地图,说明搭建的服务器成功能,此时可以关闭该命令。
没有的话也不要紧,接着执行以下命令
后台启动renderd service
通过拷贝mod_tile的init脚本安装renderd init脚本:
sudo cp mod_tile/debian/renderd.init /etc/init.d/renderd
赋予权限
sudo chmod a+x /etc/init.d/renderd
编辑init脚本文件
sudo vim /etc/init.d/renderd
改变下列的变量值
DAEMON=/usr/local/bin/$NAME
DAEMON_ARGS="-c /usr/local/etc/renderd.conf"
RUNASUSER=osm
保存文件。
创建下列文件,使得osm可以操作这些文件
sudo mkdir -p /var/lib/mod_tile
sudo chown osm:osm /var/lib/mod_tile
然后开始renderd service
sudo systemctl daemon-reload
sudo systemctl start renderd
sudo systemctl enable renderd
使用leaflet显示滑动地图
进入apache2目录
cd /var/www/html/
然后从leftletjs.com下载JavaScript和CSS,并将其解压缩到Web根文件夹。
wget http://cdn.leafletjs.com/leaflet/v1.3.3/leaflet.zip
解压
unzip leaflet.zip 没有unzip的话安装以下
apt install unzip
编辑apache2的主页,将其替换为一下代码,红色字体需要更换为服务器IP地址
sudo nano /var/www/html/index.html
<html&g