diff --git a/Webistrator_Basic.sh b/Webistrator_Basic.sh new file mode 100644 index 0000000..c592604 --- /dev/null +++ b/Webistrator_Basic.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "give me a bottle of rum!" diff --git a/Webistrator_menu.sh b/Webistrator_menu.sh new file mode 100755 index 0000000..35989a5 --- /dev/null +++ b/Webistrator_menu.sh @@ -0,0 +1,351 @@ +#!/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 "\t\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 "\t\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 "\t\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 + +