Here is some documentation:
Overview: http://prezi.com/nqm6g-grqniq/cornell-university-library-drupal-setups/
Scripts & README.txt: https://svn.library.cornell.edu/cul-drupal/drupal_6/scripts
Migrate module: http://drupal.org/project/backup_migrate
Drush: http://drupal.org/project/drush
Drush Make: http://drupal.org/project/drush_make
What is below here is obsolete. We're on a different server now with a different organization and workflow.
This describes the organization of the Drupal sites DLIT has on our test server.
...
- Each site is located under /webvision-dev/apache2/drupals/ in a directory named with the prefix test. (eg. test.mysite.library.cornell.edu)
- A new set of sites is coming with the domain suffix test1.library.cornell.edu (eg. http://preservation.test1.library.cornell.edu/ )
- these have directories in the /webvision-dev/apache2/drupals/ also (eg. preservation.test.library.cornell.edu)
- A new set of sites is coming with the domain suffix test1.library.cornell.edu (eg. http://preservation.test1.library.cornell.edu/ )
- Each site has these subdirectories on the server
- bkp - scripts to backup & restore file system and mysql database for the site, site backups
- build - scripts to check out modules and themes from Subversion Version Control System (SVN) & place them on the site
- conf - virtual host configuration file
- htdocs - web visible site
- logs - large sticks
- Your user account on libdev
- install drush - drupal shell commands
- put the drush directory in ~/bin so you can find ~/bin/drush/drush.php
- be a member of the solaris group diglibdev-role
- install drush module manager
- put in ~/.drush directory so ~/.drush/drush_mm/README.txt
- install drush - drupal shell commands
Desktop
The developer checks out the site from SVN
svn+ssh://your-netid-here@libdev.library.cornell.edu/webvision-dev/svn/sites
onto his/her desktop machine to find this structure:
...
- ask Enrico Silterra to do the tasks for setting up a new site
- set up subdomain (eg. mysite.test1.library.cornell.edu)
- set up directory structure on libdev (eg. /webvision-dev/apache2/drupals/mysite)
- create mysql database and user for Drupal
- install drupal core files and doctor sites/default/settings.php to include user/password/db for this site
- create subversion directory for the site under Drupal-Sites
- get CUWebAuth set up if necessary
- go to the site and run the Drupal install (eg. http://mysite.test1.library.cornell.edu/install.php)
- you may need to update the Drupal core if it's out of date
- check out Drupa-Sites/mysite.library.cornell.edu from SVN
- add whatever modules you need to site.manifest
- webvision.manifest should only have modules/cul_common (other webvision modules are out of date)
- check in your changes to Drupa-Sites/mysite.library.cornell.edu
- do the 'Update a site on the test server' procedure
- add a line to /webvision-dev/apache2/drupals/crons/testcrons
- (eg. /opt/common/bin/wget -0 - -q http://mysite.test1.library.cornell.edu/cron.php >/dev/null 2>&1 )
Update Drupal Core
- get a copy of the latest production version of drupal extracted onto your disk from http://drupal.org/
- backup the file system and database as outlined in 'Update a site on the test server' procedure
- log in to Drupal site as user #1
- put the site in off-line maintenance mode /admin/settings/site-maintenance
- disable all the non-essential modules
- go to the htdocs directoryleave these modules enabled: block filter node system user
- use this to check which are enabled:
- drush mm list
Panel missing: getid3 token
enabled: advanced_help autologout block color comment computed_field contact content content_copy content_permissions content_taxonomy content_taxonomy_autocomplete content_taxonomy_options cu_template cul_common culauth date date_api date_locale date_popup date_timezone date_tools dblog devel email fieldgroup filefield filter globalredirect help imagefield insert_view jq jq_bridge jquery_ui link locale menu menu_breadcrumb node node_import nodereference number optionwidgets path search site_map system taxonomy taxonomy_manager text tracker update user views views_bulk_operations views_ui webform wysiwyg xmlsitemap
disabled: actions_permissions aggregator blog blogapi book content_taxonomy_tree date_php4 date_repeat devel_generate devel_node_access devel_themer feednodefixer filefield_meta filefield_token forum help_example ltsprocedures macro openid performance php ping poll profile statistics syslog throttle translation trigger upload userreference views_export xmlsitemap_engines xmlsitemap_node xmlsitemap_taxonomy xmlsitemap_user
- use this to disable modules
Panel drush mm disable advanced_help autologout color comment computed_field contact content content_copy content_permissions content_taxonomy content_taxonomy_autocomplete content_taxonomy_options cu_template cul_common culauth date date_api date_locale date_popup date_timezone date_tools dblog devel email fieldgroup filefield globalredirect help imagefield insert_view jq jq_bridge jquery_ui link locale menu menu_breadcrumb node_import nodereference number optionwidgets path search site_map taxonomy taxonomy_manager text tracker update views views_bulk_operations views_ui webform wysiwyg xmlsitemap
- leave these modules enabled: block filter node system user
- delete the old Drupal except for the sites directory
- go to htdocs
- rm *.txt *.php
- rm -R includes/ misc/ themes/ modules/ scripts/ profiles/
- upload the new drupal into htdocs
- run update.php
- enable all the modules
Panel drush mm enable advanced_help autologout color comment computed_field contact content content_copy content_permissions content_taxonomy content_taxonomy_autocomplete content_taxonomy_options cu_template cul_common culauth date date_api date_locale date_popup date_timezone date_tools dblog devel email fieldgroup filefield globalredirect help imagefield insert_view jq jq_bridge jquery_ui link locale menu menu_breadcrumb node_import nodereference number optionwidgets path search site_map taxonomy taxonomy_manager text tracker update views views_bulk_operations views_ui webform wysiwyg xmlsitemap
- run update.php again
- check the site
- take the site out of maintenance mode /admin/settings/site-maintenance