????

Your IP : 18.217.222.205


Current Path : /scripts/
Upload File :
Current File : //scripts/initsslhttpd1

#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/initsslhttpd1                     Copyright 2015 cPanel, Inc.
#                                                           All Rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use warnings;

use Cpanel::Sys::OS::Check     ();
use Cpanel::Config::Httpd::EA4 ();
if ( Cpanel::Config::Httpd::EA4::is_ea4() ) {
    print "Nothing to do under ea4 (this script has been deprecated under ea4).\n";
    exit(0);
}

# do not perform the install on a CentOS 7 server
if ( Cpanel::Sys::OS::Check::has_systemd() ) {
    exit;
}

unlink("/usr/local/etc/rc.d/httpd");
unlink("/etc/rc.d/init.d/httpd");
unlink("/etc/init.d/httpd");

my $iscript = '/etc/rc.d/init.d/httpd';
if (   !-e "/etc/rc.d/init.d/syslog"
    && !-e "/etc/rc.d/init.d/syslogd"
    && !-e "/etc/rc.d/init.d/functions"
    && !-e "/etc/rc.d/init.d/killall"
    && !-e "/etc/rc.d/init.d/crond" ) {
    $iscript = '/etc/init.d/httpd';
}

open( HTC, ">", $iscript );
print HTC <<EOM;
#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server.  It is used to serve \
#              HTML files and CGI.
# processname: httpd
# pidfile: /usr/local/apache/logs/httpd.pid
# config: /usr/local/apache/conf/httpd.conf

ulimit -n 1024
ulimit -n 4096
ulimit -n 8192
ulimit -n 16384
#
# 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:
#    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
#
#
# |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
# --------------------                              --------------------
#
# the path to your PID file
PIDFILE=/usr/local/apache/logs/httpd.pid
#
# the path to your httpd binary, including options if necessary
HTTPD=/usr/local/apache/bin/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.
LYNX="lynx -dump"
#
# 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"
#
# --------------------                              --------------------
# ||||||||||||||||||||   END CONFIGURATION SECTION  ||||||||||||||||||||

ERROR=0
ARGV="\$\@"
if [ "x\$ARGV" = "x" ] ; then
    ARGS="help"
fi

