X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fsite_avenger%2Frevamp_cakelampvm.sh;h=2ce26bc6fa5805a2a79602f5f529cd964c45a4df;hb=a0d0937cd825edc9d4eadc9f2fbe0f41f9ccd73a;hp=2717b3a65d7a45abb1ee19fe16a436659e2884f4;hpb=08c433f58546a8c8492a537b97759078247e8bce;p=feisty_meow.git diff --git a/scripts/site_avenger/revamp_cakelampvm.sh b/scripts/site_avenger/revamp_cakelampvm.sh index 2717b3a6..2ce26bc6 100644 --- a/scripts/site_avenger/revamp_cakelampvm.sh +++ b/scripts/site_avenger/revamp_cakelampvm.sh @@ -16,21 +16,22 @@ export FEISTY_MEOW_APEX="$( \cd "$WORKDIR/../.." && \pwd )" export NO_HELLO=right source "$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh" +# load dependencies for our script. source "$FEISTY_MEOW_SCRIPTS/system/common_sysadmin.sh" +source "$FEISTY_MEOW_SCRIPTS/security/password_functions.sh" ############## -# new requirement is to get the sql root password, since we need to do some sql db configuration. -echo -n "Please enter the MySQL root account password: " -# turn off echo but remember former setting. -stty_orig=`stty -g` -stty -echo -read mysql_passwd -# turn echo back on. -stty $stty_orig +# it's a requirement to have sql root password, since we may need some sql db configuration. +load_password /etc/mysql/secret_password mysql_passwd +if [ -z "$mysql_passwd" ]; then + read_password "Please enter the MySQL root account password:" mysql_passwd +fi if [ -z "$mysql_passwd" ]; then echo "This script must have the sql root password to proceed." exit 1 +else + store_password /etc/mysql/secret_password "$mysql_passwd" fi ############## @@ -39,8 +40,8 @@ sep echo "Regenerating feisty meow loading dock." -reconfigure_feisty_meow -test_or_die "feisty meow reconfiguration" +regenerate +test_or_die "regenerating feisty meow configuration" chown -R "$(logname)":"$(logname)" /home/$(logname)/.[a-zA-Z0-9]* test_or_die "fix after reconfigured as sudo" @@ -88,6 +89,10 @@ chown -R developer:developer /etc/apache2 /etc/bind test_or_die "chown apache2 and bind to developer" group_perm /etc/apache2 /etc/bind test_or_die "group perms on apache2 and bind" +chown -R developer:developer /opt/feistymeow.org +test_or_die "chown feisty meow to developer" +group_perm /opt/feistymeow.org +test_or_die "group perms on feisty meow" ############## @@ -98,10 +103,6 @@ group_perm $HOME/apps test_or_die "group perms on fred's apps" harsh_perm /home/fred/.ssh test_or_die "harsh_perm setting on fred .ssh" -chown -R fred:fred /opt/feistymeow.org -test_or_die "chown feisty meow to fred" -group_perm /opt/feistymeow.org -test_or_die "group perms on feisty meow" group_perm /home/fred/apps/mapsdemo test_or_die "group perms on mapsdemo app" @@ -130,14 +131,14 @@ fi # install a better editor app. -sep +#sep -echo "The script is about to install the bluefish editor and some dependencies. -If the app is not already installed, then this process takes about one minute -on a slow home DSL internet connection..." +#echo "The script is about to install the bluefish editor and some dependencies. +#If the app is not already installed, then this process takes about one minute +#on a slow home DSL internet connection..." -apt-get install -y bluefish &> "/tmp/install_bluefish-$(logname).log" -test_or_continue "installing bluefish editor" +#apt-get install -y bluefish &> "/tmp/install_bluefish-$(logname).log" +#test_or_continue "installing bluefish editor" ############## @@ -270,6 +271,87 @@ test_or_die "enabling the new cakelampvm environment config for apache" echo Successfully configured the apache2 environment variables needed for cakelampvm. +############## + +# add in a swap mount if not already configured. + +sep + +echo "Checking existing swap partition configuration. +" + +# check for existing swap. +free | grep -q "Swap:[[:blank:]]*[1-9][0-9]" +if [ $? -ne 0 ]; then + # no swap in current session, so add it. + echo "Enabling ramdisk swap partition... +" + add_swap_mount + echo " +Enabled ramdisk swap partition for current boot session." +fi + +# the above just gives this session a swap partition, but we want to have +# the vm boot with one also. + +# check if there is already swap mentioned in the root crontab. we will get root's +# crontab below since this script has to run as sudo. +crontab -l | grep -iq add_swap_mount +if [ $? -ne 0 ]; then + # no existing swap setup in crontab, so add it. + echo " +Adding a boot-time ramdisk swap partition... +" + # need to do it carefully, since sed won't add lines to a null file. we thus + # create a temporary file to do our work in and ignore sed as a tool for this. + tmpfile="$(mktemp junk.XXXXXX)" + crontab -l 2>/dev/null >"$tmpfile" + echo " +# need to explicitly set any variables we will use. +FEISTY_MEOW_APEX=${FEISTY_MEOW_APEX} +# add swap space to increase memory available. +@reboot bash $FEISTY_MEOW_APEX/scripts/system/add_swap_mount.sh +" >>"$tmpfile" + # now install our new version of the crontab. + crontab "$tmpfile" + rm "$tmpfile" + + echo " +Added boot-time ramdisk swap partition to crontab for root." +fi + +############## + +sep + +echo Adding site avenger packages to composer. +# add in site avenger dependencies so we can build avcore properly. +pushd ~ &>/dev/null +sudo -u $(logname) composer config -g repositories.siteavenger composer https://packages.siteavenger.com/ +popd &>/dev/null + +############## + +# make the apache umask set group permissions automatically, so we stop having weird +# permission issues on temp dirs. + +sep + +grep -q "umask" /etc/apache2/envvars +if [ $? -eq 0 ]; then + # already present. + echo the umask configuration for apache already appears to be set. +else + echo " + +# set umask to enable group read/write on files and directories. +umask 002 + +" >> /etc/apache2/envvars + restart_apache + echo "successfully changed apache umask configuration to enable group read/write" +fi + ############## ############## @@ -285,6 +367,9 @@ echo " Thanks for revamping your cakelampvm. :-) + +You may want to update your current shell's feisty meow environment by typing: + regenerate " ##############