move server-specific configuration into a directory
[eostre.git] / drupal-configs / dbd-autobuild / Makefile
diff --git a/drupal-configs/dbd-autobuild/Makefile b/drupal-configs/dbd-autobuild/Makefile
new file mode 100644 (file)
index 0000000..1e50638
--- /dev/null
@@ -0,0 +1,68 @@
+DATE:=`date --iso-8601`
+
+# make sure perms are right, gets called at the end of many routines
+chown-www:
+       chown -R www-data:www-data /var/www
+
+# recipes for installing this thing onto a "real" (non-chroot) system
+# this is enough to get us to a functional Drupal install page
+# to go further, use the install-from-backups recipe
+setup-real-system: probe-files install-pkgs install-drupal do-mysql chown-www
+
+# test that we have /install-{drupal-toolchain,packages}.sh /pkgs /sqldefaults and /do-mysql-sh
+# if we don't have all of these files, BAD THINGS may happen
+probe-files:
+       [ -f /install-packages.sh ]
+       [ -f /pkgs ]
+       [ -f /install-drupal-toolchain.sh ]
+       [ -f /do-mysql.sh ]
+       [ -f /sqldefaults ]
+
+install-drupal:
+       chmod +x /install-drupal-toolchain.sh
+       /install-drupal-toolchain.sh
+
+install-pkgs:
+       chmod +x /install-packages.sh
+       /install-packages.sh
+
+do-mysql:
+       chmod +x /do-mysql.sh
+       /do-mysql.sh
+       # secure these two files because they contain passwords in plaintext
+       chmod og-rwx /do-mysql.sh
+       chmod 0600 /sqldefaults
+
+# recipes to restore the site from a backup
+install-from-backups: probe-backup-files install-sqldump install-drupal-sites chown-www
+
+probe-backup-files:
+       [ -f /sqldump ]
+       [ -d /sites ]
+
+install-sqldump:
+       # source the dump twice - once to create the DB, once to populate it
+       mysql -u root -p -e 'source /sqldump; use dbd_drupal; source /sqldump;'
+
+install-drupal-sites:
+       cd /var/www/html
+       cp -r /sites sites
+
+# recipes for building a chroot. notice that sql does not cooperate with chroots, due to some funky postinstall hooks and /proc namespaces conflicting
+build-chroot: new-chroot install-pkgs-in-chroot install-drupal-toolchain
+
+new-chroot:
+       rm -rf tristrap
+       mkdir tristrap
+       debootstrap --merged-usr etiona ./tristrap/ http://mirror.fsf.org/trisquel/
+
+install-pkgs-in-chroot:
+       cp files/pkgs tristrap
+       cp files/install-packages.sh tristrap
+       chmod +x tristrap/install-packages.sh
+       chroot tristrap /install-packages.sh
+
+install-drupal-toolchain:
+       cp files/install-drupal-toolchain.sh tristrap
+       chmod +x tristrap/install-drupal-toolchain.sh
+       chroot tristrap /install-drupal-toolchain.sh