|
|
@@ -1,12 +1,52 @@
|
|
|
#!/bin/sh /etc/rc.common
|
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
|
+
|
|
|
START=50
|
|
|
+HTTPD_BIN="/usr/sbin/httpd"
|
|
|
+
|
|
|
+system_config() {
|
|
|
+ local cfg="$1"
|
|
|
+
|
|
|
+ config_get hostname "$cfg" hostname
|
|
|
+}
|
|
|
+
|
|
|
+httpd_config() {
|
|
|
+ local cfg="$1"
|
|
|
+ local c_file port realm home
|
|
|
+
|
|
|
+ config_get c_file "$cfg" c_file
|
|
|
+ [ -n "$c_file" -a -f "$c_file" ] && append args "-c \"$c_file\""
|
|
|
+ config_get port "$cfg" port
|
|
|
+ append args "-p ${port:-80}"
|
|
|
+ config_get home "$cfg" home
|
|
|
+ home="${home:-/www}"
|
|
|
+ [ -d "$home" ] || return 1
|
|
|
+ append args "-h \"$home\""
|
|
|
+ config_get realm "$cfg" realm
|
|
|
+ realm="${realm:-$hostname}"
|
|
|
+ append args "-r \"$realm\""
|
|
|
+ eval "$HTTPD_BIN $args"
|
|
|
+}
|
|
|
|
|
|
start() {
|
|
|
- include /lib/network
|
|
|
- scan_interfaces
|
|
|
- config_get ifname wan hostname
|
|
|
- [ -d /www ] && httpd -p 80 -h /www -r ${hostname:-OpenWrt}
|
|
|
+ [ -x "$HTTPD_BIN" ] || return 1
|
|
|
+
|
|
|
+ unset hostname
|
|
|
+ config_load system
|
|
|
+ config_foreach system_config system
|
|
|
+ hostname="${hostname:-OpenWrt}"
|
|
|
+
|
|
|
+ unset args
|
|
|
+ config_load httpd
|
|
|
+ [ "$?" != "0" ] && {
|
|
|
+ uci_set_default httpd <<EOF
|
|
|
+config 'httpd'
|
|
|
+ option 'port' '80'
|
|
|
+ option 'home' '/www'
|
|
|
+EOF
|
|
|
+ config_load httpd
|
|
|
+ }
|
|
|
+ config_foreach httpd_config httpd
|
|
|
}
|
|
|
|
|
|
stop() {
|