diff --git a/assets/config/deps/dependencies b/assets/config/deps/dependencies new file mode 100644 index 0000000..3fa8b66 --- /dev/null +++ b/assets/config/deps/dependencies @@ -0,0 +1 @@ +pkgs="openssl nginx" \ No newline at end of file diff --git a/assets/shell/shell_colors b/assets/shell/colors similarity index 100% rename from assets/shell/shell_colors rename to assets/shell/colors diff --git a/dev_env_setup.sh b/dev_env_setup.sh index 2a5fd13..302c316 100755 --- a/dev_env_setup.sh +++ b/dev_env_setup.sh @@ -1,10 +1,11 @@ #!/bin/bash -source assets/shell/shell_colors + +source assets/shell/colors +source assets/config/deps/dependencies + ### DEPENDENCY CHECK & INSTALLER -pkgs="openssl nginx" - -echo -e "\n${CYN} Dependency and Privilege Check running...${CRS}\n" +echo -e "\n${LCY} Dependency and Privilege Check running...${CRS}\n" ### PRIVILEGES @@ -22,11 +23,11 @@ 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" + echo -e "${RED} Dependencies not met.${CRS}\n" while true; do - echo -e " ${YEL}Do you wish to install via APT? (${GRN}Y${YEL}/${RED}n${YEL})${CRS}" - read -p " --> " install + echo -e " ${YEL}Do you wish to install via APT?" + read -p " (Y/n) --> " install echo "" if [[ "$install" = "" || "$install" = "y" || "$install" = "Y" ]]; then sudo apt update && sudo apt install --install-suggests -y $pkgs --simulate ## DEV @@ -45,11 +46,22 @@ fi ### NGINX SETUP & CONFIG +###### HOST + +ip4=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) +echo -e " ${YEL}Current hostname : ${LCY}$HOSTNAME${CRS}" +echo -e " ${YEL}Current ip address : ${LCY}$ip4${CRS}" +echo -e "\n ${YEL}This information will be used to configure ${LCY}nginx.conf ${YEL}during the next steps.${CRS}" +read -p " Would you like to change the hostname? (y/N) --> " conf_host_ip + +# ask for network interface +# ask to change hostname in /etc/hosts & /etc/hostname + ###### CERTIFICATION while true; do - echo -e " ${YEL}Configure SSL and create a self signed cetrificate? (Y/n)${CRS}" - read -p " --> " installSSL + echo -e "\n ${YEL}Configure SSL and create a self signed cetrificate?${CRS}" + read -p " (Y/n) --> " installSSL if [[ "$installSSL" = "" || "$installSSL" = "y" || "$installSSL" = "Y" ]]; then echo -e " ${YEL}Enter path to certificates folder${CRS}" read -p " default = /etc/nginx/ssl --> " cert_path @@ -62,16 +74,16 @@ while true; do fi echo "" echo -e " ${YEL}Enter file name for certificate and key${CRS}" - read -p " default --> $HOSTNAME --> " cert_name + read -p " default = $HOSTNAME --> " cert_name if ! [ "$cert_name" ]; then cert_name=$HOSTNAME else : fi echo "" - sudo mkdir -p "$cert_path" - sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "$cert_path"/"$cert_name".key -out "$cert_path"/"$cert_name".crt - echo -e "\n${GRN} SSL certificate files ${YEL}$cert_name.crt ${GRN}and ${YEL}$cert_name.key ${GRN}created and stored in ${YEL}$cert_path${CRS}\n" + #sudo mkdir -p "$cert_path" + #sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "$cert_path"/"$cert_name".key -out "$cert_path"/"$cert_name".crt + echo -e "\n${GRN} SSL certificate files ${LCY}$cert_name.crt ${GRN}and ${LCY}$cert_name.key ${GRN}created and stored in ${LCY}$cert_path${CRS}\n" break elif [[ "$installSSL" == "n" || "$installSSL" = "N" ]]; then echo -e "\n${RED} No encryption established${CRS}\n" @@ -80,3 +92,15 @@ while true; do echo -e "\n${YEL} Invalid response... Try again...\n\nY = (Yes, configure SSL certificate and continue)\nN = (No, leave unencrypted and continue)${CRS}\n " fi done + + +### DEV STATUS + +#sudo cp -R assets/config/nginx/nginx.conf /etc/nginx/sites-enabled/ +## JEFF +# utilise sed to edit config +# test nginx config +# restart nginx +## JEFF END + +echo -e "${GRN}\nScript ran through...${CRS}"