You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by bu...@apache.org on 2012/12/11 16:16:54 UTC
svn commit: r841722 - in /websites/staging/vcl/trunk/content: ./
docs/UpgradePreviousVersions/UpgradeFrom2.2to2.3.1.html
Author: buildbot
Date: Tue Dec 11 15:16:52 2012
New Revision: 841722
Log:
Staging update by buildbot for vcl
Added:
websites/staging/vcl/trunk/content/docs/UpgradePreviousVersions/UpgradeFrom2.2to2.3.1.html
Modified:
websites/staging/vcl/trunk/content/ (props changed)
Propchange: websites/staging/vcl/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec 11 15:16:52 2012
@@ -1 +1 @@
-1420203
+1420214
Added: websites/staging/vcl/trunk/content/docs/UpgradePreviousVersions/UpgradeFrom2.2to2.3.1.html
==============================================================================
--- websites/staging/vcl/trunk/content/docs/UpgradePreviousVersions/UpgradeFrom2.2to2.3.1.html (added)
+++ websites/staging/vcl/trunk/content/docs/UpgradePreviousVersions/UpgradeFrom2.2to2.3.1.html Tue Dec 11 15:16:52 2012
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+ 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.
+-->
+
+ <link href="/css/vcl.css" rel="stylesheet" type="text/css">
+ <link href="/css/code.css" rel="stylesheet" type="text/css">
+ <title>Apache VCL - Upgrade From 2.2 to 2.3.1</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+ <div id="sitetitle">
+ <table width="100%" border="0" cellspacing="0" cellpadding="5">
+ <tr>
+ <td><a href="/index.html"><img src="/img/vcl-logo.png" height="100" align="left" alt="Apache VCL logo"></a></td>
+ <td><a href="http://www.apache.org"><img src="/img/asf-logo.png" align="right" alt="Apache Software Foundation logo"></a></td>
+ </tr>
+ </table>
+ </div>
+
+ <div id="navigation">
+ <ul>
+<li>Information<ul>
+<li><a href="/info/about.html">What is VCL?</a></li>
+<li><a href="/info/features.html">Features</a></li>
+<li><a href="/info/architecture.html">Architecture</a></li>
+<li><a href="/info/use-cases.html">Use Cases</a></li>
+<li><a href="/downloads/download.cgi">Download</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a></li>
+<li><a href="/info/faq.html">FAQ</a></li>
+</ul>
+</li>
+<li><a href="/docs/index.html">Documentation</a><ul>
+<li><a href="/docs/using-vcl.html">Using VCL</a></li>
+<li><a href="/docs/image-creation.html">Image Creation</a></li>
+<li><a href="/docs/administration.html">Administration</a></li>
+<li><a href="/docs/installation.html">Installation</a></li>
+<li><a href="/docs/deployment-planning.html">Deployment Planning</a></li>
+</ul>
+</li>
+<li><a href="/comm/index.html">Community</a><ul>
+<li><a href="/comm/index.html#getInvolved">Getting Involved</a></li>
+<li><a href="/comm/index.html#mail-list">Mailing Lists</a></li>
+<li><a href="/comm/index.html#how-do-i-join-the-project">How can I Join</a></li>
+<li><a href="/comm/wiki.html">Wiki</a></li>
+<li><a href="/dev/index.html">Development</a><ul>
+<li><a href="/dev/jira.html">Issue Tracking</a></li>
+<li><a href="/dev/code-documentation.html">Code Documentation</a></li>
+<li><a href="/dev/roadmap.html">Roadmap</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="http://www.apache.org">Apache Software Foundation</a><ul>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+</ul>
+</li>
+</ul>
+ </div>
+
+ <div id="content">
+ <h1 class="title">Upgrade From 2.2 to 2.3.1</h1>
+ <p>This page provides information on how to upgrade from VCL 2.2 to VCL 2.3.1. Please note it only applies for the upgrade from 2.2 to 2.3.1,
+this may or may not work for other versions.</p>
+<p><strong>The basic steps that will be performed</strong></p>
+<ul>
+<li>Download and Extract 2.3.1 code</li>
+<li>Shutdown httpd and vcld services</li>
+<li>Create backup of vcl database</li>
+<li>Update mysql schema</li>
+<li>Update Web code, create a backup, copy in new, make changes</li>
+<li>Restart httpd service</li>
+<li>Update Management node vcl code, create a backup, copy in new, make changes</li>
+<li>Restart vcld service</li>
+</ul>
+<h1 id="detailed-steps-for-upgrade-from-22-to-231">Detailed steps for upgrade from 2.2 to 2.3.1</h1>
+<ol>
+<li>follow instructions on VCL 2.3.1 Release page to download and verify apache-VCL-2.3.1.tar.bz2 and put in in /root</li>
+<li>
+<p><strong>extract VCL 2.3.1 code</strong></p>
+<div class="codehilite"><pre><span class="n">tar</span> <span class="n">xjf</span> <span class="n">apache</span><span class="o">-</span><span class="n">VCL</span><span class="o">-</span><span class="mf">2.3.1</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">bz2</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Shutdown</strong> the httpd and vcld services</p>
+<div class="codehilite"><pre><span class="n">service</span> <span class="n">httpd</span> <span class="n">stop</span> <span class="ow">or</span> <span class="sr">/etc/i</span><span class="n">nit</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">httpd</span> <span class="n">stop</span>
+<span class="n">service</span> <span class="n">vcld</span> <span class="n">stop</span> <span class="ow">or</span> <span class="sr">/etc/i</span><span class="n">nit</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">vcld</span> <span class="n">stop</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>We will <strong>create a backup of the vcl database</strong>. This will provide a restore point if necessary.</p>
+<div class="codehilite"><pre><span class="n">mysqldump</span> <span class="n">vcl</span> <span class="o">></span> <span class="o">~/</span><span class="n">vcl</span><span class="o">-</span><span class="n">pre2</span><span class="mf">.3.1</span><span class="o">-</span><span class="n">upgrade</span><span class="o">.</span><span class="n">sql</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>This step <strong>updates the mysql schema</strong>. <em>Note</em>: A new resource group is added in update-vcl.sql - <strong>all profiles</strong>.
+Access to manage the group is added to the VCL->admin node in the privilege tree if that node exists. If not, you will
+need to add it manually after starting httpd again. To add it manually, pick a node in the privilege tree, scroll to
+Resources, click Add Resource Group, select serverprofile/all profiles from the drop-down box, check available,
+administer, manageGroup, and manageMapping, and click Submit New Resource Group.</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="sr">/root/</span><span class="n">apache</span><span class="o">-</span><span class="n">VCL</span><span class="o">-</span><span class="mf">2.3.1</span>
+<span class="n">mysql</span> <span class="n">vcl</span> <span class="o"><</span> <span class="n">mysql</span><span class="o">/</span><span class="n">update</span><span class="o">-</span><span class="n">vcl</span><span class="o">.</span><span class="n">sql</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>Grant CREATE TEMPORARY TABLES to mysql user
+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:</p>
+<div class="codehilite"><pre><span class="nv">$vclhost</span> <span class="o">=</span> <span class="s">'localhost'</span><span class="p">;</span>
+<span class="nv">$vcluser</span> <span class="o">=</span> <span class="s">'vcluser'</span><span class="p">;</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>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:</p>
+<div class="codehilite"><pre><span class="n">mysql</span>
+<span class="n">GRANT</span> <span class="n">CREATE</span> <span class="n">TEMPORARY</span> <span class="n">TABLES</span> <span class="n">ON</span> <span class="sb">`vcl`</span><span class="o">.*</span> <span class="n">TO</span> <span class="s">'vcluser'</span><span class="nv">@</span><span class="err">'</span><span class="nv">localhost</span><span class="err">'</span><span class="p">;</span>
+<span class="nb">exit</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Update the web code</strong>. This step we 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.</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="sr">/var/</span><span class="n">www</span><span class="o">/</span><span class="n">html</span>
+<span class="n">mv</span> <span class="n">vcl</span> <span class="o">~/</span><span class="n">vcl_2</span><span class="mf">.2_</span><span class="n">web</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Copy the new code</strong> in place</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="sr">/root/</span><span class="n">apache</span><span class="o">-</span><span class="n">VCL</span><span class="o">-</span><span class="mf">2.3.1</span>
+<span class="n">cp</span> <span class="o">-</span><span class="n">r</span> <span class="n">web</span> <span class="sr">/var/</span><span class="n">www</span><span class="sr">/html/</span><span class="n">vcl</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Copy your 2.2 config files</strong></p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="o">~</span><span class="sr">/vcl_2.2_web/</span><span class="o">.</span><span class="n">ht</span><span class="o">-</span><span class="n">inc</span>
+<span class="n">cp</span> <span class="n">conf</span><span class="o">.</span><span class="n">php</span> <span class="n">secrets</span><span class="o">.</span><span class="n">php</span> <span class="n">pubkey</span><span class="o">.</span><span class="n">pem</span> <span class="nb">keys</span><span class="o">.</span><span class="n">pem</span> <span class="sr">/var/</span><span class="n">www</span><span class="sr">/html/</span><span class="n">vcl</span><span class="o">/.</span><span class="n">ht</span><span class="o">-</span><span class="n">inc</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Make the maintenance directory writable by the web server user</strong>. Normally this is the apache user, if using a
+different user change below cmd accordingly.</p>
+<div class="codehilite"><pre><span class="nb">chown</span> <span class="n">apache</span> <span class="sr">/var/</span><span class="n">www</span><span class="sr">/html/</span><span class="n">vcl</span><span class="sr">/.ht-inc/m</span><span class="n">aintenance</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Make changes to conf.php</strong>:</p>
+<p>a. 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. <strong>Remove the following from conf.php</strong>.</p>
+<div class="codehilite"><pre> <span class="nv">$blockNotifyUsers</span>
+</pre></div>
+
+
+<p>b. 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. <strong>Remove the following from conf.php</strong> </p>
+<div class="codehilite"><pre> <span class="nv">$userlookupUsers</span>
+</pre></div>
+
+
+<p>c. <strong>Multilingualization</strong> has been added VCL. So, <strong>DEFAULTLOCALE</strong> has been added to conf.php to set the default
+locale. <strong>Add the following to conf.php</strong>, changing en_US if needed to match your locale. You can look in
+/var/www/html/vcl/locale to see which ones are available.</p>
+<div class="codehilite"><pre> <span class="n">define</span><span class="p">(</span><span class="s">"DEFAULTLOCALE"</span><span class="p">,</span> <span class="s">"en_US"</span><span class="p">);</span>
+</pre></div>
+
+
+<p>d. Users authenticated using Shibboleth without also having an LDAP server can now be added before they log in. <strong>Add
+the following to conf.php</strong> If you are using Shibboleth and would like to be able to add users to groups before the user
+has ever logged in to VCL, you can set this to 1. However, please note that if you typo the userid, there is no way to
+verify it, and the user will be added with the typoed userid.</p>
+<div class="codehilite"><pre> <span class="n">define</span><span class="p">(</span><span class="s">"ALLOWADDSHIBUSERS"</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+</pre></div>
+
+
+<p>e. LDAP related items have been simplified in the code using additional options in $authMechs. For any LDAP entries,
+add two options. "lookupuserbeforeauth" is used if you need VCL to look up the full DN of a user and use that when doing
+the bind that authenticates the user (if you don't know what this means, leave it set to 0). If you need to set it to 1,
+then you will need to set "lookupuserfield" to what LDAP attribute to use when looking up the user's DN
+(typically either 'cn', 'uid', or 'samaccountname'). In conf.php, <strong>Add the following to each LDAP</strong> array you have in the $authMech array.</p>
+<div class="codehilite"><pre> <span class="s">"lookupuserbeforeauth"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span>
+ <span class="s">"lookupuserfield"</span> <span class="o">=></span> <span class="s">''</span><span class="p">,</span>
+</pre></div>
+
+
+<p>f. The way the authentication functions toward the bottom of conf.php are initialized has been simplified. Make the following changes:</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="n">REMOVE</span>
+
+ <span class="o">::</span><span class="p">:</span><span class="n">PhpLexer</span>
+ <span class="nv">$affilValFunc</span>
+ <span class="nv">$affilValFuncArgs</span>
+ <span class="nv">$addUserFunc</span>
+ <span class="nv">$addUserFuncArgs</span>
+ <span class="nv">$updateUserFunc</span>
+ <span class="nv">$updateUserFuncArgs</span>
+
+<span class="o">*</span> <span class="n">ADD</span>
+
+ <span class="o">::</span><span class="p">:</span><span class="n">PhpLexer</span>
+ <span class="nv">$affilValFunc</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="nv">$affilValFuncArgs</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="nv">$addUserFunc</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="nv">$addUserFuncArgs</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="nv">$updateUserFunc</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="nv">$updateUserFuncArgs</span> <span class="o">=</span> <span class="n">array</span><span class="p">();</span>
+ <span class="k">foreach</span><span class="p">(</span><span class="nv">$authMechs</span> <span class="n">as</span> <span class="nv">$key</span> <span class="o">=></span> <span class="nv">$item</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span><span class="p">(</span><span class="nv">$item</span><span class="p">[</span><span class="s">'type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'ldap'</span><span class="p">)</span> <span class="p">{</span>
+ <span class="nv">$affilValFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="s">'validateLDAPUser'</span><span class="p">;</span>
+ <span class="nv">$affilValFuncArgs</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="nv">$key</span><span class="p">;</span>
+ <span class="nv">$addUserFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="s">'addLDAPUser'</span><span class="p">;</span>
+ <span class="nv">$addUserFuncArgs</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="nv">$key</span><span class="p">;</span>
+ <span class="nv">$updateUserFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="s">'updateLDAPUser'</span><span class="p">;</span>
+ <span class="nv">$updateUserFuncArgs</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="nv">$key</span><span class="p">;</span>
+ <span class="p">}</span>
+ <span class="n">elseif</span><span class="p">(</span><span class="nv">$item</span><span class="p">[</span><span class="s">'type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'local'</span><span class="p">)</span> <span class="p">{</span>
+ <span class="nv">$affilValFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="n">create_function</span><span class="p">(</span><span class="s">''</span><span class="p">,</span> <span class="s">'return 0;'</span><span class="p">);</span>
+ <span class="nv">$addUserFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="n">create_function</span><span class="p">(</span><span class="s">''</span><span class="p">,</span> <span class="s">'return NULL;'</span><span class="p">);</span>
+ <span class="nv">$updateUserFunc</span><span class="p">[</span><span class="nv">$item</span><span class="p">[</span><span class="s">'affiliationid'</span><span class="p">]]</span> <span class="o">=</span> <span class="n">create_function</span><span class="p">(</span><span class="s">''</span><span class="p">,</span> <span class="s">'return NULL;'</span><span class="p">);</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Restart httpd service</strong></p>
+<div class="codehilite"><pre> <span class="n">service</span> <span class="n">httpd</span> <span class="n">start</span> <span class="ow">or</span> <span class="sr">/etc/i</span><span class="n">nit</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">httpd</span> <span class="n">start</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Update management node code</strong> 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.</p>
+<div class="codehilite"><pre> <span class="n">cd</span> <span class="o"><</span><span class="n">your</span> <span class="n">vcl</span> <span class="n">MN</span> <span class="n">code</span> <span class="n">root</span> <span class="n">path</span><span class="o">></span>
+ <span class="n">ie</span><span class="o">.</span> <span class="n">cd</span> <span class="sr">/usr/</span><span class="nb">local</span><span class="o">/</span>
+ <span class="n">cp</span> <span class="o">-</span><span class="n">r</span> <span class="n">vcl</span> <span class="o">~/</span><span class="n">vcl_2</span><span class="mf">.2_</span><span class="n">managementnode</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Copy in the 2.3.1 code base to /usr/local</strong>, copying in should preserve any drivers or other files you've added.</p>
+<div class="codehilite"><pre> <span class="sr">/bin/c</span><span class="n">p</span> <span class="o">-</span><span class="n">r</span> <span class="sr">/root/</span><span class="n">apache</span><span class="o">-</span><span class="n">VCL</span><span class="o">-</span><span class="mf">2.3.1</span><span class="sr">/managementnode/</span><span class="o">*</span> <span class="sr">/usr/</span><span class="nb">local</span><span class="o">/</span><span class="n">vcl</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Run install_perl_libs.pl</strong> to add any new perl library requirements:</p>
+<div class="codehilite"><pre> <span class="sr">/usr/</span><span class="nb">local</span><span class="sr">/vcl/</span><span class="n">bin</span><span class="o">/</span><span class="n">install_perl_libs</span><span class="o">.</span><span class="n">pl</span>
+</pre></div>
+
+
+</li>
+<li>
+<p><strong>Restart vcld service</strong></p>
+<div class="codehilite"><pre> <span class="n">service</span> <span class="n">vcld</span> <span class="n">start</span> <span class="ow">or</span> <span class="sr">/etc/i</span><span class="n">nit</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">vcld</span> <span class="n">start</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>Make some test reservations and watch the vcld.log to verify everything is working correctly.</p>
+<div class="codehilite"><pre> <span class="n">tail</span> <span class="o">-</span><span class="n">f</span> <span class="sr">/var/</span><span class="nb">log</span><span class="o">/</span><span class="n">vcld</span><span class="o">.</span><span class="nb">log</span>
+</pre></div>
+
+
+</li>
+</ol>
+ </div>
+
+ <div id="footer">
+ <div class="copyright">
+ <p>
+ Copyright © 2012 The Apache Software Foundation, Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+ <br />
+ Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+ </p>
+ </div>
+ </div>
+
+</body>
+</html>