55 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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() {
 | 
						|
	[ -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() {
 | 
						|
	killall httpd
 | 
						|
}
 |