You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.3 KiB
94 lines
2.3 KiB
|
|
- fail gracefully if links is not installed on target system |
|
- source sysconfig/httpd for custom env. vars etc. |
|
- make httpd -t work even in SELinux |
|
- pass $OPTIONS to all $HTTPD invocation |
|
|
|
Upstream-HEAD: vendor |
|
Upstream-2.0: vendor |
|
Upstream-Status: Vendor-specific changes for better initscript integration |
|
|
|
--- httpd-2.4.1/support/apachectl.in.apctl |
|
+++ httpd-2.4.1/support/apachectl.in |
|
@@ -44,19 +44,25 @@ ARGV="$@" |
|
# the path to your httpd binary, including options if necessary |
|
HTTPD='@exp_sbindir@/@progname@' |
|
# |
|
-# pick up any necessary environment variables |
|
-if test -f @exp_sbindir@/envvars; then |
|
- . @exp_sbindir@/envvars |
|
-fi |
|
# |
|
# a command that outputs a formatted text version of the HTML at the |
|
# url given on the command line. Designed for lynx, however other |
|
# programs may work. |
|
-LYNX="@LYNX_PATH@ -dump" |
|
+if [ -x "@LYNX_PATH@" ]; then |
|
+ LYNX="@LYNX_PATH@ -dump" |
|
+else |
|
+ LYNX=none |
|
+fi |
|
# |
|
# the URL to your server's mod_status status page. If you do not |
|
# have one, then status and fullstatus will not work. |
|
STATUSURL="http://localhost:@PORT@/server-status" |
|
+ |
|
+# Source /etc/sysconfig/httpd for $HTTPD setting, etc. |
|
+if [ -r /etc/sysconfig/httpd ]; then |
|
+ . /etc/sysconfig/httpd |
|
+fi |
|
+ |
|
# |
|
# Set this variable to a command that increases the maximum |
|
# number of file descriptors allowed per child process. This is |
|
@@ -76,9 +82,27 @@ if [ "x$ARGV" = "x" ] ; then |
|
ARGV="-h" |
|
fi |
|
|
|
+function checklynx() { |
|
+if [ "$LYNX" = "none" ]; then |
|
+ echo "The 'links' package is required for this functionality." |
|
+ exit 8 |
|
+fi |
|
+} |
|
+ |
|
+function testconfig() { |
|
+# httpd is denied terminal access in SELinux, so run in the |
|
+# current context to get stdout from $HTTPD -t. |
|
+if test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled; then |
|
+ runcon -- `id -Z` $HTTPD $OPTIONS -t |
|
+else |
|
+ $HTTPD $OPTIONS -t |
|
+fi |
|
+ERROR=$? |
|
+} |
|
+ |
|
case $ACMD in |
|
start|stop|restart|graceful|graceful-stop) |
|
- $HTTPD -k $ARGV |
|
+ $HTTPD $OPTIONS -k $ARGV |
|
ERROR=$? |
|
;; |
|
startssl|sslstart|start-SSL) |
|
@@ -88,17 +112,18 @@ startssl|sslstart|start-SSL) |
|
ERROR=2 |
|
;; |
|
configtest) |
|
- $HTTPD -t |
|
- ERROR=$? |
|
+ testconfig |
|
;; |
|
status) |
|
+ checklynx |
|
$LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' |
|
;; |
|
fullstatus) |
|
+ checklynx |
|
$LYNX $STATUSURL |
|
;; |
|
*) |
|
- $HTTPD "$@" |
|
+ $HTTPD $OPTIONS "$@" |
|
ERROR=$? |
|
esac |
|
|
|
|