????

Your IP : 18.223.172.191


Current Path : /scripts/
Upload File :
Current File : //scripts/initsslhttpd2_4

#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/initsslhttpd2_2                   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( my $htc, '>', $iscript ) or die "Can't open $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
#
# 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
#
ARGV="$@"
#
# |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
# --------------------                              --------------------
#
# the path to your httpd binary, including options if necessary
HTTPD=/usr/local/apache/bin/httpd
#
# pick up any necessary environment variables
if test -f /usr/local/apache/bin/envvars; then
  . /usr/local/apache/bin/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 -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"
#
# 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.
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
# --------------------                              --------------------
# ||||||||||||||||||||   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

case $ARGV in
start|stop|restart|graceful|graceful-stop)
    $HTTPD -k $ARGV -DSSL
    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
    # ;;
    $HTTPD -k start -DSSL
    ERROR=$?
    ;;
configtest)
    $HTTPD -t
    ERROR=$?
    ;;
status)
    $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
    ;;
fullstatus)
    $LYNX $STATUSURL
    ;;
*)
    $HTTPD $ARGV
    ERROR=$?
esac

exit $ERROR
EOM

close($htc);
chmod( 0755, $iscript );

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