#!/bin/sh echo ... Upgrade START! ###------------------### ## Upgrade Aegir ## ###------------------### ###---### custom config # DOMAIN=aegir.example.com ROOT=/data DISTRO=distro02 OLD_DISTRO=distro01 # # ###---### config # AEGIR_ROOT_CLASSIC="$ROOT/aegir/pressflow-aegir" if [ -e $AEGIR_ROOT_CLASSIC ] ; then OLD_AEGIROOT="$AEGIR_ROOT_CLASSIC" else OLD_AEGIROOT="$ROOT/aegir/$OLD_DISTRO" fi # AEGIROOT="$ROOT/aegir/$DISTRO" WEB_GROUP=www DRUSHCMD="/usr/local/bin/php $ROOT/tools/drush/drush.php" # DRUSH=drush-All-Versions-HEAD PROVISION=provision-6.x-0.4-alpha3 HOSTMASTER=hostmaster-6.x-0.4-alpha3 HOSTING=hosting-6.x-0.4-alpha3 ADMINMENU=admin_menu-6.x-3.x-dev ELDIR=eldir-6.x-0.4-alpha3 PROFILEAPI=install_profile_api-6.x-2.1 JQUERY_UI=jquery_ui-6.x-1.3 MODALFRAME=modalframe-6.x-1.4 BOOST=boost-6.x-1.x-dev # # ###---### Add required users and create directories # mkdir -p $ROOT/$DISTRO mkdir -p $ROOT/src/$DISTRO mkdir -p $ROOT/aegir/backups mkdir -p $ROOT/aegir/config/vhost.d # # ###---### Create backup # TIMES=`date +%y%m%d-%H%M%S` /etc/init.d/cron stop && mkdir -p $ROOT/aegir/backup/$OLD_DISTRO/$TIMES mkdir -p $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/tools mkdir -p $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/aegir mkdir -p $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/db cp -af /home/aegir/.drush $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/ cp -af $ROOT/tools/* $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/tools/ cp -af $OLD_AEGIROOT $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/aegir/ /usr/bin/mysqldump --port=3306 --default-character-set=utf8 -h localhost --password=NdKBu34erty325r6mUHxWy -Q -C -e --hex-blob --add-drop-table -q -u root hostmaster > $ROOT/aegir/backup/$OLD_DISTRO/$TIMES/db/hostmaster-$TIMES.sql && # ### for upgrade only # # # # ###---### Build Drush and Provision # cd $ROOT/tools rm -f -r $ROOT/tools/drush cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d drush contributions/modules/drush/ rm -f /usr/sbin/drush ln -s $ROOT/tools/drush/drush /usr/sbin/drush cd /home/aegir/.drush rm -f -r /home/aegir/.drush/provision rm -f /home/aegir/.drush/provision.patch.txt rm -f -r /home/aegir/.drush/provision_boost rm -f -r /home/aegir/.drush/drush_make wget http://ftp.drupal.org/files/projects/$PROVISION.tar.gz && tar -xzf $PROVISION.tar.gz && rm -f $PROVISION.tar.gz cd /home/aegir/.drush git clone git://git.koumbit.net/drupal/contrib/modules/provision_boost.git && cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d drush_make contributions/modules/drush_make/ && cd /home/aegir/.drush wget http://omega8.cc/dev/provision.patch.txt && patch -p1 <./provision.patch.txt && chown -R aegir:www /home/aegir chmod 700 /home/aegir # # ###---### Prepare Pressflow core # cd $ROOT/src/$DISTRO rm -f -r $ROOT/src/$DISTRO/pressflow-6 bzr branch lp:pressflow/6.x pressflow-6 && cd $ROOT/src/$DISTRO/pressflow-6/ rm -f $ROOT/src/$DISTRO/pressflow-6/*.txt wget http://omega8.cc/robots.txt && wget http://omega8.cc/dev/index.patch && patch -p1 <./index.patch && # # # ###---### Build Aegir base # cd $OLD_AEGIROOT && $DRUSHCMD hostmaster migrate $DOMAIN $AEGIROOT && # rm -f -r $AEGIROOT # rm -f $ROOT/u/$DOMAIN # mv -f $ROOT/aegir/pressflow-aegir $ROOT/aegir/pressflow-aegir-back-$DISTRO # mkdir -p $ROOT/aegir/pressflow-aegir # cd $ROOT/aegir/pressflow-aegir cp -af $ROOT/src/$DISTRO/pressflow-6/* $AEGIROOT/ # rm -f $ROOT/aegir/pressflow-aegir/*.txt # wget http://omega8.cc/robots.txt && # ln -s $ROOT/aegir/pressflow-aegir $AEGIROOT # ln -s $ROOT/aegir/pressflow-aegir $ROOT/u/$DOMAIN # mkdir -p $AEGIROOT/sites/all/modules # mkdir -p $AEGIROOT/sites/all/themes # cd $AEGIROOT/profiles # rm -f -r $AEGIROOT/profiles/hostmaster # cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d hostmaster contributions/profiles/hostmaster/ && # mkdir -p $AEGIROOT/profiles/hostmaster/modules # mkdir -p $AEGIROOT/profiles/hostmaster/themes # cd $AEGIROOT/profiles/hostmaster/modules # cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d hosting contributions/modules/hosting/ && # cd $AEGIROOT/profiles/hostmaster/modules # wget http://ftp.drupal.org/files/projects/$ADMINMENU.tar.gz && # tar -xzf $ADMINMENU.tar.gz && # rm -f $ADMINMENU.tar.gz # wget http://ftp.drupal.org/files/projects/$PROFILEAPI.tar.gz && # tar -xzf $PROFILEAPI.tar.gz && # rm -f $PROFILEAPI.tar.gz # wget http://ftp.drupal.org/files/projects/$JQUERY_UI.tar.gz && # tar -xzf $JQUERY_UI.tar.gz && # rm -f $JQUERY_UI.tar.gz # cd $AEGIROOT/profiles/hostmaster/modules/jquery_ui # wget http://jquery-ui.googlecode.com/files/jquery.ui-1.6.zip && # unzip jquery.ui-1.6.zip && # rm -f -r jquery.ui # mv jquery.ui-1.6 jquery.ui # rm -f jquery.ui-1.6.zip # cd $AEGIROOT/profiles/hostmaster/modules/ # wget http://ftp.drupal.org/files/projects/$MODALFRAME.tar.gz # tar -xzf $MODALFRAME.tar.gz && # rm -f $MODALFRAME.tar.gz # wget http://ftp.drupal.org/files/projects/$BOOST.tar.gz # tar -xzf $BOOST.tar.gz && # rm -f $BOOST.tar.gz # cd $AEGIROOT/profiles/hostmaster/themes/ # cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d eldir contributions/themes/eldir/ && # mkdir -p $AEGIROOT/sites/default/files # mkdir -p $AEGIROOT/files # cp $ROOT/$TIMES/aegir/pressflow-aegir/sites/default/settings.php $AEGIROOT/sites/default/ && # if test -f $AEGIROOT/sites/default/settings.php ; then # echo ... settings.php exist ... # echo ... continue ... # sleep 8 # else # cp -af $AEGIROOT/sites/default/default.settings.php $AEGIROOT/sites/default/settings.php # chmod a+rw $AEGIROOT/sites/default/settings.php # fi # chmod a+rwx $AEGIROOT/sites/default/files # # # ###---### Set permissions for all # rm -f -r $ROOT/$DISTRO/*/modules/php chown -R aegir:www $ROOT/aegir chown -R aegir:www $ROOT/$DISTRO # chown -R aegir:www $ROOT/u chown -R aegir:www $ROOT/tools # chown -R aegir $ROOT/u/backups # chown -R aegir $ROOT/u/config # chmod a+X $ROOT/u/config # chmod 700 $ROOT/u/backups chown -R aegir $ROOT/aegir/backups chown -R aegir $ROOT/aegir/config chmod a+X $ROOT/aegir/config chmod 700 $ROOT/aegir/backups /etc/init.d/cron start && # # cd $AEGIROOT && $DRUSHCMD updatedb root='/data/u/$DOMAIN' --uri='$DOMAIN' # # echo ...... DONE!