352 lines
8.5 KiB
Bash
Executable File
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
|
|
|
|
|