Newer
Older
#!/bin/bash
###----------------------------------------###
###
### Octopus Aegir Installer
Grazyna Jaworska
committed
###
### noc@omega8.cc www.omega8.cc
###
Grazyna Jaworska
committed
### This program is free software. You can
### redistribute it and/or modify it under
### the terms of the GNU GPL as published by
### the Free Software Foundation, version 2
### or later.
###
### This program is distributed in the hope
### that it will be useful, but WITHOUT ANY
### WARRANTY; without even the implied
### warranty of MERCHANTABILITY or FITNESS
### FOR A PARTICULAR PURPOSE. See the GNU GPL
### for more details.
###
### You should have received a copy of the
### GNU GPL along with this program.
### If not, see http://www.gnu.org/licenses/
### Code: http://code.aegir.cc/aegir
###
###----------------------------------------###
###----------------------------------------###
### DON'T EDIT ANYTHING BELOW THIS LINE ###
###----------------------------------------###
_INSTALLER_VERSION=EDIT_INSTALLER_VERSION
###---### distro config
#
_CIVICRM_M6=EDIT_CIVICRM_M6
_CIVICRM_M7=EDIT_CIVICRM_M7
_CIVICRM6=EDIT_CIVICRM6
_COD=EDIT_COD
_COM_MERCE=EDIT_COM_MERCE
_DRUPAL7=EDIT_DRUPAL7
Grazyna Jaworska
committed
_DRUPAL7D="EDIT_DRUPAL7-dev"
_DRUPAL7P="EDIT_DRUPAL7-prod"
_DRUPAL7S="EDIT_DRUPAL7-stage"
Grazyna Jaworska
committed
_DRUPAL_EDGE_8=EDIT_DRUPAL_EDGE_8
_DRUSH_CC_REQ=EDIT_DRUSH_CC_REQ
_MANAGINGNEWS=EDIT_MANAGINGNEWS
_NODESTREAM6=EDIT_NODESTREAM6
_NODESTREAM7=EDIT_NODESTREAM7
_OCTOPUS_VIDEO=EDIT_OCTOPUS_VIDEO
_OPEN_DEALS=EDIT_OPEN_DEALS
_OPENACADEMY=EDIT_OPENACADEMY
_OPENATRIUM=EDIT_OPENATRIUM
_OPENCHURCH=EDIT_OPENCHURCH
_OPENDEALS=EDIT_OPENDEALS
_OPENENTERPRISE=EDIT_OPENENTERPRISE
_OPENOUTREACH=EDIT_OPENOUTREACH
_OPENPUBLIC=EDIT_OPENPUBLIC
_OPENPUBLISH=EDIT_OPENPUBLISH
Barracuda
committed
_OPENSCHOLAR=EDIT_OPENSCHOLAR
_PROSEPOINT=EDIT_PROSEPOINT
_SMALLCORE_6_LANG=EDIT_SMALLCORE_6_LANG
_SMALLCORE6=EDIT_SMALLCORE6
_SMALLCORE8=EDIT_SMALLCORE8
_UBER_CART_SEVEN=EDIT_UBER_CART_SEVEN
_UBERCART=EDIT_UBERCART
###---### main config
#
_ADM_EMAIL="EDIT_MY_EMAIL"
_AEGIR_VERSION=EDIT_AEGIR_VERSION
_ALL_DISTRO=EDIT_ALL_DISTRO
_AUTOPILOT=EDIT_AUTOPILOT
_BOA_REPO_GIT_URL=EDIT_BOA_REPO_GIT_URL
_BOA_REPO_NAME=EDIT_BOA_REPO_NAME
_CLIENT_CORES=EDIT_CLIENT_CORES
_CLIENT_EMAIL="EDIT_CLIENT_EMAIL"
_DISTRO=EDIT_DISTRO
_DOMAIN=EDIT_DOMAIN
_DRUSH_VERSION=EDIT_DRUSH_VERSION
_HM_DISTRO=EDIT_HM_DISTRO
_HM_ONLY=EDIT_HM_ONLY
_LAST_ALL=EDIT_LAST_ALL
_LAST_HMR=EDIT_LAST_HMR
_LASTNUM=EDIT_LASTNUM
_NOW=EDIT_NOW
_O_CONTRIB_UP=EDIT_O_CONTRIB_UP
_PHP_CLI_VERSION=EDIT_PHP_CLI_VERSION
_PHP_FPM_VERSION=EDIT_PHP_FPM_VERSION
_PHP_MODERN_ONLY=EDIT_PHP_MODERN_ONLY
_PLATFORMS_LIST="EDIT_PLATFORMS_LIST"
Grazyna Jaworska
committed
_PLATFORMS_ONLY=EDIT_PLATFORMS_ONLY
_PURGE_FOR_SEVEN=EDIT_PURGE_FOR_SEVEN
_PURGE_MODE=EDIT_PURGE_MODE
_REL_VERSION=`lsb_release -sc`
_REMOTE_CACHE_IP=EDIT_REMOTE_CACHE_IP
_SPINNER=EDIT_SPINNER
Grazyna Jaworska
committed
_STRONG_PASSWORDS=EDIT_STRONG_PASSWORDS
_THIS_OS=`lsb_release -si`
_THISHTIP=EDIT_THISHTIP
_USE_CURRENT=EDIT_USE_CURRENT
Grazyna Jaworska
committed
_USE_STOCK=EDIT_USE_STOCK
_USRG=EDIT_USRG
_WEBG=EDIT_WEBG
#
_USER=EDIT_USER
_ROOT="/data/disk/$_USER"
_AEGIR_ROOT="$_ROOT/aegir/distro/$_HM_DISTRO"
_DISTRO_ROOT="$_ROOT/distro/$_DISTRO"
#
if [ "$_PHP_CLI_VERSION" = "5.3" ] && [ -x "/opt/local/bin/php" ] ; then
_L_PHP_CLI=/opt/local/bin
else
_L_PHP_CLI=/usr/local/bin
fi
_DRUSHCMD="$_L_PHP_CLI/php $_ROOT/tools/drush/drush.php"
#
SHELL=/bin/bash
PATH=$_L_PHP_CLI:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin
###---### Functions
# noticeable messages
msg() {
Barracuda
committed
echo "Octopus [`date`] ==> $*"
Barracuda
committed
echo " "
Grazyna Jaworska
committed
touch /opt/tmp/status-AegirSetupA-FAIL
# Silent runner.
st_runner () {
CMD="$1"
touch busy
if [ "$_SPINNER" = "YES" ] ; then
bash $_SRCDIR/spinner busy &
fi
if $CMD >> $_LOG; then
rm busy
sleep 1
return 0
else
rm busy
sleep 1
echo "$CMD failed. Error (if any): $?"
echo " "
echo "Displaying the last 15 lines of $_LOG to help troubleshoot this problem"
echo " "
tail -15 $_LOG
return 1
fi
}
#
# Small spinner
mrun () {
CMD="$1"
touch busy
if [ "$_SPINNER" = "YES" ] ; then
bash $_SRCDIR/spinner busy &
fi
rm busy
sleep 1
return 0
fi
}
#
# Simple prompt
prompt_yes_no () {
if [ "$_AUTOPILOT" = "YES" ] ; then
Grazyna Jaworska
committed
return 0
else
while true ; do
printf "$* [Y/n] "
read answer
if [ -z "$answer" ] ; then
return 0
fi
case $answer in
[Yy]|[Yy][Ee][Ss])
return 0
;;
[Nn]|[Nn][Oo])
return 1
;;
*)
echo "Please answer yes or no"
;;
esac
Grazyna Jaworska
committed
done
fi
Grazyna Jaworska
committed
# Remove dangerous stuff from the string.
sanitize_string () {
echo "$1" | sed 's/[\`\#\"\{\(\$\@]//g' | sed 's/\(['"'"'\]\)//g'
Grazyna Jaworska
committed
# Set or update Redis password.
update_redis_password () {
if [ ! -e "/root/.redis.pass.txt" ] && [ -e "/etc/redis/redis.conf" ] ; then
msg "INIT A: Generate random password for Redis server"
touch /root/.redis.pass.txt
chmod 0600 /root/.redis.pass.txt &> /dev/null
Grazyna Jaworska
committed
_ESC_RPASS=""
_LEN_RPASS=0
if [ "$_STRONG_PASSWORDS" = "YES" ] ; then
_ESC_RPASS=$(randpass 32 alnum)
_ESC_RPASS=`echo -n $_ESC_RPASS | tr -d "\n"`
_LEN_RPASS=$(echo ${#_ESC_RPASS})
fi
Grazyna Jaworska
committed
if [ -z "$_ESC_RPASS" ] || [ $_LEN_RPASS -lt 19 ] ; then
_ESC_RPASS=`pwgen -v -s -1`
Grazyna Jaworska
committed
_ESC_RPASS=`echo -n $_ESC_RPASS | tr -d "\n"`
Grazyna Jaworska
committed
_ESC_RPASS=`sanitize_string "$_ESC_RPASS"`
echo "$_ESC_RPASS" > /root/.redis.pass.txt
fi
if [ -e "/root/.redis.pass.txt" ] && [ -e "/etc/redis/redis.conf" ] ; then
if [ -z "$_ESC_RPASS" ] ; then
RPASS=`cat /root/.redis.pass.txt`
RPASS=`echo -n $RPASS | tr -d "\n"`
else
RPASS="$_ESC_RPASS"
fi
sed -i "s/^requirepass.*/requirepass $RPASS/g" /etc/redis/redis.conf &> /dev/null
sed -i "s/isfoobared/$RPASS/g" /data/conf/global.inc &> /dev/null
sed -i "s/isfoobared/$RPASS/g" /var/aegir/config/includes/global.inc &> /dev/null
fi
}
#
# stop on error
# set -e ### disabled for debugging
_LOG=/var/backups/octopus-$_USER-$_NOW.log
# Create shared dirs
create_shared_dirs () {
msg "$_STATUS A: Creating shared directories, please wait..."
if [ ! -d "$_CORE" ] ; then
mkdir -p $_CORE
mkdir -p /data/src
fi
Grazyna Jaworska
committed
chown $_USER:$_USRG /data/all &> /dev/null
Grazyna Jaworska
committed
chown $_USER:$_USRG $_CORE &> /dev/null
if [ ! -e "$_CORE/o_contrib/ctrl-$_INSTALLER_VERSION" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
Grazyna Jaworska
committed
chown -R $_USER:$_USRG $_CORE/o_contrib &> /dev/null
if [ ! -e "$_CORE/o_contrib_seven/ctrl-$_INSTALLER_VERSION" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
Grazyna Jaworska
committed
chown -R $_USER:$_USRG $_CORE/o_contrib_seven &> /dev/null
if [ ! -e "/data/all/$_LAST_ALL/o_contrib/ctrl-$_INSTALLER_VERSION" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
Grazyna Jaworska
committed
chown -R $_USER:$_USRG /data/all/$_LAST_ALL/o_contrib &> /dev/null
if [ ! -e "/data/all/$_LAST_ALL/o_contrib_seven/ctrl-$_INSTALLER_VERSION" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
Grazyna Jaworska
committed
chown -R $_USER:$_USRG /data/all/$_LAST_ALL/o_contrib_seven &> /dev/null
Grazyna Jaworska
committed
chown -R $_USER:$_USRG /data/src &> /dev/null
chown -R $_USER:$_USRG /opt/tmp &> /dev/null
chown -R $_USER:$_USRG /data/conf &> /dev/null
chown -R $_USER:$_USRG /data/all/000 &> /dev/null
chmod 777 $_CORE /data/all /data/src /data /data/disk /data/conf &> /dev/null
}
Barracuda
committed
#
# fix for FServer broken due to required now strongarm
Barracuda
committed
#
feature_server_fix_002 () {
if [ ! -e "/var/log/feature-server-fixed-002.log" ] ; then
Grazyna Jaworska
committed
msg "UPGRADE A: Adding missing strongarm module to old fserver platforms"
REVISIONS="001 002 003 004 005 006 007 008 009 010 011 012 013 014"
Barracuda
committed
for i in $REVISIONS; do
if [ -d "/data/all/$i/fserver" ] ; then
if [ ! -d "/data/all/$i/fserver/profiles/feature_server/modules/strongarm" ] ; then
cd; $_DRUSHCMD dl strongarm-6.x-2.2 --destination=/data/all/$i/fserver/profiles/feature_server/modules &> /dev/null
Barracuda
committed
cd /data/all/$i/fserver/profiles/feature_server
rm -f feature_server.make
rm -f feature_server.profile
cp -af /opt/tmp/$_BOA_REPO_NAME/aegir/makefiles/feature_server.make ./
cp -af /opt/tmp/$_BOA_REPO_NAME/aegir/makefiles/feature_server.profile ./
Barracuda
committed
if [ -e "$_ROOT/.drush/hostmaster.alias.drushrc.php" ] ; then
_THIS_HOSTMASTER=`cat $_ROOT/.drush/hostmaster.alias.drushrc.php | grep 'site_path' | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,']//g"`
cd _THIS_HOSTMASTER &> /dev/null
su -s /bin/bash - $_USER -c "$_DRUSHCMD --root=$_ROOT/distro/$i/fserver provision-save @platform_FeatureServerPF$i &> /dev/null"
Barracuda
committed
fi
Grazyna Jaworska
committed
msg "UPGRADE A: Missing strongarm added to /data/all/$i/fserver"
Barracuda
committed
fi
fi
done
touch /var/log/feature-server-fixed-002.log
Barracuda
committed
cd
fi
}
Grazyna Jaworska
committed
#
Grazyna Jaworska
committed
# update o_contrib
Grazyna Jaworska
committed
#
Grazyna Jaworska
committed
o_contrib_update_global () {
REVISIONS="001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027"
RMMODULES="drupal-nginx-fast-x-accel-redirect varnish bakery session443 cookie_cache_bypass_adv module_supports backup_migrate purge expire imageinfo_cache httprl boost"
Grazyna Jaworska
committed
for i in $REVISIONS; do
if [ -d "/data/all/$i/o_contrib" ] && [ ! -e "/data/all/$i/o_contrib/update-018.info" ] ; then
Grazyna Jaworska
committed
for m in $RMMODULES; do
if [ -d "/data/all/$i/o_contrib/$m" ] ; then
rm -f -r /data/all/$i/o_contrib/$m
Grazyna Jaworska
committed
msg "UPGRADE A: Removed /data/all/$i/o_contrib/$m"
Grazyna Jaworska
committed
fi
done
cd /data/all/$i/o_contrib
git clone --branch 6.x-1.x git://github.com/omega8cc/boost.git /data/all/$i/o_contrib/boost &> /dev/null
rm -f -r /data/all/$i/o_contrib/boost/.git
wget -q -U iCab http://ftp.drupal.org/files/projects/backup_migrate-6.x-2.6.tar.gz
if [ "$_PURGE_MODE" = "ON" ] ; then
wget -q -U iCab http://ftp.drupal.org/files/projects/purge-6.x-1.6.tar.gz
### git clone --branch 6.x-1.x-revert git://github.com/omega8cc/purge.git /data/all/$i/o_contrib/purge &> /dev/null
git clone --branch 6.x-1.x http://git.drupal.org/project/expire.git /data/all/$i/o_contrib/expire &> /dev/null
### rm -f -r /data/all/$i/o_contrib/purge/.git
rm -f -r /data/all/$i/o_contrib/expire/.git
Grazyna Jaworska
committed
for archive in ./*.tar.gz; do
tar -xzf "$archive" &> /dev/null
done
rm -f *.tar.gz
Grazyna Jaworska
committed
if [ -d "/data/all/$i/o_contrib/cache_backport" ] ; then
rm -f -r /data/all/$i/o_contrib/cache_backport
fi
if [ -d "/data/all/$i/o_contrib/redis" ] ; then
rm -f -r /data/all/$i/o_contrib/redis
fi
if [ -e "/data/all/000/modules/cache_backport" ] && [ ! -L "/data/all/$i/o_contrib/cache_backport" ] ; then
ln -s /data/all/000/modules/cache_backport /data/all/$i/o_contrib/cache_backport
fi
if [ -e "/data/all/000/modules/redis" ] && [ ! -L "/data/all/$i/o_contrib/redis" ] ; then
ln -s /data/all/000/modules/redis /data/all/$i/o_contrib/redis
fi
touch /data/all/$i/o_contrib/update-018.info
Grazyna Jaworska
committed
msg "UPGRADE A: New modules in /data/all/$i/o_contrib: purge expire backup_migrate"
Grazyna Jaworska
committed
fi
if [ -d "/data/all/$i" ] ; then
for p in `find /data/all/$i/ -maxdepth 1 -mindepth 1 -type d | sort`; do
Grazyna Jaworska
committed
if [ -d "$p/modules/cookie_cache_bypass" ] ; then
rm -f -r $p/modules/cookie_cache_bypass
fi
done
fi
done
cd
}
Grazyna Jaworska
committed
# update o_contrib_seven
Grazyna Jaworska
committed
o_contrib_seven_update_global () {
REVISIONS="001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027"
RMMODULES="session443 cookie_cache_bypass_adv purge expire agrcache httprl filefield_nginx_progress boost"
for i in $REVISIONS; do
if [ -d "/data/all/$i/o_contrib_seven" ] && [ ! -e "/data/all/$i/o_contrib_seven/update-018.info" ] ; then
for m in $RMMODULES; do
if [ -d "/data/all/$i/o_contrib_seven/$m" ] ; then
rm -f -r /data/all/$i/o_contrib_seven/$m
Grazyna Jaworska
committed
msg "UPGRADE A: Removed /data/all/$i/o_contrib_seven/$m"
fi
done
if [ "$_PURGE_MODE" = "ON" ] && [ "$_PURGE_FOR_SEVEN" = "YES" ] ; then
cd /data/all/$i/o_contrib_seven
wget -q -U iCab http://ftp.drupal.org/files/projects/purge-7.x-1.6.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/expire-7.x-1.0-beta1.tar.gz
### git clone --branch 7.x-1.x http://git.drupal.org/project/purge.git /data/all/$i/o_contrib_seven/purge &> /dev/null
### git clone --branch 7.x-1.x http://git.drupal.org/project/expire.git /data/all/$i/o_contrib_seven/expire &> /dev/null
### rm -f -r /data/all/$i/o_contrib_seven/purge/.git
### rm -f -r /data/all/$i/o_contrib_seven/expire/.git
git clone --branch 7.x-1.x git://github.com/omega8cc/boost.git /data/all/$i/o_contrib_seven/boost &> /dev/null
rm -f -r /data/all/$i/o_contrib_seven/boost/.git
wget -q -U iCab http://ftp.drupal.org/files/projects/filefield_nginx_progress-7.x-2.3.tar.gz
for archive in ./*.tar.gz; do
tar -xzf "$archive" &> /dev/null
done
rm -f *.tar.gz
Grazyna Jaworska
committed
if [ -d "/data/all/$i/o_contrib_seven/redis" ] ; then
rm -f -r /data/all/$i/o_contrib_seven/redis
fi
if [ -e "/data/all/000/modules/redis" ] && [ ! -L "/data/all/$i/o_contrib_seven/redis" ] ; then
ln -s /data/all/000/modules/redis /data/all/$i/o_contrib_seven/redis
fi
touch /data/all/$i/o_contrib_seven/update-018.info
msg "UPGRADE A: New modules in /data/all/$i/o_contrib_seven: filefield_nginx_progress purge expire"
fi
done
cd
}
#
# Sub Force advanced Nginx configuration.
sub_force_advanced_nginx_config () {
if [ -d "$_THIS_NGX_PATH" ] ; then
if [ "$_PHP_FPM_VERSION" = "5.3" ] && [ -e "/opt/local/etc/php53-fpm.conf" ] ; then
Grazyna Jaworska
committed
if [ "$_USE_STOCK" = "NO" ] ; then
sed -i "s/127.0.0.1:9000/127.0.0.1:9090/g" $_THIS_NGX_PATH/nginx_octopus_include.conf &> /dev/null
else
sed -i "s/127.0.0.1:9000/127.0.0.1:9090/g" $_THIS_NGX_PATH/nginx_advanced_include.conf &> /dev/null
fi
fi
fi
}
#
# Force advanced Nginx configuration.
force_advanced_nginx_config () {
validate_local_ip &> /dev/null
_THIS_NGX_PATH=$_ROOT/.drush/provision/http/Provision/Service/http
sub_force_advanced_nginx_config
_THIS_NGX_PATH=$_ROOT/config/includes
sub_force_advanced_nginx_config
if [ -e "$_ROOT/config/includes" ] && [ "$_USE_STOCK" = "NO" ] ; then
if [ ! -L "$_ROOT/config/includes/nginx_advanced_include.conf" ] ; then
rm -f $_ROOT/config/includes/nginx_advanced_include.conf
ln -s $_ROOT/config/includes/nginx_octopus_include.conf $_ROOT/config/includes/nginx_advanced_include.conf
Grazyna Jaworska
committed
fi
if [ ! -L "$_ROOT/config/includes/nginx_simple_include.conf" ] ; then
rm -f $_ROOT/config/includes/nginx_simple_include.conf
ln -s $_ROOT/config/includes/nginx_legacy_include.conf $_ROOT/config/includes/nginx_simple_include.conf
Grazyna Jaworska
committed
fi
Grazyna Jaworska
committed
fi
#
# download_textile
download_textile () {
cd textile
svn export http://textpattern.googlecode.com/svn/development/4.x/textpattern/lib/classTextile.php &> /dev/null
cp -af classTextile.php include/ &> /dev/null
Grazyna Jaworska
committed
cd ../
patch -p1 < /opt/tmp/$_BOA_REPO_NAME/aegir/patches/textile.patch &> /dev/null
}
#
# download_o_contrib_seven
download_o_contrib_seven () {
touch update-018.info
#msg "$_STATUS A: Downloading o_contrib_seven modules, please wait..."
wget -q -U iCab http://ftp.drupal.org/files/projects/admin-7.x-2.0-beta3.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/backup_migrate-7.x-2.5.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/blockcache_alter-7.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/cdn-7.x-2.6.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/config_perms-7.x-2.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/core_library-7.x-1.0-beta12.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/css_emimage-7.x-1.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/entitycache-7.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/esi-7.x-3.0-alpha1.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/filefield_nginx_progress-7.x-2.3.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/flood_control-7.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/fpa-7.x-2.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/login_security-7.x-1.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/nocurrent_pass-7.x-1.0.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/readonlymode-7.x-1.1.tar.gz
Grazyna Jaworska
committed
wget -q -U iCab http://ftp.drupal.org/files/projects/reroute_email-7.x-1.1.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/robotstxt-7.x-1.1.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/site_verify-7.x-1.0.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/speedy-7.x-1.6.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/taxonomy_edge-7.x-1.8.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/textile-7.x-2.0-rc11.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/variable_clean-7.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/vars-7.x-2.0-alpha10.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/views_content_cache-7.x-3.x-dev.tar.gz
if [ "$_PURGE_MODE" = "ON" ] && [ "$_PURGE_FOR_SEVEN" = "YES" ] ; then
rm -f -r expire*
git clone --branch 7.x-1.x http://git.drupal.org/project/expire.git &> /dev/null
rm -f -r expire/.git
rm -f -r purge*
wget -q -U iCab http://ftp.drupal.org/files/projects/purge-7.x-1.6.tar.gz
### git clone --branch 7.x-1.x http://git.drupal.org/project/purge.git &> /dev/null
### rm -f -r purge/.git
else
rm -f -r nginx_accel_redirect*
rm -f -r purge*
rm -f -r expire*
fi
git clone --branch 7.x-1.x git://github.com/omega8cc/boost.git &> /dev/null
rm -f -r boost/.git
for archive in ./*.tar.gz; do
tar -xzf "$archive" &> /dev/null
done
rm -f *.tar.gz
touch ctrl-$_INSTALLER_VERSION
Grazyna Jaworska
committed
if [ ! -L "./redis" ] ; then
ln -s /data/all/000/modules/redis redis
fi
download_textile
if [ ! -e "/data/all/000/modules/redis/update-018.info" ] ; then
Grazyna Jaworska
committed
mkdir -p /data/all/000/modules
cd /data/all/000/modules
rm -f -r /data/all/000/modules/redis
git clone --branch 7.x-2.x-o8 git://github.com/omega8cc/redis.git &> /dev/null
rm -f -r redis/.git
Grazyna Jaworska
committed
rm -f redis/redis.info
echo update > redis/update-018.info
Grazyna Jaworska
committed
fi
}
#
# download_o_contrib_six
download_o_contrib_six () {
touch update-018.info
#msg "$_STATUS A: Downloading o_contrib modules, please wait..."
wget -q -U iCab http://files.aegir.cc/dev/css_emimage-6.x-2.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/admin-6.x-2.0.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/backup_migrate-6.x-2.6.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/blockcache_alter-6.x-1.5.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/cdn-6.x-2.6.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/config_perms-6.x-2.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/dbtuner-6.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/esi-6.x-2.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/filefield_nginx_progress-6.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/fpa-6.x-2.4.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/image-6.x-1.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/login_security-6.x-1.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/private_upload-6.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/readonlymode-6.x-1.2.tar.gz
Grazyna Jaworska
committed
wget -q -U iCab http://ftp.drupal.org/files/projects/reroute_email-6.x-1.2.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/robotstxt-6.x-1.3.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/securesite-6.x-2.4.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/site_verify-6.x-1.0.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/taxonomy_edge-6.x-1.7.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/textile-6.x-2.4.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/variable_clean-6.x-1.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/views_content_cache-6.x-2.x-dev.tar.gz
wget -q -U iCab http://ftp.drupal.org/files/projects/views404-6.x-1.x-dev.tar.gz
if [ "$_PURGE_MODE" = "ON" ] ; then
rm -f -r expire*
git clone --branch 6.x-1.x http://git.drupal.org/project/expire.git &> /dev/null
rm -f -r expire/.git
rm -f -r purge*
wget -q -U iCab http://ftp.drupal.org/files/projects/purge-6.x-1.6.tar.gz
### git clone --branch 6.x-1.x-revert git://github.com/omega8cc/purge.git &> /dev/null
### rm -f -r purge/.git
else
rm -f -r nginx_accel_redirect*
rm -f -r purge*
rm -f -r expire*
fi
git clone --branch 6.x-1.x git://github.com/omega8cc/boost.git &> /dev/null
rm -f -r boost/.git
for archive in ./*.tar.gz; do
tar -xzf "$archive" &> /dev/null
done
rm -f *.tar.gz
touch ctrl-$_INSTALLER_VERSION
Grazyna Jaworska
committed
if [ ! -L "./redis" ] ; then
ln -s /data/all/000/modules/redis redis
fi
if [ ! -L "./cache_backport" ] ; then
ln -s /data/all/000/modules/cache_backport cache_backport
fi
download_textile
if [ ! -e "/data/all/000/modules/cache_backport/update-018.info" ] ; then
Grazyna Jaworska
committed
mkdir -p /data/all/000/modules
cd /data/all/000/modules
rm -f -r /data/all/000/modules/cache_backport
Grazyna Jaworska
committed
wget -q -U iCab http://ftp.drupal.org/files/projects/cache_backport-6.x-1.0-rc1.tar.gz
for archive in ./*.tar.gz; do
tar -xzf "$archive" &> /dev/null
done
rm -f *.tar.gz
sed -i "s/Cache Backand/D7 Cache Backport for D6/g" cache_backport/cache_backport.info &> /dev/null
echo update > cache_backport/update-018.info
Grazyna Jaworska
committed
fi
if [ ! -e "/data/all/000/modules/redis/update-018.info" ] ; then
Grazyna Jaworska
committed
mkdir -p /data/all/000/modules
cd /data/all/000/modules
rm -f -r /data/all/000/modules/redis
git clone --branch 7.x-2.x-o8 git://github.com/omega8cc/redis.git &> /dev/null
rm -f -r redis/.git
Grazyna Jaworska
committed
rm -f redis/redis.info
echo update > redis/update-018.info
Grazyna Jaworska
committed
fi
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
}
#
# upgrade_o_contrib
upgrade_o_contrib () {
if [ -e "$_CORE/o_contrib/ctrl-$_INSTALLER_VERSION" ] && [ -e "$_CORE/o_contrib_seven/ctrl-$_INSTALLER_VERSION" ] ; then
_O_CONTRIB_UP=NO
fi
if [ -e "/data/all/$_LAST_ALL/o_contrib/ctrl-$_INSTALLER_VERSION" ] && [ -e "/data/all/$_LAST_ALL/o_contrib_seven/ctrl-$_INSTALLER_VERSION" ] ; then
_O_CONTRIB_UP=NO
fi
if [ -d "$_CORE/o_contrib" ] ; then
if [ ! -e "$_CORE/o_contrib/textile/include/classTextile.php" ] ; then
_O_CONTRIB_UP=YES
fi
fi
if [ -d "$_CORE/o_contrib_seven" ] ; then
if [ ! -e "$_CORE/o_contrib_seven/textile/include/classTextile.php" ] ; then
_O_CONTRIB_UP=YES
fi
fi
if [ -d "/data/all/$_LAST_ALL/o_contrib" ] ; then
if [ ! -e "/data/all/$_LAST_ALL/o_contrib/textile/include/classTextile.php" ] ; then
_O_CONTRIB_UP=YES
fi
fi
if [ -d "/data/all/$_LAST_ALL/o_contrib_seven" ] ; then
if [ ! -e "/data/all/$_LAST_ALL/o_contrib_seven/textile/include/classTextile.php" ] ; then
_O_CONTRIB_UP=YES
fi
fi
if [ ! -e "$_THIS_CTRL" ] ; then
_O_CONTRIB_UP=YES
fi
if [ ! -e "/data/all/000/modules/redis/update-018.info" ] ; then
Grazyna Jaworska
committed
_O_CONTRIB_UP=YES
fi
if [ "$_PURGE_MODE" = "ON" ] ; then
_TEST_MODULE=purge
else
_TEST_MODULE=textile
fi
if [ -d "/data/all/$_LAST_ALL/o_contrib" ] ; then
if [ ! -d "/data/all/$_LAST_ALL/o_contrib/$_TEST_MODULE" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
#msg "$_STATUS A: Running o_contrib upgrade #1, please wait..."
cd /data/all/$_LAST_ALL/o_contrib
rm -f -r *
download_o_contrib_six
cd /data/all/$_LAST_ALL/o_contrib
fi
fi
if [ -d "$_CORE/o_contrib" ] ; then
if [ ! -d "$_CORE/o_contrib/$_TEST_MODULE" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
#msg "$_STATUS A: Running o_contrib upgrade #2, please wait..."
cd $_CORE/o_contrib
rm -f -r *
download_o_contrib_six
cd $_CORE/o_contrib
fi
fi
if [ -d "/data/all/$_LAST_ALL/o_contrib_seven" ] ; then
if [ ! -d "/data/all/$_LAST_ALL/o_contrib_seven/robotstxt" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
#msg "$_STATUS A: Running o_contrib_seven upgrade #1, please wait..."
cd /data/all/$_LAST_ALL/o_contrib_seven
rm -f -r *
download_o_contrib_seven
cd /data/all/$_LAST_ALL/o_contrib_seven
fi
fi
if [ -d "$_CORE/o_contrib_seven" ] ; then
if [ ! -d "$_CORE/o_contrib_seven/robotstxt" ] || [ "$_O_CONTRIB_UP" = "YES" ] ; then
#msg "$_STATUS A: Running o_contrib_seven upgrade #2, please wait..."
cd $_CORE/o_contrib_seven
rm -f -r *
download_o_contrib_seven
cd $_CORE/o_contrib_seven
fi
fi
}
#
# manage_o_contrib
manage_o_contrib () {
if [ ! -e "$_CORE/o_contrib_seven" ] ; then
mkdir -p $_CORE/o_contrib_seven
cd $_CORE/o_contrib_seven
download_o_contrib_seven
cd $_CORE/o_contrib_seven
fi
if [ ! -e "$_CORE/o_contrib" ] ; then
mkdir -p $_CORE/o_contrib
cd $_CORE/o_contrib
download_o_contrib_six
cd $_CORE/o_contrib
fi
if [ $_STATUS != "INIT" ] ; then
msg "$_STATUS A: Running o_contrib modules check and upgrade, please wait..."
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
upgrade_o_contrib
fi
if [ ! -e "/data/all/000/translations/drupal-$_SMALLCORE_6_LANG.pl.po" ] ; then
if [ ! -d "/data/all/000/translations" ] ; then
mkdir -p /data/all/000/translations
else
rm -f /data/all/000/translations/* &> /dev/null
fi
cd /data/all/000/translations
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.zh-hant.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.zh-hans.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.ca.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.da.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.nl.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.fr.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.de.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.hu.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.ja.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.nb.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.pl.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.pt-pt.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.pt-br.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.es.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.sv.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.el.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.et.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.it.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.uk.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.sk.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.fi.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.tr.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.cs.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.lt.po
wget -q -U iCab http://ftp.drupal.org/files/translations/6.x/drupal/drupal-$_SMALLCORE_6_LANG.ru.po
fi
}
Barracuda
committed
Barracuda
committed
msg "$_STATUS A: Aegir automated install script part A"
###---### Checking version..
#
msg "INFO A: Checking OCTOPUS version, please wait..."
if [ "$_AEGIR_VERSION" = "HEAD" ] ; then
_FILE_VERSION=release.txt
else
_FILE_VERSION=version.txt
fi
if [ -e "/opt/tmp/$_BOA_REPO_NAME/aegir/conf/$_FILE_VERSION" ] ; then
_VERSIONS_TEST=`cat /opt/tmp/$_BOA_REPO_NAME/aegir/conf/$_FILE_VERSION`
if [[ "$_VERSIONS_TEST" =~ "-dev" ]] ; then
if [[ "$_VERSIONS_TEST" =~ "$_INSTALLER_VERSION" ]] && [ "$_AEGIR_VERSION" = "HEAD" ] ; then
_VERSIONS_TEST_RESULT=OK
msg "INFO A: Version test result: OK"
else
_VERSIONS_TEST_RESULT=FAIL
fi
else
if [[ "$_VERSIONS_TEST" =~ "$_INSTALLER_VERSION" ]] && [[ "$_AEGIR_VERSION" =~ "BOA" ]] ; then
_VERSIONS_TEST_RESULT=OK
msg "INFO: Version test result: OK"
else
_VERSIONS_TEST_RESULT=FAIL
fi
fi
if [ "$_VERSIONS_TEST_RESULT" = "FAIL" ] ; then
msg "ERROR: This OCTOPUS version is outdated and will not work correctly"
msg "Please download and use new stable version:"
msg "wget -q -U iCab http://files.aegir.cc/versions/OCTOPUS.sh.txt"
msg "You can also use (for testing) latest dev version:"
msg "wget -q -U iCab http://drupalcode.org/project/barracuda.git/blob_plain/HEAD:/OCTOPUS.sh.txt"
Grazyna Jaworska
committed
touch /opt/tmp/status-AegirSetupA-FAIL
exit 1
fi
fi
###---### Checking status..
#
if [ -d "$_ROOT" ] ; then
_STATUS=UPGRADE
cd $_ROOT
rm -f $_ROOT/AegirSetupC.sh.txt
rm -f $_ROOT/AegirSetupB.sh.txt
else
if [ "$_HOT_SAUCE" = "NO" ] ; then
_CORE="/data/all/$_LAST_ALL"
_THIS_CORE="$_LAST_ALL"
if [ "$_USE_CURRENT" = "YES" ] && [ -e "/data/all/000/translations/drupal-$_SMALLCORE_6_LANG.pl.po" ] ; then
Barracuda
committed
msg "$_STATUS A: Shared platforms code v.$_LAST_ALL (latest available) will be used for this install"
elif [ "$_USE_CURRENT" = "NO" ] || [ ! -e "/data/all/000/translations/drupal-$_SMALLCORE_6_LANG.pl.po" ] ; then
_CORE="/data/all/$_ALL_DISTRO"
_THIS_CORE="$_ALL_DISTRO"
msg "$_STATUS A: Shared platforms code v.$_ALL_DISTRO (hot new) will be created"
sed -i "s/^_USE_CURRENT=.*/_USE_CURRENT=NO/g" /opt/tmp/$_BOA_REPO_NAME/aegir/scripts/AegirSetupC.sh.txt &> /dev/null
Barracuda
committed
msg "$_STATUS A: Shared platforms code v.$_LAST_ALL (latest available) will be used for this install"
else
_CORE="/data/all/$_ALL_DISTRO"
_THIS_CORE="$_ALL_DISTRO"
Barracuda
committed
msg "$_STATUS A: Shared platforms code v.$_ALL_DISTRO (hot new) will be created"
_THIS_CTRL="$_CORE/o_contrib/ctrl-$_INSTALLER_VERSION"
###---### Add required users and create directories
#
msg "$_STATUS A: Creating directories with correct permissions, please wait..."
mkdir -p /data/u
mkdir -p /data/disk
mkdir -p /data/conf
chown root:root /data &> /dev/null
chown root:root /data/disk &> /dev/null
if [ ! -d "$_ROOT" ] ; then
msg "$_STATUS A: Adding user, please wait..."
adduser --system --home $_ROOT --ingroup $_USRG $_USER &> /dev/null
adduser $_USER $_WEBG &> /dev/null
Grazyna Jaworska
committed
chown -R $_USER:$_USRG /opt/tmp &> /dev/null
chown -R $_USER:$_USRG /data/conf &> /dev/null
###---### Prepare scripts
#
chmod 0711 $_ROOT
cd $_ROOT
cp -af /opt/tmp/$_BOA_REPO_NAME/aegir/scripts/AegirSetupB.sh.txt ./
cp -af /opt/tmp/$_BOA_REPO_NAME/aegir/scripts/AegirSetupC.sh.txt ./
chown $_USER:$_USRG $_ROOT/AegirSetupB.sh.txt &> /dev/null
chown $_USER:$_USRG $_ROOT/AegirSetupC.sh.txt &> /dev/null
###---### Run standard pre-install
Grazyna Jaworska
committed
# Generate provision backend db_passwd.
provision_backend_dbpass_generate () {
touch $_ROOT/.$_USER.pass.txt
chmod 0600 $_ROOT/.$_USER.pass.txt
Grazyna Jaworska
committed
_ESC_PASS=""
_LEN_PASS=0
if [ "$_STRONG_PASSWORDS" = "YES" ] ; then
_ESC_PASS=$(randpass 32 esc)
_ESC_PASS=`echo -n $_ESC_PASS | tr -d "\n"`
_ENC_PASS=$(python -c "import urllib; print urllib.quote('''$_ESC_PASS''')")
_LEN_PASS=$(echo ${#_ESC_PASS})
fi
Grazyna Jaworska
committed
if [ -z "$_ESC_PASS" ] || [ $_LEN_PASS -lt 19 ] ; then
_ESC_PASS=`pwgen -v -s -1`
_ESC_PASS=`echo -n $_ESC_PASS | tr -d "\n"`
Grazyna Jaworska
committed
_ESC_PASS=`sanitize_string "$_ESC_PASS"`
fi
echo "$_ESC_PASS" > $_ROOT/.$_USER.pass.txt
_AEGIR_HOST=`uname -n`
_RESOLVEIP=`echo $(getent ahostsv4 $_AEGIR_HOST) | cut -d: -f2 | awk '{ print $1}' 2> /dev/null`
if [ -z "$_RESOLVEIP" ] ; then
msg "$_STATUS A: FATAL ERROR: This server does not have a hostname that resolves to an IP address"
msg "$_STATUS A: FATAL ERROR: Aborting AegirSetupA installer NOW!"
touch /opt/tmp/status-AegirSetupA-FAIL
exit 1
fi
Grazyna Jaworska
committed
mysql -uroot mysql<<EOFMYSQL
GRANT ALL PRIVILEGES ON *.* TO '$_USER'@'$_AEGIR_HOST' IDENTIFIED BY '$_ESC_PASS' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO '$_USER'@'$_RESOLVEIP' IDENTIFIED BY '$_ESC_PASS' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO '$_USER'@'localhost' IDENTIFIED BY '$_ESC_PASS' WITH GRANT OPTION;
Grazyna Jaworska
committed
mysqladmin flush-privileges &> /dev/null
}
Grazyna Jaworska
committed
#
# Sync provision backend db_passwd.
provision_backend_dbpass_sync () {
msg "$_STATUS A: Syncing provision backend db_passwd, please wait..."
mrun "sleep 1"
_L_SYS="$_ROOT/.$_USER.pass.txt"
mv -f $_L_SYS $_L_SYS-pre-$_INSTALLER_VERSION-$_NOW &> /dev/null
provision_backend_dbpass_generate
if [ ! -z "$_ESC_APASS" ] && [ ! -z "$_ENC_APASS" ] ; then
su -s /bin/bash - $_USER -c "$_DRUSHCMD @hostmaster sqlq \"UPDATE hosting_db_server SET db_passwd='$_ESC_PASS' WHERE db_user='$_USER'\" &> /dev/null"
mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('$_ESC_PASS') WHERE User='$_USER';" &> /dev/null
sed -i "s/mysql:\/\/$_USER:.*/mysql:\/\/$_USER:$_ENC_PASS@localhost',/g" $_ROOT/.drush/server_localhost.alias.drushrc.php &> /dev/null
sed -i "s/mysql:\/\/$_USER:.*/mysql:\/\/$_USER:$_ENC_PASS@localhost',/g" $_ROOT/.drush/server_master.alias.drushrc.php &> /dev/null
fi
Grazyna Jaworska
committed
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
mysqladmin flush-privileges &> /dev/null
if [ "$_USE_STOCK" = "YES" ] || [ "$_DRUSH_CC_REQ" = "YES" ] ; then
$_DRUSHCMD cache-clear drush &> /dev/null
fi
if [ -e "$_ROOT/.drush/server_localhost.alias.drushrc.php" ] ; then
su -s /bin/bash $_USER -c "$_DRUSHCMD @hostmaster hosting-task @server_localhost verify --force &> /dev/null"
else
su -s /bin/bash $_USER -c "$_DRUSHCMD @hostmaster hosting-task @server_master verify --force &> /dev/null"
fi
msg "$_STATUS A: Running hosting-dispatch (1/3), please wait..."
$_DRUSHCMD '@hostmaster' hosting-dispatch &> /dev/null
mrun "sleep 5"
msg "$_STATUS A: Running hosting-dispatch (2/3), please wait..."
$_DRUSHCMD '@hostmaster' hosting-dispatch &> /dev/null
mrun "sleep 5"
msg "$_STATUS A: Running hosting-dispatch (3/3), please wait..."
$_DRUSHCMD '@hostmaster' hosting-dispatch &> /dev/null
}
#
# Sync hostmaster frontend db_passwd.
hostmaster_frontend_dbpass_sync () {
msg "$_STATUS A: Syncing hostmaster frontend db_passwd, please wait..."
mrun "sleep 1"
_THIS_HM_SPTH=`cat $_ROOT/.drush/hostmaster.alias.drushrc.php | grep "site_path'" | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,']//g"`
_THIS_HM_DBUR=`cat $_THIS_HM_SPTH/drushrc.php | grep "options\['db_user'\] = " | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,';]//g"`
_THIS_HM_DBPD=`cat $_THIS_HM_SPTH/drushrc.php | grep "options\['db_passwd'\] = " | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,';]//g"`
if [ -e "$_THIS_HM_SPTH" ] && [ ! -z "$_THIS_HM_DBUR" ] && [ ! -z "$_THIS_HM_DBPD" ] ; then
mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('$_THIS_HM_DBPD') WHERE User='$_THIS_HM_DBUR';" &> /dev/null
fi
mysqladmin flush-privileges &> /dev/null
}
if [ "$_STATUS" = "INIT" ] ; then
mysqladmin flush-hosts &> /dev/null
provision_backend_dbpass_generate
echo "$_USER ALL=NOPASSWD: /etc/init.d/nginx" >> /etc/sudoers
else
mysqladmin flush-hosts &> /dev/null
provision_backend_dbpass_sync
fi
Grazyna Jaworska
committed
###---### Install or upgrade Aegir Satellite Instance [Y/n]
if [ -e "/var/run/aegir_upgrade.pid" ] ; then
if [ "$_LOCAL_STATUS" = "INIT" ] ; then
msg "$_STATUS A: Switching user and running AegirSetupB, please wait..."
rm -f /opt/tmp/testecho*
chown root:$_USRG /data/u &> /dev/null
chmod 0771 /data/u &> /dev/null
su -s /bin/bash - $_USER -c "/bin/bash AegirSetupB.sh.txt"
Grazyna Jaworska
committed
if [ -e "/opt/tmp/status-AegirSetupB-FAIL" ] ; then
msg "$_STATUS A: FATAL ERROR: AegirSetupB installer failed"
msg "$_STATUS A: FATAL ERROR: Aborting AegirSetupA installer NOW!"
touch /opt/tmp/status-AegirSetupA-FAIL
exit 1
fi
chmod 0700 /data/u &> /dev/null
chown root:root /data/u &> /dev/null
msg "$_STATUS A: Aegir Satellite Instance installation completed"
Barracuda
committed
echo " "
Grazyna Jaworska
committed
if prompt_yes_no "Do you want to upgrade this Aegir Satellite Instance?" ; then
if [ "$_PLATFORMS_ONLY" = "YES" ] ; then
msg "$_STATUS A: Aegir Satellite Instance upgrade skipped - platforms only"
mrun "sleep 1"
Grazyna Jaworska
committed
msg "$_STATUS A: Switching user and running AegirSetupB, please wait..."
mrun "sleep 1"
rm -f /opt/tmp/testecho*
service cron stop &> /dev/null
_THIS_HM_ROOT=`cat $_ROOT/.drush/hostmaster.alias.drushrc.php | grep "root'" | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,']//g"`
_THIS_HM_SITE=`cat $_ROOT/.drush/hostmaster.alias.drushrc.php | grep "site_path'" | cut -d: -f2 | awk '{ print $3}' | sed "s/[\,']//g"`
chown -R $_USER:$_USRG $_ROOT/.drush
chown -R $_USER:$_USRG $_ROOT/backups
chown -R $_USER:$_USRG $_ROOT/clients
chown -R $_USER:$_USRG $_ROOT/config
chown -R $_USER:$_USRG $_ROOT/tools
chown -R $_USER $_THIS_HM_ROOT
chown -R $_USER:$_WEBG $_THIS_HM_SITE/files
chmod -R 2770 $_THIS_HM_SITE/files
chown root:$_USRG /data/u &> /dev/null
chmod 0771 /data/u &> /dev/null
Grazyna Jaworska
committed
hostmaster_frontend_dbpass_sync
su -s /bin/bash - $_USER -c "/bin/bash AegirSetupB.sh.txt"
Grazyna Jaworska
committed
if [ -e "/opt/tmp/status-AegirSetupB-FAIL" ] ; then
msg "$_STATUS A: FATAL ERROR: AegirSetupB installer failed"
msg "$_STATUS A: FATAL ERROR: Aborting AegirSetupA installer NOW!"
touch /opt/tmp/status-AegirSetupA-FAIL
exit 1
else
mkdir -p $_ROOT/backups/system/old_hostmaster
chmod 700 $_ROOT/backups/system/old_hostmaster
chmod 700 $_ROOT/backups/system
mv -f $_ROOT/backups/*host8* $_ROOT/backups/system/old_hostmaster/ &> /dev/null
chmod 600 $_ROOT/backups/system/old_hostmaster/* &> /dev/null
Grazyna Jaworska
committed
hostmaster_frontend_dbpass_sync