Add support for disallowing access to / with robots.txt
authorAndy Witter <awitter@georgialibraries.org>
Thu, 20 Oct 2016 18:01:09 +0000 (14:01 -0400)
committerAndy Witter <awitter@georgialibraries.org>
Thu, 20 Oct 2016 18:01:09 +0000 (14:01 -0400)
GenaSYS.sh
templates/apache2/robots.txt [new file with mode: 0644]

index f8ea419..f78df9f 100755 (executable)
@@ -25,8 +25,8 @@
     PURPOSE_="Generate config files needed for Evergreen-ILS Cluster"
    SYNOPSIS_="$NAME_"
    REQUIRES_="standard GNU commands, apt, dpkg"
-    VERSION_="1.65"
-       DATE_="2010-11-23; last update: 2016-04-26"
+    VERSION_="1.66"
+       DATE_="2010-11-23; last update: 2016-08-20"
      AUTHOR_="Andy Witter <awitter@georgialibraries.org>"
         URL_="http://evergreen-ils.org"
    CATEGORY_="devel"
@@ -209,12 +209,12 @@ echo
 BoxTitleBar GenaSYS
 echo 
 echo -en "$SHADE_BLUE_20                                                           $SHADE_BLUE_20";echo
-echo -en "$SHADE_BLUE_20  Evergreen $EG_VERSION Cluster configuration.                   $SHADE_BLUE_20";echo
+echo -en "$SHADE_BLUE_20  Evergreen $EG_VERSION Cluster configuration.                  $SHADE_BLUE_20";echo
 echo -en "$SHADE_BLUE_20                                                           $SHADE_BLUE_20";echo
-echo -en "$SHADE_BLUE_20  Welcome to GenaSYS for Evergreen ${EG_VERSION}                   ${SHADE_BLUE_20}";echo
+echo -en "$SHADE_BLUE_20  Welcome to GenaSYS for Evergreen ${EG_VERSION}                  ${SHADE_BLUE_20}";echo
 echo -en "$SHADE_BLUE_20  This program will ask you a few questions then generate  $SHADE_BLUE_20";echo
 echo -en "$SHADE_BLUE_20  all the system config files needed for a standard        $SHADE_BLUE_20";echo
-echo -en "$SHADE_BLUE_20  distributed installation of Evergreen $EG_VERSION              $SHADE_BLUE_20";echo
+echo -en "$SHADE_BLUE_20  distributed installation of Evergreen $EG_VERSION             $SHADE_BLUE_20";echo
 echo -en "$SHADE_BLUE_20                                                           $SHADE_BLUE_20";echo
 for SHADE in {1..61}
 do
@@ -281,8 +281,39 @@ echo -e "Press ${COL_BR_CYAN}[Enter]${COL_RESET} to continue or ${COL_BR_CYAN}[C
 read -p "if you need to do any of the above." ENTER
 
 
-Choose_Detected_Domain_Name () { ### Prompt to use detected domain name.
+Check_Test_Cluster () { ### Ask if this is a test cluster
 echo;echo;echo;echo
+TitleBar "Testing or Production"
+echo
+while true; do
+    echo
+    read -n 1 -p "Is this cluster for testing? [y/n] : " TEST_CLUSTER
+    case $TEST_CLUSTER in
+        [Yy]* ) echo ; break;;
+        [Nn]* ) echo ; break;;
+        * ) echo " Please answer yes or no.";;
+    esac
+done
+if [ "$TEST_CLUSTER" = "y" ] || [ "$TEST_CLUSTER" = "Y" ]
+        then
+        echo 
+       echo "You selected test cluster.  There are times when setting up a test environment"
+       echo "that it is desired to dis-allow access to / by all user-agents with a robots.txt"
+       echo
+       while true; do
+       echo
+        read -n 1 -p "Dis-allow access to / by all user-agents with robots.txt?. [y/n] : " ROBOTS_TXT
+               case $ROBOTS_TXT in
+                       [Yy]* ) echo ; break;;
+                       [Nn]* ) echo ; break;;
+                       * ) echo " Please answer yes or no.";;
+               esac
+       done
+fi
+}
+
+Choose_Detected_Domain_Name () { ### Prompt to use detected domain name.
+echo
 #echo -e $COL_BR_BLUE"________Global Configuration________"$COL_RESET
 TitleBar "Global Configuration"
 echo
@@ -1078,6 +1109,12 @@ else
        USE_CONFIG_FILE="0"
 fi
 
+
+### Check if this is a test cluster.
+if [ -z $TEST_CLUSTER ] || [ "$USE_CONFIG_FILE" == "0" ] ; then
+Check_Test_Cluster
+fi
+
 ### Prompt to use detected domain name.
 if [ -z $CLUSTERDOMAINNAME ] || [ "$USE_CONFIG_FILE" == "0" ] ; then
 Choose_Detected_Domain_Name
@@ -1114,6 +1151,8 @@ echo "## GenaSYS $VERSION_ Configuration" >> $NEW_CONFIG_FILE
 echo "## Created $(date)" >> $NEW_CONFIG_FILE
 echo >> $NEW_CONFIG_FILE
 
+Write_Config_File TEST_CLUSTER
+Write_Config_File ROBOTS_TXT
 Write_Config_File CLUSTERDOMAINNAME 
 
 
@@ -1858,7 +1897,12 @@ for BRICK in $(seq $BRICKCOUNT)
        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
        
+       
         ### head gets exports
+       if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
+       then
+               eval cp -f $TEMPLATEDIR/apache2/robots.txt ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web
+       fi
        eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
        eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
        [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
@@ -2008,6 +2052,10 @@ for BRICK in $(seq $BRICKCOUNT)
        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
        ### head gets exports
+       if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
+        then
+                eval cp -f $TEMPLATEDIR/apache2/robots.txt ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web
+        fi
        eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
        eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
        [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
diff --git a/templates/apache2/robots.txt b/templates/apache2/robots.txt
new file mode 100644 (file)
index 0000000..1f53798
--- /dev/null
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /