Database/Map/Server
Lets set up our map server with local cached image files
Contents
Installing required software
Install nginx (server), hostapd (wifi AP host), dnsmasq (light dns server) install Nginx
sudo apt-get update sudo apt-get install nginx sudo apt-get install hostapd sudo apt-get install dnsmasq
Web Server
Set up web server to forward 404's to root directory (needed for captive portal behaviour) and start edit /etc/nginx/sites-available/default
and modify line in "location / {" section:
try_files $uri $uri/ = 404;
becomes
try_files $uri $uri/ /index.html;
Now start the server
sudo service nginx start
Set up hostapd
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
Note for EDIMAX adaptors
edimax version of hostapd if using an edimax wifi usb
DHCP and DNS for access point and captive portal
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
Map framework
Copy the server framework files across
- 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