From 26ababe76430d9ccdb4d38895ef43f1787b87ae7 Mon Sep 17 00:00:00 2001 From: Zenen Treadwell Date: Thu, 20 Jan 2022 22:12:47 -0800 Subject: [PATCH] wordpress finished --- resources/wordpress.nginx.conf | 8 ++-- scripts/wordpress.sh | 77 +++++++++++++++++++++++++--------- 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/resources/wordpress.nginx.conf b/resources/wordpress.nginx.conf index 112b634..a655753 100644 --- a/resources/wordpress.nginx.conf +++ b/resources/wordpress.nginx.conf @@ -1,9 +1,9 @@ server { - listen 8000 default_server; - listen [::]:8000 default_server; + listen 80 default_server; + listen [::]:80 default_server; - server_name 10.0.0.150; - root /home/pi/wordpress; + server_name SERVER_NAME; + root FILE_ROOT; index index.php; location = /favicon.ico { diff --git a/scripts/wordpress.sh b/scripts/wordpress.sh index 7a5cf96..c78d108 100755 --- a/scripts/wordpress.sh +++ b/scripts/wordpress.sh @@ -13,21 +13,21 @@ NC="\e[0m" # ------------------- Step 1 - Installing / Configuring MariaDB ------------------- -if [ -f "/etc/debian_version" ]; then - DISTRO="debian" - echo "Debian, Ubuntu, or Raspbian OS detected." -elif [ -f "/etc/arch-release" ]; then - DISTRO="arch" - echo "Arch- or Manjaro-based OS detected." -elif [ $(uname | grep -c "Darwin") -eq 1 ]; then - DISTRO="mac" - echo "MacOS detected." -else - echo "I don't know what OS you're running! Cancelling this operation." - exit 1 -fi - -echo "" +if [ -f "/etc/debian_version" ]; then + DISTRO="debian" + echo "Debian, Ubuntu, or Raspbian OS detected." +elif [ -f "/etc/arch-release" ]; then + DISTRO="arch" + echo "Arch- or Manjaro-based OS detected." +elif [ $(uname | grep -c "Darwin") -eq 1 ]; then + DISTRO="mac" + echo "MacOS detected." +else + echo "I don't know what OS you're running! Cancelling this operation." + exit 1 +fi + +echo "" install_if_needed() { for package in "$@" @@ -114,7 +114,7 @@ while [[ -z $WP_DIR ]]; do fi done -if [[ -z $(ls -A $WP_DIR) ]]; then +if [[ -z $(ls -A $WP_DIR/wordpress) ]]; then tar -xzvf resources/wordpress.tar.gz --directory $WP_DIR echo "Wordpress has been extracted to $WP_DIR"! else @@ -137,6 +137,45 @@ echo "Done!" # ------------------- Step 3 - NGINX Setup ------------------- echo "" -sudo cp resources/wordpress.nginx.conf /etc/nginx/sites-available/wp - -# Deleting location block +echo "We might need to query DNS records here..." +install_if_needed dig +echo "" +read -p "Do you have a domain name pointing to this computer? (y/n): " -n1 boot +echo "" +case $boot in + y | Y) + echo "Good to hear! What is it?" + read -p "http://" domain + ;; + *) + echo "Okay, let's just configure it to your external IP for now." + domain=$(dig @resolver4.opendns.com myip.opendns.com +short) + echo "Looks like you're running on ${domain}" + ;; +esac +echo "" +WP_NGINX_CONF=/etc/nginx/sites-available/wp +sudo cp resources/wordpress.nginx.conf $WP_NGINX_CONF +sudo sed -i "s#SERVER_NAME#${domain}#" $WP_NGINX_CONF +sudo sed -i "s#FILE_ROOT#${WP_DIR}/wordpress#" $WP_NGINX_CONF +sudo ln -s /etc/nginx/sites-available/wp /etc/nginx/sites-enabled/ +echo "" +sudo systemctl reload nginx +echo "Excellent! We've configured $WP_NGINX_CONF to serve your WordPress site from $domain" +echo "" +# ------------------- Step 4 - Certbot ------------------- +read -p "Would you like to enable SSL via Certbot? (y/n): " -n1 boot +echo "" +case $boot in + y | Y) + echo "Alright, let's get Certbot in here!" + install_if_needed python3 certbot python3-certbot-nginx + echo "${BOLD}Take it away, Certbot${NC}" + sudo certbot --nginx + ;; + *) + echo "Yea, SSL is lame anyways..." + ;; +esac +echo "" +echo "Okay, well that's everything! You should be ready to continue your WordPress setup by opening $domain in your browser."