From 1ced786ff499f44a610924ceb209f6991bbffa14 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 30 Sep 2011 14:23:41 -0300 Subject: Adding drupal install --- templates/drupal.sh.erb | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'templates/drupal.sh.erb') diff --git a/templates/drupal.sh.erb b/templates/drupal.sh.erb index afc3ed1..bb65c5c 100644 --- a/templates/drupal.sh.erb +++ b/templates/drupal.sh.erb @@ -3,6 +3,7 @@ # Drupal management script. # +SITES="<%= apache_sites_folder %>" BASE="<%= apache_www_folder %>" SERIES="5 6 7" @@ -206,6 +207,59 @@ function drupal_video_scheduler { fi } +# Install a new instance +function drupal_install { + if [ -z "$2" ]; then + echo "Usage: `basename $0` install [aliases]" + exit 1 + elif [ -e "$BASE/drupal-$series/sites/$site" ]; then + echo "Drupal $site already installed at $BASE/drupal-$series" + exit 1 + fi + + # Required arguments + series="$1" + site="$2" + shift 2 + + # Site aliases + aliases="$*" + + # Check installation + if [ ! -e "$BASE/drupal-$series" ]; then + echo "Please deploy your drupal $series farm first" + exit 1 + fi + + echo "Creating $SITES/$site/drupal/ structure..." + mkdir -p $SITES/$site/drupal/files + + # Set files folder permission + if grep -qe "^$site:" /etc/passwd; then + chown $site.$site $SITES/$site/drupal/files + else + chown www-data.www-data $SITES/$site/drupal/files + fi + + echo "Copying default configuration file..." + cp $BASE/drupal-$series/sites/default/default.settings.php $SITES/$site/drupal/settings.php + chown root.root $SITES/$site/drupal/settings.php + chmod 640 $SITES/$site/drupal/settings.php + + ( + echo "Creating symlinks..." + cd $BASE/drupal-$series/sites + ln -s $SITES/$site/drupal $site + ln -s $SITES/$site/drupal $site.`facter domain` + + for alias in $aliases; do + ln -s $SITES/$site/drupal $alias + done + ) + + echo "Done. Now please edit settings.php, change it's permission an run drush site-install" +} + # Main procedure if [ -z "$1" ]; then echo "Usage: `basename $0` [arguments]" @@ -237,6 +291,9 @@ elif [ "$1" == "make" ]; then elif [ "$1" == "video-scheduler" ]; then shift drupal_video_scheduler $* +elif [ "$1" == "install" ]; then + shift + drupal_install $* else echo "No action $1" exit 1 -- cgit v1.2.3