cleaned debugging noise, better naming
[feisty_meow.git] / scripts / site_avenger / standup.sh
index bc109031138fbc3544cb6eb7c9f4e5d5f034e8fd..cd2f689056cb674cb4a075fd7fdd2a3ae6749df9 100644 (file)
@@ -19,6 +19,13 @@ function print_instructions()
   echo "$(basename $0 .sh) {app name}"
   echo
   echo "
   echo "$(basename $0 .sh) {app name}"
   echo
   echo "
+$(basename $0 .sh) will completely set up a web site, including a domain
+name and an apache configuration file.  The site will be acquired from a
+git repository and configured.  At the end of this script, the result should 
+be an almost working website; you may need to fix the site configuration,
+create databases and so forth.
+
+This script must be run as sudo or root; it makes changes to system files.
 app name: The app name parameter is mandatory.  The configuration file for
 this script will be derived from the app name (e.g. if the app name is MyApp,
 then the config file will be 'MyApp.config').  The config files are by
 app name: The app name parameter is mandatory.  The configuration file for
 this script will be derived from the app name (e.g. if the app name is MyApp,
 then the config file will be 'MyApp.config').  The config files are by
@@ -34,40 +41,65 @@ overridden by setting the SITE_MANAGEMENT_CONFIG_FILE environment variable."
 # check for parameters.
 app_dirname="$1"; shift
 
 # check for parameters.
 app_dirname="$1"; shift
 
-if (( $EUID != 0 )); then
-  echo "This script must be run as root or sudo."
-  exit 1
-fi
-
-if [ -z "$app_dirname" ]; then
+if [ "$app_dirname" == "-help" -o "$app_dirname" == "--help" ]; then
+  print_instructions
+elif [ -z "$app_dirname" ]; then
   print_instructions
 fi
 
   print_instructions
 fi
 
-source "$WORKDIR/shared_site_mgr.sh"
+# force the sudo at the start of the script, rather than waiting halfway
+# through to ask for access.
+sudo bash -c 'echo sudo permissions acquired.'
 
 
-if [ "$app_dirname" == "-help" -o "$app_dirname" == "--help" ]; then
-  print_instructions
-fi
+source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
 
 sep
 
-check_application_dir "$APPLICATION_DIR"
+check_application_dir "$BASE_APPLICATION_PATH"
 
 
-add_domain "$DOMAIN_NAME"
+# find proper webroot where the site will be initialized.
+if [ -z "$app_dirname" ]; then
+  # no dir was passed, so guess it.
+  find_app_folder "$BASE_APPLICATION_PATH"
+else
+  test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
+fi
+
+#echo "!! domain being added is: $DOMAIN_NAME"
+
+sudo bash "$FEISTY_MEOW_SCRIPTS/system/add_domain.sh" "$DOMAIN_NAME"
 test_or_die "Setting up domain: $DOMAIN_NAME"
 
 sep
 
 test_or_die "Setting up domain: $DOMAIN_NAME"
 
 sep
 
-add_apache_site "$APPLICATION_NAME" "$DOMAIN_NAME"
+# add the main website as specified by the domain name they gave us.
+sudo bash "$FEISTY_MEOW_SCRIPTS/system/add_apache_site.sh" "$APPLICATION_NAME" "$DOMAIN_NAME"
 test_or_die "Setting up apache site for: $APPLICATION_NAME"
 
 test_or_die "Setting up apache site for: $APPLICATION_NAME"
 
+# make the shadow site also, which always ends in cakelampvm.com.
+shadow_domain="${APPLICATION_NAME}.cakelampvm.com"
+if [ "$shadow_domain" != "$DOMAIN_NAME" ]; then
+  sudo bash "$FEISTY_MEOW_SCRIPTS/system/add_apache_site.sh" "$APPLICATION_NAME" "$shadow_domain"
+  test_or_die "Setting up shadow apache site on '$shadow_domain'"
+fi
+
 sep
 
 sep
 
+#echo about to do powerup with: app="$APPLICATION_NAME" repo="$REPO_NAME" theme="$THEME_NAME"
+#echo default repo is "$DEFAULT_REPOSITORY_ROOT" 
+
 powerup "$APPLICATION_NAME" "$REPO_NAME" "$THEME_NAME"
 
 sep
 
 powerup "$APPLICATION_NAME" "$REPO_NAME" "$THEME_NAME"
 
 sep
 
+# hmmm: pass the real user name who should own the files?
+# hmmm: "$(logname)" $USER works, but logname wasn't?
+fix_appdir_ownership "$BASE_APPLICATION_PATH" "$APPLICATION_NAME" 
+
+sep
+
 echo "
 echo "
-Finished standing up the full domain and site in:
-${app_dirname}"
+Finished standing up the full domain and site for: ${app_dirname}
+The domain name is: $DOMAIN_NAME
+"