#!/bin/bash show_menu(){ NORMAL=`echo "\033[m"` MENU=`echo "\033[36m"` #Blue NUMBER=`echo "\033[33m"` #yellow FGRED=`echo "\033[41m"` RED_TEXT=`echo "\033[31m"` ENTER_LINE=`echo "\033[33m"` echo -e "${MENU}*********************************************${NORMAL}" echo -e "Webistrator Toolkit" echo -e "by Phil | https://www.NCLtech.co.uk | NCLtech 2013-2021" echo -e "${MENU}**${NUMBER} 1)${MENU} Apache Setup ${NORMAL}" echo -e "${MENU}**${NUMBER} 2)${MENU} vHost Config ${NORMAL}" echo -e "${MENU}**${NUMBER} 3)${MENU} Certbot ${NORMAL}" #echo -e "${MENU}**${NUMBER} 4)${MENU} Install Full Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 5)${MENU} Install Home Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 6)${MENU} Install Embedded Edition ${NORMAL}" echo -e "${MENU}*********************************************${NORMAL}" echo -e "${ENTER_LINE}Choose a menu option and enter or ${RED_TEXT}enter to exit. ${NORMAL}" read opt } function option_picked() { COLOR='\033[01;31m' # bold red RESET='\033[00;00m' # normal white MESSAGE=${@:-"${RESET}Error: No message passed"} echo -e "${COLOR}${MESSAGE}${RESET}" } function main_menu() { clear show_menu while [ opt != '' ] do if [[ $opt = "" ]]; then exit; else case $opt in 1) clear; option_picked "Apache2 Setup"; apache_config; exit; ;; 2) clear; option_picked "vHost Config"; vhost_config; exit; ;; 3) clear; option_picked "Certbot Config"; certbot_config; exit; ;; x) exit; ;; q) exit; ;; \n) exit; ;; *) clear; option_picked "Choose One of The Options from the Menu"; show_menu; ;; esac fi done } function show_apache_menu(){ NORMAL=`echo "\033[m"` MENU=`echo "\033[36m"` #Blue NUMBER=`echo "\033[33m"` #yellow FGRED=`echo "\033[41m"` RED_TEXT=`echo "\033[31m"` ENTER_LINE=`echo "\033[33m"` echo -e "${MENU}*********************************************${NORMAL}" echo -e "Webistrator Toolkit - Apache Setup" echo -e "by Phil | https://www.NCLtech.co.uk | NCLtech 2013-2021" echo -e "${MENU}**${NUMBER} 1)${MENU} Install Apache2 ${NORMAL}" echo -e "${MENU}**${NUMBER} 2)${MENU} Remove Apache2 ${NORMAL}" #echo -e "${MENU}**${NUMBER} 3)${MENU} Install Standard Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 4)${MENU} Install Full Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 5)${MENU} Install Home Edition ${NORMAL}" echo -e "${MENU}**${NUMBER} b)${MENU} Back to Main Menu ${NORMAL}" echo -e "${MENU}*********************************************${NORMAL}" echo -e "${ENTER_LINE}Choose a menu option and enter or ${RED_TEXT}enter to go Back to Main Menu. ${NORMAL}" read opt } function apache_config() { clear show_apache_menu while [ opt != '' ] do if [[ $opt = "" ]]; then exit; else case $opt in 1) clear; option_picked "Installing Apache2"; apache_install_apache; main_menu; exit; ;; 2) clear; option_picked "Remove Apache2"; apache_remove_apache; main_menu; exit; ;; b) clear; option_picked "Buck up we go!"; main_menu; exit; ;; x) exit; ;; q) exit; ;; \n) clear; main_menu; ;; *)clear; option_picked "Choose One of The Options from the Menu"; show_apache_menu; ;; esac fi done } function show_vhost_menu(){ NORMAL=`echo "\033[m"` MENU=`echo "\033[36m"` #Blue NUMBER=`echo "\033[33m"` #yellow FGRED=`echo "\033[41m"` RED_TEXT=`echo "\033[31m"` ENTER_LINE=`echo "\033[33m"` echo -e "${MENU}*********************************************${NORMAL}" echo -e "Webistrator Toolkit - vHost Configuration" echo -e "by Phil | https://www.NCLtech.co.uk | NCLtech 2013-2021" echo -e "${MENU}**${NUMBER} 1)${MENU} Create New Basic vHost ${NORMAL}" echo -e "${MENU}**${NUMBER} 2)${MENU} Create New ReverseProxy vHost ${NORMAL}" echo -e "${MENU}**${NUMBER} 3)${MENU} Create New IP vHost ${NORMAL}" #echo -e "${MENU}**${NUMBER} 4)${MENU} Install Full Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 5)${MENU} Install Home Edition ${NORMAL}" echo -e "${MENU}**${NUMBER} b)${MENU} Back to Main Menu ${NORMAL}" echo -e "${MENU}*********************************************${NORMAL}" echo -e "${ENTER_LINE}Choose a menu option and enter or ${RED_TEXT}enter to go Back to Main Menu. ${NORMAL}" read opt } function vhost_config() { clear show_vhost_menu while [ opt != '' ] do if [[ $opt = "" ]]; then exit; else case $opt in 1) clear; option_picked "Create New Basic vHost"; vhost_create_basic_vhost; main_menu; exit; ;; 2) clear; option_picked "Create New ReverseProxy vHost"; vhost_create_reverseproxy_vhost; main_menu; exit; ;; 3) clear; option_picked "Create New IP vHost"; vhost_create_ip_site_vhost; main_menu; exit; ;; b) clear; option_picked "Buck up we go!"; main_menu; exit; ;; x) exit; ;; q) exit; ;; \n) clear; main_menu; ;; *) clear; option_picked "Choose One of The Options from the Menu"; show_vhost_menu; ;; esac fi done } function show_certbot_menu(){ NORMAL=`echo "\033[m"` MENU=`echo "\033[36m"` #Blue NUMBER=`echo "\033[33m"` #yellow FGRED=`echo "\033[41m"` RED_TEXT=`echo "\033[31m"` ENTER_LINE=`echo "\033[33m"` echo -e "${MENU}*********************************************${NORMAL}" echo -e "Webistrator Toolkit - Certbot Setup" echo -e "\t\NCLtech 2013-2021" echo -e "${MENU}**${NUMBER} 1)${MENU} Install Certbot ${NORMAL}" echo -e "${MENU}**${NUMBER} 2)${MENU} Remove Certbot ${NORMAL}" #echo -e "${MENU}**${NUMBER} 3)${MENU} Install Standard Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 4)${MENU} Install Full Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} 5)${MENU} Install Home Edition ${NORMAL}" #echo -e "${MENU}**${NUMBER} b)${MENU} Back to Main Menu ${NORMAL}" echo -e "${MENU}*********************************************${NORMAL}" echo -e "${ENTER_LINE}Choose a menu option and enter or ${RED_TEXT}enter to go Back to Main Menu. ${NORMAL}" read opt } function certbot_config() { clear show_certbot_menu while [ opt != '' ] do if [[ $opt = "" ]]; then exit; else case $opt in 1) clear; option_picked "Installing Certbot"; certbot_install_certbot; main_menu; exit; ;; 2) clear; option_picked "Remove Certbot"; certbot_remove_certbot; main_menu; exit; ;; b) clear; option_picked "Buck up we go!"; main_menu; exit; ;; x) exit; ;; q)exit; ;; \n) clear; main_menu; ;; *) clear; option_picked "Choose One of The Options from the Menu"; show_certbot_menu; ;; esac fi done } ## Main Tool Functions ## Install/Create/Config/Remove Functions function apache_install_apache() { if [ "$(grep -c "ubuntu" /etc/os-release)" -gt 0 ]; then if [ -d "/etc/apache2" ];then echo "Apache2 is already installed..." else sudo apt-get update && sudo apt-get upgrade sudo add-apt-repository -y ppa:ondrej/apache2 && sudo apt-get update sudo apt install apache2 fi else sudo apt-get update && sudo apt-get upgrade sudo apt install apache2 fi } function apache_remove_apache() { if [ -d "/etc/apache2" ];then sudo apt remove apache2 && sudo apt purge apache2 else echo "Apache2 isn't installed..." fi } ## Configure vhost Configs function vhost_create_basic_vhost() { echo "Comming Soon" } function vhost_create_reverseproxy_vhost() { echo "Comming Soon" } function vhost_create_ip_site_vhost() { echo "Comming Soon" } ## Certbot function certbot_install_certbot() { echo "Comming Soon" } function certbot_remove_certbot() { echo "Comming Soon" } if [ `whoami` == "root" ]; then main_menu; else echo "Hey Hey :) This script needs to be run as root!" fi