Apache VCL logo Apache Software Foundation logo

Upgrade From Previous Version

This file provides information on how to upgrade from VCL 2.1 to VCL 2.2. Please note it only applies for the upgrade from 2.1 to 2.2, this may or may not work for other versions.

The basic steps that will be performed

Download and Extract 2.2 code

  1. follow instructions on VCL 2.2 Release page to download and verify apache-VCL-2.2-incubating.tar.bz2 and put in in /root
  2. extract VCL 2.2 code
    tar xjf apache-VCL-2.2-incubating.tar.bz2
    

Shutdown services

Shutdown the httpd and vcld services

    service httpd stop or /etc/init.d/httpd stop
    service vcld stop or /etc/init.d/vcld stop

Create a backup of vcl database

We will create a backup of the vcl database. This will provide a restore point if necessary.

    mysqldump vcl > ~/vcl-pre2.2-upgrade.sql

Update mysql schema

This step updates the mysql schema.

    cd /root/apache-VCL-2.2-incubating
    mysql vcl < mysql/update-2.2.sql

Update web code

This step we will move the 2.1 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.

  1. copy your old code out of the way

    cd /var/www/html
    mv vcl ~/vcl_2.1_web
    
  2. copy the new code in place

    cd /root/apache-VCL-2.2-incubating
    cp -r web /var/www/html/vcl
    
  3. copy your 2.1 config files

    cd ~/vcl_2.1_web/.ht-inc
    cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc
    
  4. 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
    
  5. 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

  6. date_default_timezone_set('America/New_York');
  7. $blockNotifyUsers = "adminuser@example.org";
  8. define("SCHEDULER_ALLOCATE_RANDOM_COMPUTER", 0);
  9. define("DOCUMENTATIONURL", "https://cwiki.apache.org/VCLDOCS/");
  10. define("USEFILTERINGSELECT", 1);
  11. define("FILTERINGSELECTTHRESHOLD", 1000);
  12. define("DEFAULTTHEME", 'default');

Restart httpd service

service httpd start or /etc/init.d/httpd start

Update management node code

This step will move the 2.1 vcl code base out of the way, so we can cleanly copy in the new management node(MN) code.

  1. Copy 2.1 code base to a backup location

    cd <your vcl MN code root path>
    ie. cd /usr/local/
    cp -r vcl ~/vcl_2.1_managementnode
    
  2. Copy in the 2.2 code base to /usr/local, copying in should preserve any drivers or other files you've added.

    /bin/cp -r /root/apache-VCL-2.2-incubating/managementnode/* /usr/local/vcl
    
  3. Make changes related to vcld.conf settings

  4. Open VCL web interface
  5. Go to Management Nodes
  6. Select Edit Management Node Information
  7. Select Edit.
  8. Set any relevant fields:
  9. SysAdmin Email Address(es) - comma delimited list of vcl admin email addresses
  10. Address for Shadow Emails - a shared mail box, optional it receives email of all notifications
  11. Public NIC configuration method - Defines what type of NIC configuration is used, options are dynamic DHCP, Manual DHCP, or static
  12. End Node SSH Identity Key Files

Restart vcld service

    service vcld start or /etc/init.d/vcld start