mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1005 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1005 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 args
 | |
| 
 | |
| 	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
 | |
| }
 |