Author: jfthomps Date: Mon May 21 18:46:15 2012 New Revision: 1341140 URL: http://svn.apache.org/viewvc?rev=1341140&view=rev Log: VCL-576 Finalizing for 2.3 release
UPGRADE: changed formatting so that (almost all) lines wrap at 80 characters, not including ones that need to be copy/pasted added 2.2 to the releases that need to have CREATE TEMPORARY TABLES granted split out how to update conf.php to separate sections for each release upgraded from Modified: incubator/vcl/trunk/UPGRADE Modified: incubator/vcl/trunk/UPGRADE URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/UPGRADE?rev=1341140&r1=1341139&r2=1341140&view=diff ============================================================================== --- incubator/vcl/trunk/UPGRADE (original) +++ incubator/vcl/trunk/UPGRADE Mon May 21 18:46:15 2012 @@ -1,6 +1,6 @@ This file explains how to upgrade an existing install of Apache VCL to Apache VCL 2.3. It assumed that you extracted the release archive -to /root/apache-VCL-23-incubating +to /root/apache-VCL-2.3-incubating The basic steps that will be performed: @@ -17,7 +17,7 @@ The basic steps that will be performed: 1. Shutdown httpd and vcld services service httpd stop - service vcld stop + service vcld stop 2. Create a backup of vcl database @@ -33,7 +33,7 @@ This step updates the mysql schema. cd /root/apache-VCL-2.3-incubating mysql vcl < mysql/update-vcl.sql -4. FOR UPGRADING from 2.1 ONLY (skip to step 5 if upgrading from 2.2.1) +4. FOR UPGRADING from 2.1 and 2.2 ONLY (skip to step 5 if upgrading from 2.2.1) Grant CREATE TEMPORARY TABLES to mysql user @@ -47,8 +47,8 @@ $vclhost and $vclusername. The secrets.p $vclhost = 'localhost'; $vcluser = 'vcluser'; -Then, you need to issue the grant command to mysql. Using the values from above -as examples, connect to mysql and then issue the grant command: +Then, you need to issue the grant command to mysql. Using the values from +above as examples, connect to mysql and then issue the grant command: mysql GRANT CREATE TEMPORARY TABLES ON `vcl`.* TO 'vcluser'@'localhost'; @@ -56,92 +56,193 @@ exit 5. Update web code -This step we will move the existing web directory out of the way, so we can copy -in the new web code base. After copying in the new code, we will migrate your -configuration changes. These instructions assume that you installed the vcl web -code at /var/www/html/vcl. If you installed it elsewhere, replace +This step we will move the existing web directory out of the way, so we can +copy in the new web code base. After copying in the new code, we will migrate +your configuration changes. These instructions assume that you installed the +vcl web code at /var/www/html/vcl. If you installed it elsewhere, replace /var/www/html/vcl with your vcl web root. - a. copy your old code out of the way + a. move your old code out of the way cd /var/www/html - mv vcl ~/vcl-pre2.3_web + mv vcl ~/vcl-pre2.3_web - b. copy the new code in place + b. copy the new code in place - cd /root/apache-VCL-2.3-incubating - cp -r web /var/www/html/vcl + cd /root/apache-VCL-2.3-incubating + cp -r web /var/www/html/vcl - c. copy your config files from the previous version: + c. copy your config files from the previous version: - cd ~/vcl-pre2.3_web/.ht-inc - cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc + cd ~/vcl-pre2.3_web/.ht-inc + cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc - d. make /var/www/html/vcl/.ht-inc/maintenance writable by - the web server - if httpd on your server is running as the user apache: + d. make /var/www/html/vcl/.ht-inc/maintenance writable by + the web server - if httpd on your server is running as the user apache: - chown apache /var/www/html/vcl/.ht-inc/maintenance + chown apache /var/www/html/vcl/.ht-inc/maintenance - e. (upgrade from 2.1 only) add the following new entries to conf.php - You can copy - them in from .ht-inc/conf-default.php. Descriptions of each item can also be - found in conf-default.php + e. update conf.php - * date_default_timezone_set('America/New_York'); - * $blockNotifyUsers = "adminu...@example.org"; - * define("SCHEDULER_ALLOCATE_RANDOM_COMPUTER", 0); - * define("DOCUMENTATIONURL", "https://cwiki.apache.org/VCLDOCS/"); - * define("USEFILTERINGSELECT", 1); - * define("FILTERINGSELECTTHRESHOLD", 1000); - * define("DEFAULTTHEME", 'default'); + upgrading from 2.2.1: - f. run copydojocss.sh - cd to /var/www/html/vcl/themes directory - cd /var/www/html/vcl/themes - ./copydojocss.sh default + * add the following defines: -6. Restart httpd service + define("DEFAULTLOCALE", "en_US"); + define("ALLOWADDSHIBUSERS", 0); - service httpd start + * remove the following arrays: - * Confirm you can access the VCL portal before continuing. + $blockNotifyUsers - This has been replace by a user group permission + that controls who can manage block allocations globally or for a + specific affiliation. It can be granted to any user group under + Privileges->Additional User Permissions->Manage Block Allocations -7. Update management node code + $userlookupUsers - This has been replace by a user group permission + that controls who can look up users globally or for a specific + affiliation. It can be granted to any user group under + Privileges->Additional User Permissions->User Lookup + + * Add the following two keys to each entry you have for LDAP + authentication in the $authMechs array. Descriptions of the items + can be found in the 2.3 conf-default.php file. + + "lookupuserbeforeauth" => 0, + "lookupuserfield" => '', + + * change the following two lines for local authentication from + + $addUserFunc[$item['affiliationid']] = create_function('', 'return 0;'); + $updateUserFunc[$item['affiliationid']] = create_function('', 'return 0;'); + + to + + $addUserFunc[$item['affiliationid']] = create_function('', 'return NULL;'); + $updateUserFunc[$item['affiliationid']] = create_function('', 'return NULL;'); + + * remove the three commented lines toward the bottom that talk about + adding an entry to $addUserFund for Shibboleth authenticated + affiliations (# any affiliation that is shibboleth...) + + + upgrading from 2.2: + + * add the following defines: + + define("DEFAULTLOCALE", "en_US"); + define("ALLOWADDSHIBUSERS", 0); + + * remove the following arrays: + + $blockNotifyUsers - This has been replace by a user group permission + that controls who can manage block allocations globally or for a + specific affiliation. It can be granted to any user group under + Privileges->Additional User Permissions->Manage Block Allocations -This step will move the existing vcl code base out of the way, so we can cleanly -copy in the new management node code. + $userlookupUsers - This has been replace by a user group permission + that controls who can look up users globally or for a specific + affiliation. It can be granted to any user group under + Privileges->Additional User Permissions->User Lookup - a. Copy the existing management node code base to a backup location + * Add the following two keys to each entry you have for LDAP + authentication in the $authMechs array. Descriptions of the items + can be found in the 2.3 conf-default.php file. + + "lookupuserbeforeauth" => 0, + "lookupuserfield" => '', + + * Remove all of these arrays: + + $affilValFunc + $affilValFuncArgs + $addUserFunc + $addUserFuncArgs + $updateUserFunc + $updateUserFuncArgs + + * Add the following code: + + $affilValFunc = array(); + $affilValFuncArgs = array(); + $addUserFunc = array(); + $addUserFuncArgs = array(); + $updateUserFunc = array(); + $updateUserFuncArgs = array(); + foreach($authMechs as $key => $item) { + if($item['type'] == 'ldap') { + $affilValFunc[$item['affiliationid']] = 'validateLDAPUser'; + $affilValFuncArgs[$item['affiliationid']] = $key; + $addUserFunc[$item['affiliationid']] = 'addLDAPUser'; + $addUserFuncArgs[$item['affiliationid']] = $key; + $updateUserFunc[$item['affiliationid']] = 'updateLDAPUser'; + $updateUserFuncArgs[$item['affiliationid']] = $key; + } + elseif($item['type'] == 'local') { + $affilValFunc[$item['affiliationid']] = create_function('', 'return 0;'); + $addUserFunc[$item['affiliationid']] = create_function('', 'return NULL;'); + $updateUserFunc[$item['affiliationid']] = create_function('', 'return NULL;'); + } + } + + upgrading from 2.1: + + If upgrading from 2.1, it is easier to start with a fresh copy of + conf-default.php from 2.3 and then apply your changes to it again. + If you are using LDAP authentication, you can copy all entries from + $authMech out of your 2.1 conf.php file into your 2.3 conf.php file. + However, note that you will need to add the following two additional + keys to each entry. A description of these keys can be found in the + 2.3 conf-default.php file. + + "lookupuserbeforeauth" => 0, + "lookupuserfield" => '', + +6. Restart httpd service + + service httpd start + + * Confirm you can access the VCL portal before continuing. + +7. Update management node code - cd <your vcl MN code root path> - ie. cd /usr/local/ - cp -r vcl ~/vcl-pre2.3_managementnode - - b. Copy in the 2.3 code base to /usr/local, copying in should preserve any - drivers or other files you've added. - - /bin/cp -r /root/apache-VCL-2.3-incubating/managementnode/* /usr/local/vcl - - c. (upgrading from 2.1 only) Make changes related to vcld.conf settings - - * Open VCL web interface - * Go to Management Nodes - * Select Edit Management Node Information - * Select Edit. - * Set any relevant fields: - * SysAdmin Email Address(es) - comma delimited list of vcl admin email - addresses - * Address for Shadow Emails - a shared mail box, optional it receives - email of all notifications - * Public NIC configuration method - Defines what type of NIC configuration - is used, options are dynamic DHCP, Manual DHCP, or static - * End Node SSH Identity Key Files - - d. Run install_perl_libs.pl to update the perl dependencies(This will take a few minutes.) - - /usr/local/vcl/bin/install_perl_libs.pl +This step will make a backup copy of the installed vcl code base and then copy +the new code over the existing code to preserve any drivers or other files +you've added. + + a. Copy the existing management node code base to a backup location + + cd <your vcl MN code root path> + ie. cd /usr/local/ + cp -r vcl ~/vcl-pre2.3_managementnode + + b. Copy in the 2.3 code base to /usr/local, copying in should preserve any + drivers or other files you've added. + + /bin/cp -r /root/apache-VCL-2.3-incubating/managementnode/* /usr/local/vcl + + c. (upgrading from 2.1 only) Make changes related to vcld.conf settings + + * Open VCL web interface + * Go to Management Nodes + * Select Edit Management Node Information + * Select Edit. + * Set any relevant fields: + * SysAdmin Email Address(es) - comma delimited list of vcl admin email + addresses + * Address for Shadow Emails - a shared mail box, optional it receives + email of all notifications + * Public NIC configuration method - Defines what type of NIC + configuration is used, options are dynamic DHCP, Manual DHCP, or + static + * End Node SSH Identity Key Files + + d. Run install_perl_libs.pl to update the perl dependencies (this will take + a few minutes.) + + /usr/local/vcl/bin/install_perl_libs.pl 8. Restart vcld service - service vcld start + service vcld start - * Check the /var/log/vcld.log file to confirm vcld is working. + * Check the /var/log/vcld.log file to confirm vcld is working.