File: apache-index.sh

package info (click to toggle)
wwwconfig-common 0.3.0
  • links: PTS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 488 kB
  • sloc: sh: 952; makefile: 5
file content (44 lines) | stat: -rwxr-xr-x 1,429 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
# File:		apache-index.sh
# Changes:
#      	20010219 Ola Lundqvist <opal@debian.org>
#	20011022 Luca De Vitis <luca@debian.org>
#		Introduced the error variable.
#	20020116 Ola Lundqvist <opal@debian.org>
#		Documented the error variable.
# Needs:	$index - the index file to add.
#		$conffile - the config file to modify.
# Description:	Adds an index to a apache config.
#		Ie: adds to DirectoryIndex
# Sets:		$status = {error, nothing, found, added}
#		$error = error message (if $status = error)

status=error
error=""

if [ -z "$index" ] ; then
    error="No index specified in apache-index.sh."
elif [ -z "$conffile" ] ; then
    error="No config file specified in apache-index.sh."
elif [ ! -f $conffile ] ; then
    error="Config file $conffile not found from apache-index.sh."
else
    status=nothing
    if grep "DirectoryIndex" $conffile >/dev/null 2>&1; then
	if grep -e "DirectoryIndex.*\b$index\b" $conffile >/dev/null 2>&1; then
	    log="${log}$index settings in $conffile found!"
	    status=found
	else 
	    sed -e "s#\(DirectoryIndex.*\bindex.html\b\)#\1 $index#" < $conffile > $conffile.new
	    if grep -e "DirectoryIndex.*[[:space:]]\+$index\b" $conffile.new > /dev/null 2>&1; then
		log="${log}$index index settings in $conffile added!"
		mv $conffile.new $conffile
		status=added
	    else
		error="Error when adding $index index settings in $conffile!"
		rm $conffile.new
	    fi
	fi
    fi
fi