]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/system/apache
apache2: Properly re-execute Apache on restart
[ipfire-2.x.git] / src / initscripts / system / apache
index 541141e3b186e1a49cefe453aa68c49c89e4c84c..18eb86e2f6e5c3722adf386ab8ec3b66e65c7f15 100644 (file)
@@ -1,8 +1,23 @@
 #!/bin/sh
-# Begin $rc_base/init.d/apache
-
-# Based on sysklogd script from LFS-3.1 and earlier.
-# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
 
 . /etc/sysconfig/rc
 . $rc_functions
@@ -11,6 +26,7 @@ generate_certificates() {
        if [ ! -f "/etc/httpd/server.key" ]; then
                boot_mesg "Generating HTTPS RSA server key (this will take a moment)..."
                openssl genrsa -out /etc/httpd/server.key 4096 &>/dev/null
+               chmod 600 /etc/httpd/server.key
                evaluate_retval
        fi
 
@@ -18,6 +34,7 @@ generate_certificates() {
                boot_mesg "Generating HTTPS ECDSA server key..."
                openssl ecparam -genkey -name secp384r1 -noout \
                        -out /etc/httpd/server-ecdsa.key &>/dev/null
+               chmod 600 /etc/httpd/server-ecdsa.key
                evaluate_retval
        fi
 
@@ -59,6 +76,9 @@ case "$1" in
                # Generate all required certificates
                generate_certificates
 
+               # Update hostname
+               echo "ServerName ${HOSTNAME}" > /etc/httpd/conf/hostname.conf
+
                boot_mesg "Starting Apache daemon..."
                /usr/sbin/apachectl -k start
                evaluate_retval
@@ -71,11 +91,10 @@ case "$1" in
                ;;
 
        restart)
-               boot_mesg "Restarting Apache daemon..."
-               /usr/sbin/apachectl -k restart
-               evaluate_retval
+               $0 stop
+               $0 start
                ;;
-               
+
        reload)
                boot_mesg "Reloading Apache daemon..."
                /usr/sbin/apachectl -k graceful
@@ -91,5 +110,3 @@ case "$1" in
                exit 1
                ;;
 esac
-
-# End $rc_base/init.d/apache