Database/Map/Server
From Open Maps wiki
Revision as of 11:18, 16 April 2016 by 185.65.232.126 (Talk)
RPi side
Lets set up our map server with local cached image files
- Install nginx (server), hostapd (wifi AP host), dnsmasq (light dns server)
sudo apt-get update sudo apt-get install nginx sudo apt-get install hostapd sudo apt-get install dnsmasq sudo service nginx start
- Make a link to /var/www to make things easier
sudo ln -s /var/www /home/USER/code
- Set up AP with hostap (instructions from set up AP with udhcpd)
edit the file /etc/hostapd/hostapd.conf
interface=wlan0 ssid=TacticalSpaceLab hw_mode=g channel=6 auth_algs=1 wmm_enabled=0
Edit the file /etc/default/hostapd and change the line:
#DAEMON_CONF=""
to
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Start it up, and add it to start at boot
sudo service hostapd start sudo update-rc.d hostapd enable
sudo service hostapd start
- Set up /etc/network/interfaces for serving DHCP and DNS
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 10.1.2.1 netmask 255.255.255.0 network 10.1.2.0
- configure dnsmasq /etc/dnsmasq.conf
# captive portal to this no-resolv server=/localnet/10.1.2.1 server=/tacticalspace/10.1.2.1 address=/#/10.1.2.1 interface=wlan0 dhcp-range=10.1.2.5,10.1.2.200,12h
- restart dnsmasq
sudo /etc/init.d/dnsmasq restart
- if you want dnsmarsq script logging...
Create /var/log/dhcp_leases file with write create /usr/bin/logdhcp, make executable add it to dnsmasq config
#!/bin/bash destfile=/var/log/dhcp_leases #if [ "$1" == "add" ] #then if [ -f "$destfile" ] then echo "$1 $2" >> "$destfile" fi #fi
ended up using dnsmasq for DNS and DHCP. Setting DNS forward IP to local for captive portal setup
Routing
sudo iptables -t nat -A PREROUTING -s 10.1.2.1/24 -p tcp -j DNAT --to-destination 10.1.2.1 sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
- place javascript files and map tiles into /var/www
Remember to make all /var/www/ folders readable with:
sudo find /var/www -type d -exec chmod a+x {} +
and possibly
sudo find /var/www -type d -exec chown {} root:root +
For Map content
MapNik coding platform for maps... pull render tiles using this? beautiful Stamen Design map that can be used