Webistrator_Toolkit/Webistrator_menu.sh
2021-12-02 17:55:25 +00:00

352 lines
8.5 KiB
Bash
Executable File

#!/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