The scripts we use assume a directory layout like this
- libweb
- sites
[domain name]
- htdocs
[ Drupal site is here ]
- sites
- default *
- settings.php
files [for Drupal 6 and 'public files' for Drupal 7 ]
- backup_migrate
- default *
- make (this is only on the test server)
[domain name]
[domain name].make
drupal_files [private files for Drupal 7 ]
- backup_migrate
- htdocs
- sites
and assume there is a drush alias
set up for the site called @[domain name] .
* it does not work with a domain name here!
How to change the modules and themes
- do a subversion checkout of https://svn.library.cornell.edu/cul-drupal
find your make file under cul-drupal/[drupal_6 or drupal_7]/make/[your site name]/[your site name].make
- add lines or modify the version of the module listed according to the drush make file format (use other sites for examples)
- check in the changed version
How to rebuild your site
go to victoria02 and cd /libweb/sites/[your site name]/make
sudo dr-make.sh @[your site name]
Note: the alias argument @[your site name] is no longer necessary for dr-make.sh
How to update your theme/module code on the site
- make changes on your copy and check them in to svn
go to victoria02 and cd /libweb/sites/[your site name]/htdocs/sites/all/[modules or themes]/[your code's name]
- svn up
How to work with your custom themes/modules
- check out svn copies on your machine
- edit/whatever the copies
- check in changes
How to move from production to test
There is a script for this on victoria02: /usr/local/bin/update_test_from_production.sh
**************************************
Usage: sudo /usr/local/bin/update_test_from_production.sh <production domain> <test domain>
**************************************
- Log on to the production Drupal site and configure the 'Site under maintenance' block
- Under 'Page specific visibility settings' select 'Show on every page except the listed pages.'
- Make a backup of the production site to the Manual Backups Directory (using Backup and Migrate module)
- Drupal 6: http://$productiondomain/admin/content/backup_migrate/export
- Drupal 7: http://$productiondomain/admin/config/system/backup_migrate
- Log on to the test Drupal site
- Put the test site into maintenance mode
- Drupal 6: http://$testdomain/admin/settings/site-maintenance
- Drupal 7: http://$testdomain/admin/config/development/maintenance
go to victoria02 and cd /libweb/sites/[your site name]/make
sudo update_test_from_production.sh [your production site domain] [your test site domain]
- the script will ask you if you completed each of the steps above and give you all the real paths to the pages you need to use
- the script moves the site with rsync
- Log on to the test Drupal site
- Restore the latest backup
- Drupal 6: http://$testdomain/admin/content/backup_migrate/destination/list/files/manual
- Drupal 7: http://$testdomain/admin/config/system/backup_migrate/destination/list/files/manual
- click 'restore' next to the latest version of the file (hint: sort by file name!)
- take the test site out of maintenance mode
How to move from test to production
There is a script for this on victoria01: /usr/local/bin/update_production_from_test.sh
**************************************
Usage: sudo /usr/local/bin/update_production_from_test.sh <test domain> <production domain>
**************************************
- Log on to the test Drupal site
- Make a backup of the test site to the Manual Backups Directory (using Backup and Migrate module)
- Log on to the production Drupal site
- Put the production site into maintenance mode
go to victoria01 and cd /libweb/sites/[your site name]/make
sudo update_production_from_test.sh [your test domain] [your production domain]
- the script will ask you if you've done each step and give you all the proper paths
- restore the latest backup
- configure the 'site under maintenance' block
- Under 'Page specific visibility settings' select 'Show on only the listed pages'