51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Texts layout
|
|
PURPLE='\033[35m'
|
|
ORANGE='\033[33m'
|
|
BLUE='\033[34m'
|
|
BOLD='\033[1m'
|
|
RESET='\033[0m'
|
|
|
|
USERNAME=""
|
|
SSH_PORT=
|
|
CADDYFILE=""
|
|
DOMAIN_NAME=""
|
|
IP=""
|
|
|
|
check_global_const() {
|
|
for var_name in "$@"; do
|
|
if [[ -z "${!var_name}" ]]; then
|
|
case "$var_name" in
|
|
USERNAME)
|
|
eval "$var_name=$(getent passwd 1001 | cut -d: -f1)"
|
|
;;
|
|
SSH_PORT)
|
|
eval "$var_name=$(cat /etc/ssh/sshd_config.d/custom.conf | grep "Port " | sed 's/^Port //')"
|
|
;;
|
|
CADDYFILE)
|
|
eval "$var_name=\"/home/${USERNAME}/caddy/caddyfile/Caddyfile\""
|
|
;;
|
|
DOMAIN_NAME)
|
|
echo -e "${PURPLE}${BOLD}Enter the domain name of the website${RESET}"
|
|
read DOMAIN_NAME
|
|
eval "$var_name=$DOMAIN_NAME"
|
|
;;
|
|
IP)
|
|
eval "$var_name=$(hostname -I | cut -d' ' -f1)"
|
|
;;
|
|
*)
|
|
echo "Unknown variable: $var_name" >&2
|
|
;;
|
|
esac
|
|
fi
|
|
done
|
|
}
|
|
|
|
install_pkg() {
|
|
pkg="$1"
|
|
if ! dpkg -s "$pkg" >/dev/null 2>&1; then
|
|
apt update && apt install -y "$pkg"
|
|
echo -e "${PURPLE}${BOLD}${pkg} installed${RESET}"
|
|
fi
|
|
} |