#!/bin/bash function check_httpd_environment { check_environment if [ ! -v SERVER_NAME ]; then SERVER_NAME="localhost" export SERVER_NAME echo "! WARNING : environment var SERVER_NAME is missing..." echo "! WARNING : auto-assigned value : $SERVER_NAME" fi if [ ! -v APP_PATH ]; then APP_PATH="/data/apache" export APP_PATH fi if [ ! -v LOG_PATH ]; then LOG_PATH="/data/logs/apache" export LOG_PATH fi } function display_container_httpd_header { echo "+=====================================================" echo "| Container : $HOSTNAME" echo "| OS : $( BEGIN APACHE CONFIGURATION" if [[ -d $TMP_APP_PATH ]]; then if [ "$(ls -A $TMP_APP_PATH)" ]; then echo "COPY application from $TMP_APP_PATH into $APP_PATH" FILE_LIST=$(find $TMP_APP_PATH -maxdepth 1 -mindepth 1 -printf "%f\n") for FILE in $FILE_LIST; do echo -n "adding $APP_PATH/$FILE" cp -r $TMP_APP_PATH/$FILE $APP_PATH/ echo " DONE" done fi fi } # End configuration process just before starting daemon function end_config { echo "=> END APACHE CONFIGURATION" } # Start the httpd server in background. Used to perform config # against the database structure such as user creation function start_server { echo "=> Starting httpd server" /usr/sbin/apachectl & sleep 2 } # Stop the httpd server running in background. function stop_server { echo "=> Stopping httpd server ..." killall httpd rm -rf /run/httpd/* sleep 2 } # Start the httpd server as a deamon and execute it inside # the running shell function start_daemon { echo "=> Starting httpd daemon ..." | tee -a $STARTUPLOG display_container_started | tee -a $STARTUPLOG exec /usr/sbin/apachectl && tail -f $LOG_PATH/error.log }