Database/Map/Server
Lets set up our map server with local cached image files
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