Kashub's Code Barn - "/usr/share/apache2/get_module_list"

podświetlone jako qbasic (dodał(a) kashub @ 2009-08-31 20:17:58)

Twoja wyszukiwarka
Parcel ABC
Podświetl ten kod w:
Ostatnio dodane:
Losowe wpisy:
#!/bin/bash
 
pname=apache2
: ${sysconfdir:=/etc/$pname}
: ${sysconfig_apache:=/etc/sysconfig/$pname}
default_APACHE_DOCUMENT_ROOT=/srv/www/htdocs
 
test -z "$APACHE_MODULES" && . /usr/share/$pname/load_configuration
apache_bin=$(/usr/share/$pname/find_mpm 2>/dev/null)
APACHE_MPM=${apache_bin##*-}
IF [ -z "$APACHE_MPM" ]; THEN 
	echo >&2 Warning: no MPM found. Some modules are dependant ON the TYPE of MPM.
fi
 
IF [ "$1" = -q ]; THEN
	quiet=true
ELSE
	quiet=false
fi
 
#echo -n writing sysconfig.d/loadmodule.conf
TMPFILE=`/bin/mktemp /tmp/$pname.XXXXXXXXXXXX`
IF [ -z "$TMPFILE" ]; THEN
	 echo >&2 ERROR: could NOT create temporary file FOR writing loadmodules.conf.
	 EXIT 1
fi
 
exec 3>$TMPFILE
echo >&3 "#
# Files in this directory are created at apache start time by /usr/sbin/rc$pname 
# Do not edit them!
#
 
# as listed in APACHE_MODULES ($sysconfig_apache)
" 
test -z "$APACHE_MODULES" && APACHE_MODULES=$LOADMODULES
# see whether APACHE_MODULES IS declared AS array (it was so, in the past)
# IF it IS NOT an array, we convert it TO one.
IF [[ -z ${APACHE_MODULES[1]} ]]; THEN
	# strip leading AND trailing parens... since it might erroneously be written AS
	# APACHE_MODULES="(asdf 1234)"
	APACHE_MODULES=${APACHE_MODULES/(}; APACHE_MODULES=${APACHE_MODULES/)}
	APACHE_MODULES=($APACHE_MODULES)
fi
 
FOR i in ${APACHE_MODULES[*]}; DO
	unset module_path module_id
	CASE $i in mod_cgid|cgid) CASE $APACHE_MPM in prefork|leader)  i=${i%d};; esac;; esac
	CASE $i in mod_cgi|cgi)   CASE $APACHE_MPM in event|worker) i=${i}d;; esac;; esac
 
	module_id=${i##*/}
	module_id=${module_id#mod_}
	module_id=${module_id#lib}
	module_id=${module_id%.so}_module
 
	# special CASE
	CASE $module_id in auth_mysql_module) module_id=mysql_auth_module;; esac
 
	CASE $i in 
	    /*)
		module_path=$i
		;;
	    *)
		FOR j in /usr/lib/$pname-$APACHE_MPM/mod_$i.so \
			 /usr/lib/$pname-$APACHE_MPM/$i.so \
			 /usr/lib/$pname-$APACHE_MPM/mod_$i \
			 /usr/lib/$pname-$APACHE_MPM/$i \
			 /usr/lib/$pname-$APACHE_MPM/${i/mod_}.so \
			 /usr/lib/$pname-$APACHE_MPM/${i/mod_} \
			 /usr/lib/$pname-$APACHE_MPM/lib${i/mod_}.so \
			 /usr/lib/$pname-$APACHE_MPM/lib${i/mod_} \
			 /usr/lib/$pname-$APACHE_MPM/lib$i.so \
			 /usr/lib/$pname-$APACHE_MPM/lib$i \
			 /usr/lib/$pname/mod_$i.so \
			 /usr/lib/$pname/$i.so \
			 /usr/lib/$pname/mod_$i \
			 /usr/lib/$pname/$i \
			 /usr/lib/$pname/${i/mod_}.so \
			 /usr/lib/$pname/${i/mod_} \
			 /usr/lib/$pname/lib${i/mod_}.so \
			 /usr/lib/$pname/lib${i/mod_} \
			 /usr/lib/$pname/lib$i.so \
			 /usr/lib/$pname/lib$i
		DO
			IF [ -f $j ]; THEN
				module_path=$j 
				break
			fi
		done
		;;
	esac
 
	IF [[ -f $module_path ]]; THEN
		printf "LoadModule %-30s %s\n" $module_id $module_path >&3	
	ELSE
		# PRINT a warning?
		# php modules are in the LIST by default, so we don't warn about it [#66729]
                IF ! $quiet && [ $i != "php4" -a $i != "php5" ]; THEN
                        echo >&2 "Module \"$i\" is not installed, ignoring."
                        echo >&2 "Check the APACHE_MODULES setting in /etc/sysconfig/$pname."
                fi
 
	fi
done 
echo >&3 -e "#\n"
exec 3<&-
chmod 644 $TMPFILE
mv $TMPFILE $sysconfdir/sysconfig.d/loadmodule.conf
#echo -n ". "
 
 
#echo -n writing sysconfig.d/global.conf
exec 3>$sysconfdir/sysconfig.d/global.conf
echo >&3 "#
# Files in this directory are created at apache start time by /usr/sbin/rc$pname 
# Do not edit them!
#
 
# see $sysconfig_apache
" 
 
IF [[ -n $APACHE_DOCUMENT_ROOT ]]; THEN
	echo >&3 "DocumentRoot $APACHE_DOCUMENT_ROOT"
# ELSE
# 	IF ! grep -q "^DocumentRoot" $sysconfdir/httpd.conf 2>/dev/null; THEN 
# 		echo >&3 "DocumentRoot $default_APACHE_DOCUMENT_ROOT"
# 	fi
fi
 
[[ -n $APACHE_TIMEOUT ]]		&& echo >&3 "Timeout $APACHE_TIMEOUT"
IF [[ -n $APACHE_SERVERSIGNATURE ]]; THEN
	CASE $APACHE_SERVERSIGNATURE in 
	no) APACHE_SERVERSIGNATURE=OFF;;
	yes) APACHE_SERVERSIGNATURE=ON;;
	esac
	echo >&3 "ServerSignature $APACHE_SERVERSIGNATURE"
fi
[[ -n $APACHE_SERVERADMIN ]]		&& echo >&3 "ServerAdmin $APACHE_SERVERADMIN"
[[ -n $APACHE_SERVERNAME ]]		&& echo >&3 "ServerName $APACHE_SERVERNAME"
[[ -n $APACHE_USE_CANONICAL_NAME ]]	&& echo >&3 "UseCanonicalName $APACHE_USE_CANONICAL_NAME"
[[ -n $APACHE_SERVERTOKENS ]]		&& echo >&3 "ServerTokens $APACHE_SERVERTOKENS"
[[ $APACHE_EXTENDED_STATUS = ON ]]	&& echo -e >&3 "<IfModule mod_status.c>\n    ExtendedStatus on\n</IfModule>"
[[ $APACHE_BUFFERED_LOGS = ON ]]	&& echo >&3 "BufferedLogs on"
[[ -n $APACHE_LOGLEVEL ]]		&& echo >&3 "LogLevel $APACHE_LOGLEVEL"
IF [[ -n $APACHE_ACCESS_LOG ]]; THEN
	# split multiple entries
	APACHE_ACCESS_LOG=($APACHE_ACCESS_LOG)
	FOR ((i=0; $i<${#APACHE_ACCESS_LOG[*]}; i=i+2)); DO
		filename=${APACHE_ACCESS_LOG[$i]}
		format=${APACHE_ACCESS_LOG[$i+1]}
		echo >&3 "CustomLog $filename ${format/%,}"
	done
fi
 
 
exec 3<&-
#echo -n ". "
 
 
| Sklep z artykułami dla dzieci | | Opony letnie | | Opony specjalne | | Kamery IP sklep | | Skracacz linków | | Jak przenieść bloga | | Wklejacz kodów | | Skracacz linków | | Smutne Opisy | | Pionowe opisy |