Um mit allsky was sinnvolles anzufangen, ist es fast ein Muss die Bilder auch öffentlich via webserver bereitzustellen. Für dieses Unterfangen habe ich hier noch einige unifi gemoddete USG rumliegen, die aufgrund des USB-Sticks einiges an Daten + Schreibzyklen zulassen und mehrere Ethernet-Ports aufweisen um hardware-technisch lan-wan strikt zu trennen. Da nach einem Defekt ich da wieder blank stand - ohne die genauen Schritte aufgeschrieben zu haben - war das etwas doof…

Nach obiger Neuinstallation wird das OpenWrt auf das Neueste hochgezogen, aktuell sowas wie 25.12.xx. Es folgt die Auflistung:

  • mc, nano, irqbalance (fürs handling)
  • lighttpd und notwendige module (cgi, simple_vhost)
  • ddns-skripte, curl , bind-host und ent. luci-mod
  • sftp-server (openssh)
  • shadow-user-Skripte, ggf. noch shadow-groupadd
  • php und php-cgi (aktuell in der 8er Version)

Allsky sendet via sftp die Bilddateien auf den webserver; je nach lighttpd-Installation heisst der benutzer=http oder www-data. Genau für diesen wird ein home-Verzeichnis /home/http/allsky mittels mkdir -p /home/benutzer/ erzeugt. Ja, man kann es anders benennen, so spart man sich halt Nacharbeiten. Danach ein useradd -m -d /home/benutzer -s /bin/ash benutzer, passwd benutzer und schliesslich chown -R benutzer:benutzer /home/benutzer.

Bei der Erstinstallation von lighttpd geht OpenWrt davon aus, dass man den uhttpd ersetzen will und sperrt den web-Zugang, d.h. man sollte also übers ssh-terminal einloggen und via /etc/init.d/lighttpd stop killen und weitermachen. Z.B. mit der Ergänzung von /etc/config/dhcp

config domain
      option name 'luci'
      option ip '192.168.1.1'

config domain
      option name 'allsky'
      option ip '192.168.xx.xx'

In der Firewall:

config redirect
        option src              wan
        option src_dport        8081
        option dest             lan
        option dest_ip          192.168.xx.xx
        option dest_port        8081
        option proto            tcp

config rule
        option src              wan
        option dest_port        8081
        option target           ACCEPT
        option proto            tcp

Und im lighttpd-Modul simple_vhost:

$HTTP["host"] =~ "^allsky(\:[0-9]*)?$" {
    dir-listing.activate = "disable"
    server.document-root = "/www1/"
    $HTTP["url"] =~ "^/cgi-bin" {
        cgi.assign += ( "" => "" )
    }
}

Bei den anderen Modulen sind ggf. die Pfade für php bzw. cgi zu aktualisieren, gilt auch für die lighttpd.conf; dort noch server.port = 8081 eintragen (je nach Bedarf).

Je nach Umgebung muss dann im vorgelagerten Modem+Router (z.B. FB) die Portfreigabe für http-Dienst 8081 angegeben werden. Der Rest ist via dynDNS und je nach Anbieter anzugeben.


<
Previous Post
Allsky
>
Blog Archive
Archive of all previous blog posts