#!/bin/bash ######################################################## # # # Copyright (c) 2025, CEGAL DK, All rights reserved. # # PURPOSE/NOTES # Check Apache config files and status # # arguments # # REVISIONS: # Ver Date Author Description # # 1.0 2025.09.11 CEGAL.DK/amg created # ######################################################### progname=`basename $0` BASEDIR=$(dirname "$0") DATE=$(date +"%Y%m%d_%s") LOG=`basename $progname .sh`.log function logthis() { THISDATE=`date '+%Y.%m.%d %H:%M:%S'` LOGTXT=$1 LOGFILE=$2 echo "${THISDATE} $LOGTXT " echo "${THISDATE} $LOGTXT " >> $LOGFILE } function main() { logthis "---> Start" $LOG logthis "Check Apache config files and status" $LOG # Check size of ssl.conf file SSLCONF="/etc/httpd/conf.d/ssl.conf" if [ -f $SSLCONF ]; then FILESIZE=$(stat -c%s "$SSLCONF") if [ $FILESIZE -gt 0 ]; then logthis "File $SSLCONF exists and is not empty (size: $FILESIZE bytes)." $LOG # Remove SSLCONF rm -f $SSLCONF logthis "File $SSLCONF has been removed." $LOG # Create empty SSLCONF touch $SSLCONF logthis "Empty file $SSLCONF has been created." $LOG else logthis "File $SSLCONF exists but is empty! - Nothing to do" $LOG fi # Check Apache config syntax logthis "Checking Apache config syntax:" $LOG apachectl configtest >> $LOG 2>&1 if [ $? -eq 0 ]; then logthis "Apache config syntax is OK." $LOG else logthis "Apache config syntax has errors!" $LOG exit 1 fi # Check Apache service status logthis "Checking Apache service status:" $LOG systemctl status httpd >> $LOG 2>&1 if [ $? -eq 0 ]; then logthis "Apache service is running." $LOG else logthis "Apache service is not running! - Starting service" $LOG systemctl start httpd >> $LOG 2>&1 if [ $? -eq 0 ]; then logthis "Apache service has been started." $LOG else logthis "Failed to start Apache service!" $LOG exit 1 fi fi fi logthis "End <---" $LOG } ## Run main() main exit 0