????
Current Path : /scripts/ |
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");