| Title: Upgrade From 2.2 to 2.2.2 |
| Notice: Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| . |
| http://www.apache.org/licenses/LICENSE-2.0 |
| . |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| This page provides information on how to upgrade from VCL 2.2 to VCL 2.2.2. Please note |
| it only applies for the upgrade from 2.2 to 2.2.2, this may or may not work for other |
| versions. |
| The basic steps that will be performed |
| |
| **The basic steps that will be performed** |
| |
| * Download and Extract 2.2.2 code |
| * Shutdown httpd and vcld services |
| * Create backup of vcl database |
| * Update mysql schema |
| * Grant CREATE TEMPORARY TABLES to mysql user |
| * Update Web code, create a backup, copy in new, make changes |
| * Restart httpd service |
| * Update Management node vcl code, create a backup, copy in new, make changes |
| * Restart vcld service |
| |
| # Detailed steps for upgrade from 2.2 to 2.2.2 |
| |
| 1. follow instructions on the [VCL download](http://vcl.apache.org/downloads/download.cgi) |
| page to download and verify apache-VCL-2.2.2.tar.bz2 and put in in /root |
| |
| 1. extract VCL 2.2.2 code |
| |
| :::BashLexer |
| tar xjf apache-VCL-2.2.2.tar.bz2 |
| |
| 1. **Shutdown** the httpd service |
| |
| :::BashLexer |
| service httpd stop or /etc/init.d/httpd stop |
| service vcld stop or /etc/init.d/vcld stop |
| |
| 1. We will **create a backup of the vcl database**. This will provide a restore point |
| if necessary. There are no updates to the database in this upgrade, but it is still a |
| good idea to have a backup. |
| |
| :::BashLexer |
| mysqldump vcl > ~/vcl-pre2.2.2-upgrade.sql |
| |
| |
| 1. This step **updates the mysql schema**. |
| |
| :::BashLexer |
| cd /root/apache-VCL-2.2.2 |
| mysql vcl < mysql/update-vcl.sql |
| |
| |
| |
| 1. Grant CREATE TEMPORARY TABLES to mysql user<br> |
| <br> |
| The web code now requires access to create temporary tables in mysql. You need to |
| grant the user your web code uses to access mysql the "CREATE TEMPORARY TABLES" |
| permission. Look at the secrets.php file in your web code for the user and hostname. |
| For example, if your web code is installed at /var/www/html/vcl, your secrets.php |
| file would be /var/www/html/vcl/.ht-inc/secrets.php. Look for $vclhost and |
| $vclusername. The secrets.php file might have something like: |
| |
| :::PhpLexer |
| $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: |
| |
| :::MysqlLexer |
| mysql |
| GRANT CREATE TEMPORARY TABLES ON `vcl`.* TO 'vcluser'@'localhost'; |
| exit |
| |
| 1. **Update the web code**. This step will move the 2.2 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. |
| |
| :::BashLexer |
| cd /var/www/html |
| mv vcl ~/vcl_2.2_web |
| |
| 1. **Copy the new code** in place |
| |
| :::BashLexer |
| cd /root/apache-VCL-2.2.2 |
| cp -r web /var/www/html/vcl |
| |
| 1. **Copy your 2.2 config files** |
| |
| :::BashLexer |
| cd ~/vcl_2.2_web/.ht-inc |
| cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc |
| |
| 1. **Make the maintenance directory writable by the web server user**. Normally |
| this is the apache user, if using a different user change below cmd accordingly. |
| |
| :::BashLexer |
| chown apache /var/www/html/vcl/.ht-inc/maintenance |
| |
| 1. **Make changes to conf.php**: |
| <ol type="a"> |
| <li> A new user group permission that controls who can manage block allocations |
| globally or for a specific affiliation has been added. It can be granted to any |
| user group under Privileges->Additional User Permissions->Manage Block Allocations. |
| Users with this permission are notified of new block allocation requests. |
| <b>Remove the following from conf.php</b>. |
| |
| :::BashLexer |
| $blockNotifyUsers |
| </li> |
| <li> A new user group permission that controls who can look up users globally |
| or for a specific affiliation has been added. It can be granted to any user group |
| under Privileges->Additional User Permissions->User Lookup. Users with this |
| permission can look up information about other users. |
| <b>Remove the following from conf.php</b>. |
| |
| :::BashLexer |
| $userlookupUsers |
| </li> |
| </ol> |
| |
| 1. **Restart httpd service** |
| |
| :::BashLexer |
| service httpd start or /etc/init.d/httpd start |
| |
| 1. **Update management node code** This step will make a backup copy of the 2.2 vcl code |
| base and then copy the new code over the existing code to preserve any drivers or other |
| files you've added. |
| |
| :::BashLexer |
| cd <your vcl MN code root path> |
| ie. cd /usr/local/ |
| cp -r vcl ~/vcl_2.2_managementnode |
| |
| 1. **Copy in the 2.2.2 code base to /usr/local**, copying in should preserve any drivers |
| or other files you've added. |
| |
| :::BashLexer |
| /bin/cp -r /root/apache-VCL-2.2.2/managementnode/* /usr/local/vcl |
| |
| 1. **Run install_perl_libs.pl** to add any new perl library requirements: |
| |
| :::BashLexer |
| /usr/local/vcl/bin/install_perl_libs.pl |
| |
| 1. **Restart vcld service** |
| |
| :::BashLexer |
| service vcld start or /etc/init.d/vcld start |
| |
| 1. Make some test reservations and watch the vcld.log to verify everything is working |
| correctly. |
| |
| :::BashLexer |
| tail -f /var/log/vcld.log |