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"
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
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
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
echo "## Created $(date)" >> $NEW_CONFIG_FILE
echo >> $NEW_CONFIG_FILE
+Write_Config_File TEST_CLUSTER
+Write_Config_File ROBOTS_TXT
Write_Config_File CLUSTERDOMAINNAME
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
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