for ARG in \$\@ \$ARGS
do
    # check for pidfile
    if [ -f \$PIDFILE ] ; then
    PID=`cat \$PIDFILE`
    if [ "x\$PID" != "x" ] && kill -0 \$PID 2>/dev/null ; then
        STATUS="httpd (pid \$PID) running"
        RUNNING=1
    else
        STATUS="httpd (pid \$PID?) not running"
        RUNNING=0
    fi
    else
    STATUS="httpd (no pid file) not running"
    RUNNING=0
    fi

    case \$ARG in
    start)
    if [ \$RUNNING -eq 1 ]; then
        echo "\$0 \$ARG: httpd (pid \$PID) already running"
        continue
    fi
    if \$HTTPD -DSSL; then
        echo "\$0 \$ARG: httpd started"
    else
        echo "\$0 \$ARG: httpd could not be started"
        ERROR=3
    fi
    ;;
    startssl|sslstart|start-SSL)
    if [ \$RUNNING -eq 1 ]; then
        echo "\$0 \$ARG: httpd (pid \$PID) already running"
        continue
    fi
    if \$HTTPD -DSSL; then
        echo "\$0 \$ARG: httpd started"
    else
        echo "\$0 \$ARG: httpd could not be started"
        ERROR=3
    fi
    ;;
    stop)
    if [ \$RUNNING -eq 0 ]; then
        echo "\$0 \$ARG: \$STATUS"
        continue
    fi
    if kill \$PID ; then
        echo "\$0 \$ARG: httpd stopped"
    else
        echo "\$0 \$ARG: httpd could not be stopped"
        ERROR=4
    fi
    ;;
    restart)
    if [ \$RUNNING -eq 0 ]; then
        echo "\$0 \$ARG: httpd not running, trying to start"
        if \$HTTPD -DSSL; then
        echo "\$0 \$ARG: httpd started"
        else
        echo "\$0 \$ARG: httpd could not be started"
        ERROR=5
        fi
    else
        if \$HTTPD -t >/dev/null 2>&1; then
        if kill -HUP \$PID ; then
            echo "\$0 \$ARG: httpd restarted"
        else
            echo "\$0 \$ARG: httpd could not be restarted"
            ERROR=6
        fi
        else
        echo "\$0 \$ARG: configuration broken, ignoring restart"
        echo "\$0 \$ARG: (run 'apachectl configtest' for details)"
        ERROR=6
        fi
    fi
    ;;
    graceful)
    if [ \$RUNNING -eq 0 ]; then
        echo "\$0 \$ARG: httpd not running, trying to start"
        if \$HTTPD -DSSL; then
        echo "\$0 \$ARG: httpd started"
        else
        echo "\$0 \$ARG: httpd could not be started"
        ERROR=5
        fi
    else
        if \$HTTPD -t >/dev/null 2>&1; then
        if kill -USR1 \$PID ; then
            echo "\$0 \$ARG: httpd gracefully restarted"
        else
            echo "\$0 \$ARG: httpd could not be restarted"
            ERROR=7
        fi
        else
        echo "\$0 \$ARG: configuration broken, ignoring restart"
        echo "\$0 \$ARG: (run 'apachectl configtest' for details)"
        ERROR=7
        fi
    fi
    ;;
    status)
    \$LYNX \$STATUSURL | awk ' /process\$/ { print; exit } { print } '
    ;;
    fullstatus)
    \$LYNX \$STATUSURL
    ;;
    configtest)
    if \$HTTPD -t; then
        :
    else
        ERROR=8
    fi
    ;;
    *)
    echo "usage: \$0 (start|stop|restart|fullstatus|status|graceful|configtest|help)"
    cat <<EOF

start      - start httpd
startssl   - start httpd with SSL enabled
stop       - stop httpd
restart    - restart httpd if running by sending a SIGHUP or start if
             not running
fullstatus - dump a full status screen; requires lynx and mod_status enabled
status     - dump a short status screen; requires lynx and mod_status enabled
graceful   - do a graceful restart by sending a SIGUSR1 or start if not running
configtest - do a configuration syntax test
help       - this screen

EOF
    ERROR=2
    ;;

    esac

done

exit \$ERROR

# ====================================================================
# Copyright (c) 1995-1999 The Apache Group.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
#
# 3. All advertising materials mentioning features or use of this
#    software must display the following acknowledgment:
#    "This product includes software developed by the Apache Group
#    for use in the Apache HTTP server project (http://www.apache.org/)."
#
# 4. The names "Apache Server" and "Apache Group" must not be used to
#    endorse or promote products derived from this software without
#    prior written permission. For written permission, please contact
#    apache\@apache.org.
#
# 5. Products derived from this software may not be called "Apache"
#    nor may "Apache" appear in their names without prior written
#    permission of the Apache Group.
#
# 6. Redistributions of any form whatsoever must retain the following
#    acknowledgment:
#    "This product includes software developed by the Apache Group
#    for use in the Apache HTTP server project (http://www.apache.org/)."
#
# THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# OF THE POSSIBILITY OF SUCH DAMAGE.
# ====================================================================
#
# This software consists of voluntary contributions made by many
# individuals on behalf of the Apache Group and was originally based
# on public domain software written at the National Center for
# Supercomputing Applications, University of Illinois, Urbana-Champaign.
# For more information on the Apache Group and the Apache HTTP server
# project, please see <http://www.apache.org/>.
#
EOM
close(HTC);
chmod( 0755, $iscript );

#rh
system("/sbin/chkconfig --level 35 httpd on >/dev/null 2>/dev/null");