View file File name : apachectl Content :#!/bin/sh # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # # Apache control script designed to allow an easy command line interface # to controlling Apache. Written by Marc Slemko, 1997/08/23 # # The exit codes returned are: # XXX this doc is no longer correct now that the interesting # XXX functions are handled by httpd # 0 - operation completed successfully # 1 - # 2 - usage error # 3 - httpd could not be started # 4 - httpd could not be stopped # 5 - httpd could not be started during a restart # 6 - httpd could not be restarted during a restart # 7 - httpd could not be restarted during a graceful restart # 8 - configuration syntax error # # When multiple arguments are given, only the error from the _last_ # one is reported. Run "apachectl help" for usage info # ACMD="$1" ARGV="$@" # # |||||||||||||||||||| START CONFIGURATION SECTION |||||||||||||||||||| # -------------------- -------------------- # # the path to your httpd binary, including options if necessary HTTPD='/usr/sbin/httpd' # # # 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. if [ -x "/usr/bin/links" ]; then LYNX="/usr/bin/links -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. PORT="$(grep 'apache_port=' /var/cpanel/cpanel.config 2>/dev/null | sed -e 's/.*=\([.0-9]*:\)\{0,1\}//;' -e 's/[^0-9]*//g' 2>/dev/null)" STATUSURL="http://localhost:${PORT:-80}/whm-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 # critical for configurations that use many file descriptors, # such as mass vhosting, or a multithreaded server. # Can be overwritten by setting MIN_FD_LIMIT and MAX_FD_LIMIT in /etc/sysconfig/httpd if [ -z "$MIN_FD_LIMIT" ]; then MIN_FD_LIMIT=1024 fi if [ -z "$MAX_FD_LIMIT" ]; then MAX_FD_LIMIT=16384 fi while [ $MIN_FD_LIMIT -le $MAX_FD_LIMIT ]; do ulimit -H -n $MIN_FD_LIMIT 2>/dev/null ulimit -S -n $MIN_FD_LIMIT 2>/dev/null MIN_FD_LIMIT=$(($MIN_FD_LIMIT * 2)) done # -------------------- -------------------- # |||||||||||||||||||| END CONFIGURATION SECTION |||||||||||||||||||| # Set the maximum number of file descriptors allowed per child process. if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then $ULIMIT_MAX_FILES fi ERROR=0 if [ "x$ARGV" = "x" ] ; then ARGV="-h" fi function checklynx() { if [ "$LYNX" = "none" ]; then echo "The 'links' package is required for this functionality." echo "To use this feature, the typical way to add solve this would be to:" echo "dnf config-manager --set-enabled powertools || dnf config-manager --set-enabled PowerTools" echo "dnf -y install elinks" 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 $OPTIONS -k $ARGV ERROR=$? ;; startssl|sslstart|start-SSL) echo The startssl option is no longer supported. echo Please edit httpd.conf to include the SSL configuration settings echo and then use "apachectl start". ERROR=2 ;; configtest) testconfig ;; status) checklynx $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' ;; fullstatus) checklynx $LYNX $STATUSURL ;; *) $HTTPD $OPTIONS "$@" ERROR=$? esac exit $ERROR