|
|
|
@ -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() { |
|
|
|
|