#!/bin/bash ## SOME COLOR CYN="\e[0;36m" YEL="\e[0;33m" RED="\e[0;31m" GRN="\e[0;32m" CRS="\e[0m" ### DEPENDENCY CHECK & INSTALLER pkgs="openssl nginx" echo -e "\n${CYN}Dependency and Privilege Check running...${CRS}\n" if (( $(id -u) == 0 )); then echo -e "${GRN}Privilege check passed...${CRS}\n" else echo -e "${RED}Privilege check failed... Please run script with sudo or as root!${CRS}\n" exit 1 fi if command -v "$pkgs" >/dev/null 2>&1; then echo -e "${GRN}Dependency check passed...${CRS}\n" else echo -e "${YEL}Dependencies not met.${CRS}\n" while true; do read -p "Do you wish to install via APT? (Y/n) : " install if [[ "$install" = "" || "$install" = "y" || "$install" = "Y" ]]; then sudo apt update && sudo apt install --install-suggests -y $pkgs --simulate ## DEV echo -e "\n${GRN}Dependencies installed. Proceeding...${CRS}\n" break elif [[ "$install" == "n" || "$install" = "N" ]]; then echo -e "\n${RED}Missing dependencies... Exiting!${CRS}\n" exit 1 else echo -e "\n${YEL}Invalid response... Try again...\n\nY = (Yes, install dependencies and continue)\nN = (No, don't install dependencies and exit)${CRS}\n " fi done fi ### NGINX SETUP while true; do read -p "Enable SSL and create cetrificate? (Y/n) : " installSSL if [[ "$installSSL" = "" || "$installSSL" = "y" || "$installSSL" = "Y" ]]; then read -p "Enter path to certificates (Will be created if not present) : " cert_path sudo mkdir -p "$cert_path" echo "Folder created" ## DEV read -p "Enter file name for certificates () : " cert_name echo -e "\n${GRN}Nginx configured${CRS}\n" break else echo -e "\n${YEL}Invalid response... Try again...\n\nY = (Yes, install SSL certificate and continue)\nN = (No, don't install SSL certificate and continue)${CRS}\n " fi done #sudo mkdir -p /etc/nginx/ssl ; #sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/meshpi.key -out /etc/nginx/ssl/meshpi.crt ;