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 2013/01/08 17:38:17 UTC

svn commit: r845507 [4/17] - in /websites/staging/vcl/trunk/content: ./ confluence_export/

Added: websites/staging/vcl/trunk/content/confluence_export/automated-installation-of-vcl.html
==============================================================================
--- websites/staging/vcl/trunk/content/confluence_export/automated-installation-of-vcl.html (added)
+++ websites/staging/vcl/trunk/content/confluence_export/automated-installation-of-vcl.html Tue Jan  8 16:38:15 2013
@@ -0,0 +1,1677 @@
+<!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 - Automated Installation of VCL</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">Automated Installation of VCL</h1>
+    <p>I developed a set of scripts to automate the installation of VCL for my own
+purposes. I used the scripts in an advanced Linux class I taught at NCA&amp;T
+as an example of scripting. Several student teams installed VCL on their
+individual servers, and the installation had to be repeated after the
+students experimented with the setup. The script made installation
+relatively quick and always consistent. The installation is basically one
+click.</p>
+<p>The starting point of the installation is a configured Scientific Linux 6.2
+operating system. This installation also uses scripting and a custom local
+repository I developed. The installation is either PXE or iPXE based. The
+student's starting point is an <em>ether-wake</em> command to the target server,
+and installation is automatic from that point on. My home repository
+contains a database of configuration data for various computers of friends
+at several different geographical locations who use my repository to
+perform automated installation and configuration of LAMP servers, directory
+servers, repository servers, Plandora, Moodle, and so forth. I mirrored my
+home site at NCA&amp;T, and added customization for some NCA&amp;T hosts.</p>
+<p>Each student team adds their customization data, for example, host name,
+partitioning information, and application customization data. Each team
+also makes an entry in the local <em>dnsmasq</em> TFTP/DNS/DHCP configuration.
+These one-time tasks are completed early in the semester during the study
+of enterprise configuration. This background is of interest only because my
+VCL scripts assume certain things, such as, the web directory roots for all
+named virtual hosts are in <em>/var/www/web_servers/</em> and configuration
+snippets are in <em>/etc/httpd/virtual_hosts/</em>.</p>
+<p>Once the LAMP server is loaded, a team member opens Firefox and downloads
+<em>vcl_pre_commands_nn.sh</em> from the repo web server. The “nn” is
+anything, but usually a “1”, or a “2”, and forth, to access a
+unique parameters file for each unique VCL installation. If you look in the
+pre_commands script, you will notice the number is just used to append to
+the filename <em>vcl_parameters_nn.sh</em>. In the scripts below, I used "13",
+since the particular target host name was "burton-research-13". Before
+starting installation, the students make a one-time instance of both the
+vcl_pre_commands file and the vcl_parameters file customized for their
+team. That is, each team could represent a different institution seeking to
+create a VCL cloud. If you look in these files, you will see the only real
+task is to set the host name of the target server to agree with the DHCP
+hostname assignment. Of course, you can vary every parameter, but since
+this is a student lab, all teams used my default settings for digital
+certificates and so forth. If you use the scripts for your own institution,
+you will wish to change additional settings to reflect your institution's
+name and login credentials. The parameters.sh file is -- at least to me
+-- documented and straightforward. I kept the students confined to a
+private LAN without outside access, so <em>{<em>}{+}we used weak
+passwords{+}{</em>}</em>. Please, use a strong password for any system with access
+from the Internet. Once the pre-commands file is downloaded, the students
+make the file executable, the run the script. About 30 minutes later, VCL
+installation is complete. Packages are installed using <em>yum</em> (see
+<em>vcl_packages.sh</em>), and all source tarballs are downloaded directly from
+the VCL site. The main script, <em>install_vcl.sh</em>, incorporates several
+modifications to the current VCL installation instructions. Notable areas
+are sourcing the MySQL database structure, dynamically modifying the VCL
+perl script to remove Linux package installation and perl interaction, use
+of SL 6.2, and rearranging the order of installation to complete all
+package installation in one place. The use of explicit yum package
+installation will allow me to copy <em>vcl_packages.sh</em> almost directly into
+RPM requires statements. I did not use an RPM for my students because I
+wanted the students to explore and experiment with the scripts.</p>
+<p><a name="AutomatedInstallationofVCL-Sowhatisa“complete”VCLinstallation?"></a></p>
+<h3 id="so-what-is-a-complete-vcl-installation">So what is a “complete” VCL installation?</h3>
+<p>In this case, it means everything required to install and configure the VCL
+web front end and the VCL management node is completed automatically. The
+script automatically launches Firefox to the VCL web interface and lists
+the few steps that must be completed through the web interface (admin
+password, initial specification of management node).</p>
+<p>What is not done (at this time) is the automated installation of VMware
+ESXi on the service nodes, nor the installation and configuration of XCAT.
+I expect I will just automate the XCAT installation and configuration, and
+let XCAT take care of the service node installation and management, since
+this will provide an arbitrarily large cloud. For my class, we just
+installed VMware ESXi manually on a service node.</p>
+<p>Images can be&nbsp; copied manually, of course, but in my scheme of
+infrastructure, booting a bare metal image with a PXE boot to my repository
+automatically builds Linux images. I expect XCAT can be persuaded to do the
+same.</p>
+<p><a name="AutomatedInstallationofVCL-HowcouldthesescriptshelptheVCLproject?"></a></p>
+<h3 id="how-could-these-scripts-help-the-vcl-project">How could these scripts help the VCL project?</h3>
+<p>I mentioned the automated installation in a poster session at the first ICA-CON conference hosted by IBM in April, 2012 (&nbsp;<a href="http://www.ibm.com/solutions/education/cloudacademy/us/en/cloud_academy_conference.html">ICA-CON</a>
+ ). Several people expressed an interest in access to the scripts, and I
+agreed to post the scripts in support of the Apache VCL project. I suppose
+with a few tweaks the script could be embedded in a no-arch RPM (or at
+least a self-determining arch) so that those who are interested in using
+VCL, but might not have the skills or patience to wade through the
+installation, could go immediately to their own VCL cloud with a click or
+two. This could lower the barrier to entry of cloud computing, and let more
+folks get on with exploring new ways to actually <em>{<em>}use{</em>}</em> a vcl cloud.</p>
+<p><a name="AutomatedInstallationofVCL-Thescriptsfollow:"></a></p>
+<h2 id="the-scripts-follow">The scripts follow:</h2>
+<p><a name="AutomatedInstallationofVCL-&nbsp;vcl_pre_commands_13.sh"></a></p>
+<h3 id="wzxhzdk16vcl_pre_commands_13sh">&nbsp;vcl_pre_commands_13.sh</h3>
+<div class="codehilite"><pre> <span class="c1"># Make sure time is correct, otherwise certificates will fail</span>
+<span class="n">ntpd</span> <span class="o">-</span><span class="n">gq</span>
+<span class="n">service</span> <span class="n">ntpd</span> <span class="n">start</span>
+<span class="n">cd</span> <span class="o">/</span><span class="n">root</span>
+<span class="n">wget</span> <span class="n">http:</span><span class="sr">//</span><span class="n">linuxlab</span><span class="o">.</span><span class="n">ncat</span><span class="o">.</span><span class="n">edu</span><span class="sr">/inet_boot/i</span><span class="n">nstall_vcl</span><span class="o">.</span><span class="n">sh</span>
+<span class="nb">chmod</span> <span class="o">+</span><span class="n">x</span> <span class="n">install_vcl</span><span class="o">.</span><span class="n">sh</span>
+<span class="o">.</span><span class="sr">/install_vcl.sh &quot;http://linuxlab.ncat.edu/i</span><span class="n">net_boot</span><span class="s">&quot; &quot;</span><span class="mi">13</span><span class="err">&quot;</span>
+</pre></div>
+
+
+<p><a name="AutomatedInstallationofVCL-vcl_parameters_13.sh"></a></p>
+<h3 id="vcl_parameters_13sh">vcl_parameters_13.sh</h3>
+<div class="codehilite"><pre> <span class="c">#</span>
+<span class="c"># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</span>
+</pre></div>
+
+
+<ul>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # +
++                                                                      
+ 
+    # +
++                                                                      
+ 
+    # + + Filename:     vcl_parameters.sh
+    # + + Author:       Larry Burton
+    # + + Copyright:    Copyright 2012 Larry Burton All rights reserved.
+    # + + Revision:     20120324
+    # + +
+Description:                                                        
+ 
+    # + + A script to define paramters used to install Apache VCL
+    # + + Usage:        sourced in other files
+    # +
++                                                  
+ 
+    # +
++                                                                     
+ 
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    #
+    this_host="burton-research-13"
+    this_domain="ncat.edu"
+    #  + + + + + + + + VCL Installation paramters + + + + + + + + + + + +
+    #
+    # Logging file
+    export log_file="/tmp/vcllog.log"
+    # Logging device
+    export logging="| tee $log_file"
+    # Location of the VCL source tarball
+    export source_url="http://www.apache.org/dist/incubator/vcl"
+    # VCL version
+    export vcl_version="2.2.1-incubating"
+    # tarball directory
+    export vcl_source_directory="/opt/vcl"
+    # The FQDN of the VCL Management Node (Must have valid DNS entry)
+    export vcl_management_node_name="$this_host.$this_domain"
+    # The FQDN of the VCL Management Node (Must have valid DNS entry)
+    export vcl_FQDN="$this_host.$this_domain"
+    #
+    # The architecture of this machine (for Perl download)
+    export arch='i386'
+    #
+    #
+    #  + + + + + + + + MySQL parameters + + + + + + + + + + + +
+    #
+    # The MySQL root password
+    export mysql_password='useyourownpassword'
+    # VCL database user name
+    export vcl_mysql_user_name="vcluser"
+    # VCL database user password
+    export vcl_mysql_user_password="vcluserpassword"
+    # VCL database name
+    export vcl_database_name="vcl"
+    # $mcryptkey
+    export vcl_mcryptkey="alongpassword"
+    #vcl_pemkey
+    export vcl_pemkey="alongkey"
+    # FQDN of database server (Must have valid DNS entry)
+    export vcl_database_server_name="$this_host.$this_domain"
+    #LockerWrtUser
+    export vcl_lockerwrite_user="vcluser"
+    # LockerWrtUser password
+    export vcl_lockerwrite_user_password="vcluserpassword"
+    # MySQL server name (The name used to connect, which must match the
+    # MySQL database username. Typically, localhost unless you explicitly
+    # allow external connections to the database.
+    export vcl_mysql_server_name="localhost"
+    #
+    #  + + + + + + + + HTTP parameters + + + + + + + + + + + +
+    #
+    export host_name="$this_host.$this_domain"
+    export search_path="$this_domain"
+    export web_virtual_hosts_directory='/etc/httpd/virtual_hosts'
+    export web_content_base='/var/www/web_servers'
+    # The VCL document root for the web server
+    export vcl_web_document_root="$web_content_base/$host_name"
+    #
+    #  + + + + + + + + CA Certificate Parameters + + + + + + + + + + + +
+    #
+    export ca_passphrase="password"
+    #
+    export ca_starting_serial_number="100"
+    export ca_country="US"
+    export ca_state='NorthCarolina'
+    export ca_city="Greensboro"
+    export ca_org="LinuxLab"
+    export ca_ou="VirtualComputingLab"
+    export ca_common_name="$this_host.$this_domain"
+    export ca_email="super@ncat.edu"
+    # File to contain the self-signed CA certificate (which contains the public
+key)
+    export ca_certificate_file_name="$ca_common_name.cer"
+    # File to contain the unencrypted, base-64 encoded, private key
+    export
+ca_certificate_private_unencrypted_key_file_name="$ca_common_name.key"
+    # The directory in which to copy the digital certificates
+    export ca_path_to_local_certs_files="/etc/pki/tls/certs"
+    # The directory in which to copy the unencrypted private certificate key
+    export ca_path_to_local_key_files="/etc/pki/tls/private"
+    #
+    #  + + + + + + + + xmlrpc Parameters + + + + + + + + + + + +
+    #
+    # The VCL daemon uses xmlrpc (remote procedure call) to connect to the
+    # MySQL database for doing things such as creating block reservations.
+    # A user must exist in the vcl MySQL database with privileges suitable for
+    # acccomplishing the database queries. You may use the MySQL GRANT command
+    # to create a distinct user, or you may use the default vcl user.
+    export vcl_xmlrpc_username=$vcl_mysql_user_name
+    export vcl_xmlrpc_pass=$vcl_mysql_user_password</li>
+</ul>
+<p><a name="AutomatedInstallationofVCL-https_setup.sh"></a></p>
+<h3 id="https_setupsh">https_setup.sh</h3>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
+2
+3</pre></div></td><td class="code"><div class="codehilite"><pre> <span class="c">#!/bin/bash</span>
+<span class="c">#</span>
+<span class="c"># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</span>
+</pre></div>
+</td></tr></table>
+
+<ul>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # +
++                                                                      
+ 
+    # +
++                                                                      
+ 
+    # + + Filename:     https_setup.sh
+    # + + Author:       Larry Burton
+    # + + Copyright:    Copyright 2012 Larry Burton All rights reserved.
+    # + + Revision:     20120324
+    # + +
+Description:                                                        
+ 
+    # + + A script to configure httpd for https
+    # + + Usage:        https_setup.sh
+    # + +               Must be run as
+root                                    
+ 
+    # +
++                                                                     
+ 
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>
+<p>+
+    #
+    #  + + + + + + + + HTTP parameters + + + + + + + + + + + +
+    #</p>
+<h1 id="note-this-script-assumes-httpd-is-already-setup-with-larry-burtons-lamp">Note: This script assumes httpd is already setup with Larry Burton's LAMP</h1>
+<h1 id="rpms-this-means-the-virtual_hosts-directory-and-the">RPMs. This means the virtual_hosts directory and the</h1>
+<p>web_servers</p>
+<h1 id="directories-are-in-place-and-the-http-access-on-port-80-is">directories are in place and the http access on port 80 is</h1>
+<p>already</p>
+<h1 id="in-place">in place.</h1>
+<h1></h1>
+<h1 id="this-script-forces-all-http-access-to-rewrite-to-https-if">This script forces ALL HTTP access to rewrite to HTTPS. If</h1>
+<p>you wish to</p>
+<h1 id="keep-some-http-access-you-will-have-to-edit-the-reqrite">keep some HTTP access, you will have to edit the reqrite</h1>
+<p>section to</p>
+<h1 id="only-rewrite-selected-locations-eg-location-rather-than">only rewrite selected locations, eg /location, rather than /.</h1>
+<h1></h1>
+<h1></h1>
+<h1 id="add-the-https-rewrite-directives">+ + + + + + + + Add the https rewrite directives + + + + + + + + + + +</h1>
+<p>+</p>
+<h1></h1>
+<h1 id="check-for-existence-of-cert-files"><strong><em>*</em></strong><strong><em>** check for existence of cert files </em></strong><strong><em>*</em></strong><strong><em>*</em></strong><strong>*</strong>*</h1>
+<h1 id="the-line-with-customlog-appears-in-larry-burtons-default-http-access">The line with CustomLog appears in Larry Burton's default HTTP access.</h1>
+<h1 id="add-the-new-location-to-httpd-virtual-host">Add the new location to httpd virtual host</h1>
+<h1></h1>
+<p>sed -i -e '/CustomLog/a\ \n\
+ \</p>
+<h1 id="">\</h1>
+<p><Location "/"> \</p>
+<h1 id="set-the-content-to-allow-indexex-to-be-displayed-and-to-follow">Set the content to ALLOW Indexex to be displayed and to FOLLOW \</h1>
+<h1 id="symbolic-links">symbolic links \</h1>
+<p>Options FollowSymLinks Indexes \</p>
+<h1 id="_1">\</h1>
+<h1 id="_2">\</h1>
+<p>RewriteEngine On \</p>
+<h1 id="this-will-enable-the-rewrite-capabilities">This will enable the Rewrite capabilities \</h1>
+<h1 id="_3">\</h1>
+<p>RewriteCond %{HTTPS} !=on \</p>
+<h1 id="this-checks-to-make-sure-the-connection-is-not-already-https">This checks to make sure the connection is not already HTTPS \</h1>
+<h1 id="_4">\</h1>
+<p>RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} \</p>
+<h1 id="_5">\</h1>
+<h1 id="this-takes-http-request-and-changes-hhtp-to-https">This takes http request and changes hhtp to https \</h1>
+<h1 id="_6">\</h1>
+<h1 id="_7">\</h1>
+<p></Location> \
+ \
+' $web_virtual_hosts_directory/$host_name.conf</p>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="add-the-https-access-directives">+ + + + + + + + Add the https access directives + + + + + + + + + + + +</h1>
+<h1></h1>
+<h1 id="the-wzxhzdk29-tag-will-be-the-last-line-of-some-http-virtual-host">The </VirtualHost> tag will be the last line of some HTTP virtual host,</h1>
+<h1 id="so-we-may-insert-the-https-virtual-host-immediately-afterwards">so we may insert the https virtual host immediately afterwards.</h1>
+<h1 id="note-the-escaping-of-the-forward-slash">Note the escaping of the forward slash.</h1>
+<h1></h1>
+<p>sed -i -e '/&lt;\/VirtualHost&gt;/a\ \n\
+ \</p>
+<h1 id="_8">\</h1>
+<h1 id="make-sure-httpd-listens-to-port-443">Make sure httpd listens to port 443 \</h1>
+<h1 id="_9">\</h1>
+<p>NameVirtualHost *:443 \</p>
+<h1 id="_10">\</h1>
+<h1 id="add-an-https-virtual-host">Add an HTTPS virtual host \</h1>
+<h1 id="_11">\</h1>
+<p><VirtualHost *:443> \
+ \
+DirectoryIndex home.php \
+ \
+ \
+ \
+ \
+     ServerAdmin webmaster@'"$host_name"' \
+     DocumentRoot '"$web_content_base/$host_name"' \
+ \
+     ServerName '"$host_name"' \
+     ErrorLog logs/'"$host_name"'-error_log \
+     CustomLog logs/'"$host_name"'-access_log common \
+ \
+        SSLEngine on \
+        SSLCertificateFile
+'"$ca_path_to_local_certs_files/$ca_certificate_file_name"' \
+        SSLCertificateKeyFile
+'"$ca_path_to_local_key_files/$ca_certificate_private_unencrypted_key_file_name"'
+\
+ \
+        <Directory /'"$web_content_base/$host_name"'> \
+        AllowOverride All \
+        </Directory> \
+  \
+ \
+<Location \\/> \
+Options FollowSymLinks Indexes \
+</Location> \</p>
+<h1 id="_12">\</h1>
+<p></VirtualHost> \</p>
+<h1 id="this-ends-an-https-virtual-host-definition">This ends an HTTPS virtual host definition. \</h1>
+<h1 id="_13">\</h1>
+<p>\
+' $web_virtual_hosts_directory/$host_name.conf</p>
+<h1></h1>
+<h1></h1>
+<h1 id="restart-not-reload-the-httpd-server">+ + + + + + + + Restart -- not reload -- the httpd server + + + + + + +</h1>
+<ul>
+<li>+</li>
+</ul>
+<h1></h1>
+<h1 id="retart-the-web-server-daemon">Retart the web server daemon:</h1>
+<p>/etc/init.d/httpd restart</p>
+<h1></h1>
+<h1 id="end-of-script">End of script</h1>
+</li>
+</ul>
+<p><a name="AutomatedInstallationofVCL-vcl_packages.sh"></a></p>
+<h3 id="vcl_packagessh">vcl_packages.sh</h3>
+<p>I placed the installation of required packages in a separate file to ease
+the transition of the script into an RPM.</p>
+<div class="codehilite"><pre> <span class="c">#</span>
+<span class="c"># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</span>
+</pre></div>
+
+
+<ul>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # +
++                                                                      
+ 
+    # +
++                                                                      
+ 
+    # + + Filename:     vcl_packages.sh
+    # + + Author:       Larry Burton
+    # + + Copyright:    Copyright 2012 Larry Burton All rights reserved.
+    # + + Revision:     20120324
+    # + +
+Description:                                                        
+ 
+    # + + A script to define paramters used to install packages used by Apache
+VCL
+    # + + Usage:        sourced in other files
+    # +
++                                                  
+ 
+    # +
++                                                                     
+ 
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>
+<p>+
+    #
+    #  + + + + + + + + VCL Installation paramters + + + + + + + + + + + +
+    #
+    /bin/echo "Installing packages used by VCL" $logging
+    /bin/echo "" $logging
+    /bin/echo "Some of these packages may already be installed, but we"
+$logging
+    /bin/echo "check them anyway to see if they need updating." $logging
+    /bin/echo "" $logging
+    #
+    # Install these packages
+    #
+    /bin/echo "httpd - Apache HTTP Server" $logging
+    yum -y install httpd
+    #
+    #
+    /bin/echo "mod_ssl - SSL/TLS module for the Apache HTTP server" $logging
+    yum -y install mod_ssl
+    #
+    #
+    /bin/echo "php - The PHP HTML-embedded scripting language" $logging
+    yum -y install php
+    #
+    #
+    /bin/echo "We will not use libmcrypt - Encryption algorithms library"
+$logging
+    #yum -y install libmcrypt
+    #
+    # Required PHP Modules:
+    #
+    /bin/echo "" $logging
+    /bin/echo "We need the following PHP modules." $logging
+    /bin/echo "" $logging
+    #
+    /bin/echo "php-gd" $logging
+    yum -y install php-gd
+    #
+    #
+    /bin/echo "php-json (required if your PHP version is 5.2 or later)"
+$logging
+    yum -y install php-json
+    #
+    #
+    /bin/echo "We will not use php-mcrypt" $logging
+    #yum -y install php-mcrypt
+    #
+    #
+    /bin/echo "php-mysql" $logging
+    yum -y install php-mysql
+    #
+    #
+    /bin/echo "php-openssl" $logging
+    yum -y install php-openssl
+    #
+    #
+    /bin/echo "php-sysvsem" $logging
+    yum -y install php-sysvsem
+    #
+    #
+    /bin/echo "php-xml" $logging
+    yum -y install php-xml
+    #
+    #
+    /bin/echo "php-xmlrpc" $logging
+    yum -y install php-xmlrpc
+    #
+    #
+    /bin/echo "php-ldap" $logging
+    yum -y install php-ldap
+    #
+    #
+    # Management Node packages
+    #Required Linux Packages:</p>
+<h1 id="the-vcl-management-node-daemon-vcld-requires-the-following-linux">The VCL management node daemon (vcld) requires the following Linux</h1>
+<p>packages and Perl modules in order to run (see step 2 below for
+installation instructions):</p>
+<h1></h1>
+<p>/bin/echo "expat - A library for parsing XML" $logging
+yum -y install expat</p>
+<h1></h1>
+<p>/bin/echo "expat-devel - Libraries and include files to develop XML
+applications with expat" $logging
+yum -y install expat-devel</p>
+<h1></h1>
+<p>/bin/echo "gcc - Various compilers C, C++, Objective-C, Java, ..." $logging
+yum -y install gcc</p>
+<h1></h1>
+<p>/bin/echo "krb5-libs - The shared libraries used by Kerberos 5" $logging
+yum -y install krb5-libs</p>
+<h1></h1>
+<p>/bin/echo "krb5-devel - Development files needed to compile Kerberos 5
+programs" $logging
+yum -y install krb5-devel</p>
+<h1></h1>
+<p>/bin/echo "libxml2 - Library providing XML and HTML support" $logging
+yum -y install libxml2</p>
+<h1></h1>
+<p>/bin/echo "libxml2-devel - Libraries, includes, etc. to develop XML and
+HTML applications" $logging
+yum -y install libxml2-devel</p>
+<h1></h1>
+<p>/bin/echo "mysql - MySQL client programs and shared libraries" $logging
+yum -y install mysql</p>
+<h1></h1>
+<p>/bin/echo "nmap - Network exploration tool and security scanner" $logging
+yum -y install nmap</p>
+<h1></h1>
+<p>/bin/echo "openssh - The OpenSSH implementation of SSH protocol versions 1
+and 2" $logging
+yum -y install openssh</p>
+<h1></h1>
+<p>/bin/echo "openssl - The OpenSSL toolkit" $logging
+yum -y install openssl</p>
+<h1></h1>
+<p>/bin/echo "openssl-devel - Files for development of applications which will
+use OpenSSL" $logging
+yum -y install openssl-devel</p>
+<h1></h1>
+<p>/bin/echo "perl - The Perl programming language" $logging
+yum -y install perl</p>
+<h1></h1>
+<p>/bin/echo "perl-DBD-MySQL - A MySQL interface for perl" $logging
+yum -y install perl-DBD-MySQL</p>
+<h1></h1>
+<h1 id="-binecho-xmlsec1-openssl-">------------------------- /bin/echo "xmlsec1-openssl -</h1>
+<p>OpenSSL crypto plugin for XML Security Library" $logging</p>
+<h1 id="-yum-y-install">------------------------- yum -y install</h1>
+<p>xmlsec1-openssl</p>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<p>if [ $arch == "i386" ]
+then
+perlarch="i686"
+else
+perlarch="x86_64"
+fi
+/bin/echo "Perl Architecture for download is $perlarch" $logging
+wget
+ftp://rpmfind.net/linux/epel/beta/6/$arch/xmlsec1-1.2.16-2.el6.$perlarch.rpm
+yum -y install xmlsec1-1.2.16-2.el6.$perlarch.rpm</p>
+<h1></h1>
+<h1></h1>
+<h1 id="wget">wget</h1>
+<p>ftp://rpmfind.net/linux/epel/beta/6/x86_64/xmlsec1-1.2.16-2.el6.x86_64.rpm</p>
+<h1 id="yum-y-install-xmlsec1-1216-2el6x86_64rpm">yum -y install xmlsec1-1.2.16-2.el6.x86_64.rpm</h1>
+<h1></h1>
+<h1 id="wget_1">wget</h1>
+<p>http://rpmfind.net/linux/epel/beta/6/i386/xmlsec1-1.2.16-2.el6.i686.rpm</p>
+<h1 id="yum-y-install-xmlsec1-1216-2el6i686rpm">yum -y install xmlsec1-1.2.16-2.el6.i686.rpm</h1>
+</li>
+</ul>
+<p><a name="AutomatedInstallationofVCL-create_a_new_self_signed_certificate.sh"></a></p>
+<h3 id="create_a_new_self_signed_certificatesh">create_a_new_self_signed_certificate.sh</h3>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
+2
+3</pre></div></td><td class="code"><div class="codehilite"><pre> <span class="c">#!/bin/bash</span>
+<span class="c">#</span>
+<span class="c"># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</span>
+</pre></div>
+</td></tr></table>
+
+<ul>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # +
++                                                                      
+ 
+    # +
++                                                                      
+ 
+    # + + Filename:     create_new_self-signed_ca.sh
+    # + + Author:       Larry Burton
+    # + + Copyright:    Copyright 2012 Larry Burton All rights reserved.
+    # + + Revision:     20120324
+    # + +
+Description:                                                        
+ 
+    # + + A script to create a new self-signed digital certificate
+    # + + Usage:        create_new_self-signed_ca.sh
+    # + +                                  
+    # +
++                                                                     
+ 
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>
+<p>+
+    #
+    #
+    # This script will create a new self-signed Certificate Authority (CA)
+    # digital certificate. The CA certificate can be posted on a web server for
+    # the public to download in order to verify digital certificates signed by
+    # this CA certificate.
+    #
+    # When creating the CA, we will NOT ENCRYPT the private key because we wish
+    # to store the unencrypted private key on a server for access by software
+    # such as httpd. If we encrypted the private key, we would have to type in
+the
+    # passphrase every time the software needed to use the key. The "-nodes"
+    # option specifies no encryption.</p>
+<h1 id="prepare-subject-text">Prepare subject text</h1>
+<h1 id="if-you-have-a-problem">If you have a problem</h1>
+<p>ca_subj=/C=$ca_country/ST=$ca_state/O=$ca_org/localityName=$ca_city/commonName=$ca_common_name/organizationalUnitName=$ca_ou/emailAddress=$ca_email</p>
+<h1></h1>
+<p>echo "The subject text is:"
+echo "$ca_subj"</p>
+<h1></h1>
+<h1 id="create-the-self-signed-certificate">Create the self-signed certificate</h1>
+<h1 id="pem-format-is-default-but-specify-it-to-make-sure-we-do-not-have">PEM format is default, but specify it to make sure we do not have</h1>
+<p>DER format
+openssl req -x509 \
+    -nodes \
+    -keyform PEM \
+    -inform PEM \
+    -outform PEM \
+    -days 3650 \
+    -newkey rsa:2048 \
+    -set_serial $ca_starting_serial_number \
+    -batch \
+    -subj "$ca_subj" \
+    -keyout $ca_certificate_private_unencrypted_key_file_name \
+    -out $ca_certificate_file_name \
+    -passin pass:$ca_passphrase</p>
+<h1></h1>
+<h1 id="self-signed-certificate-is-complete">Self-signed certificate is complete</h1>
+<p>/bin/echo "Here is the unencrypted private key stored in
+$ca_certificate_private_unencrypted_key_file_name:"
+cat $ca_certificate_private_unencrypted_key_file_name
+/bin/echo "Here is the self-signed Certificate Authority certificate stored
+in $ca_certificate_file_name:"
+cat $ca_certificate_file_name</p>
+<h1></h1>
+<p>/bin/echo "Here is the information contained in the self-signed CA
+certificate:"
+openssl x509 -text -in $ca_certificate_file_name</p>
+<h1></h1>
+<h1 id="copy-cert-and-key-to-local-directory">+ + + + + + + + Copy Cert and Key to local directory + + + + + + + + +</h1>
+<ul>
+<li>
+<ul>
+<li>+</li>
+</ul>
+</li>
+</ul>
+<h1></h1>
+<p>mkdir -p $ca_path_to_local_certs_files
+mkdir -p $ca_path_to_local_key_files
+cp $ca_certificate_file_name
+$ca_path_to_local_certs_files/$ca_certificate_file_name
+cp $ca_certificate_private_unencrypted_key_file_name
+$ca_path_to_local_key_files/$ca_certificate_private_unencrypted_key_file_name</p>
+<h1></h1>
+<p>/bin/echo "The CA certificate has been copied to
+$ca_path_to_local_certs_files"
+/bin/echo "The CA unecrypted private key has been copied to
+$ca_path_to_local_key_files"</p>
+<h1 id="end-of-script_1">end of script</h1>
+</li>
+</ul>
+<p><a name="AutomatedInstallationofVCL-install_vcl.sh"></a></p>
+<h3 id="install_vclsh">install_vcl.sh</h3>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
+2
+3</pre></div></td><td class="code"><div class="codehilite"><pre> <span class="c">#!/bin/bash</span>
+<span class="c">#</span>
+<span class="c"># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</span>
+</pre></div>
+</td></tr></table>
+
+<ul>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # +
++                                                                      
+ 
+    # +
++                                                                      
+ 
+    # + + Filename:     install_vcl.sh
+    # + + Author:       Larry Burton
+    # + + Copyright:    Copyright 2012 Larry Burton All rights reserved.
+    # + + Revision:     20120324
+    # + +
+Description:                                                        
+ 
+    # + + A script to install Apache VCL on a LAMP server
+    # + + Usage:        install_vcl.sh repo_url host
+    # + + Example:      install_vcl.sh
+"http://linuxlab.ncat.edu/inet_boot" "1"
+    # + +               Must be run as root    
+    # + +               The second parameter is appended to the
+parameters filename
+    # + +                  to allow multiple different VCL
+installations to use the same script
+    # + +               The target server, which is the computer
+upon which this
+    # + +               script is executing, must have:
+    # + +                  Internet access and must
+    # + +                  A valid forward and reverse DNS
+entry
+    # + +                  Access to a valid DS server
+    # + +                  Access to a valid DHCP
+server                                  
+    # +
++                                                                     
+ 
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>+
+    # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</li>
+<li>
+<p>+
+    #
+    repo_url=$1
+    target_host=$2
+    #
+    mkdir -p /tmp/install
+    #
+    # Get installation parameters
+    wget --no-host-directories --output-document="/tmp/install/vcl_parameters"
+$repo_url/vcl_parameters_$target_host.sh
+    #
+    # All the host paramters are now in /tmp/install/host_parameters
+    #
+    # Source the customization variables
+    . /tmp/install/vcl_parameters
+    /bin/echo "Following are the VCL installation parameters" $logging
+    cat /tmp/install/vcl_parameters
+    #
+    #
+    # Use yum to install the necessary repository packages
+    wget --no-host-directories --output-document="/tmp/install/vcl_packages"
+$repo_url/vcl_packages.sh
+    . /tmp/install/vcl_packages
+    #
+    #  + + + + + + + + Start the VCL Installation + + + + + + + + + + + +
+    #
+    # The starting point is an installed and hardened LAMP server created by
+    # Larry Burton's RPMs
+    #
+    # Create the VCL source code directory
+    /bin/echo "Creating VCL source code directory as $vcl_source_directory"
+$logging
+    mkdir -p $vcl_source_directory
+    # Change the working directory to the source code directory
+    /bin/echo "Changing working directory to source code directory" $logging
+    pushd $vcl_source_directory
+    # Download &amp; Extract the Apache VCL Source
+    /bin/echo "Downloading the VCL source tarball from $source_url" $logging
+    wget $source_url/apache-VCL-$vcl_version.tar.bz2
+    # Extract the files
+    /bin/echo "Extracting the VCL source tarball" $logging
+    tar -jxvf apache-VCL-2.2.1-incubating.tar.bz2
+    #
+    # Configure MySQL for VCL (MySQL is already installed and configured by
+LAMP)
+    #
+    # Make sure the firewall on the database server is configured to allow
+    # traffic from the web server and management node servers to connect to
+    # the MySQL daemon TCP port: 3306.  See the firewall documentation for
+    # more information.
+    #
+    # Create a VCL database
+    /bin/echo "Creating VCL database" $logging</p>
+<h1 id="mysql-userroot-passwordmysql_password-e-drop-database-vcl">mysql --user=root --password=$mysql_password -e 'DROP DATABASE vcl;'</h1>
+<p>mysql --user=root --password=$mysql_password -e 'CREATE DATABASE vcl; USE
+vcl; source apache-VCL-2.2.1-incubating/mysql/vcl.sql; SHOW TABLES;'</p>
+<p>mysql --user=root --password=$mysql_password -e "GRANT
+SELECT,INSERT,UPDATE,DELETE,CREATE TEMPORARY TABLES ON vcl.* TO
+'$vcl_mysql_user_name'@'localhost' IDENTIFIED BY
+'$vcl_mysql_user_password';"</p>
+<p>mysql --user=root --password=$mysql_password -e "USE mysql; SELECT * FROM
+user WHERE User='vcluser';"</p>
+<h1 id="create-the-vcl-user-for-the-mysql-database">Create the VCL user for the MySQL database</h1>
+<h1 id="note-this-user-is-created-with-access-from-the-localhost-only-since-the">Note this user is created with access from the localhost only since the</h1>
+<h1 id="database-server-is-assumed-to-be-on-the-same-physical-machine-as-the-vcl">database server is assumed to be on the same physical machine as the vcl</h1>
+<p>daemon</p>
+<p>/bin/echo "These are the tables in the VCL database:" $logging
+mysql --user=root --password=$mysql_password -e "USE vcl;SHOW TABLES;"</p>
+<h1></h1>
+<h1 id="at-this-point-vcl-support-in-mysql-is-complete">At this point, VCL support in MySQL is complete</h1>
+<p>/bin/echo "" $logging</p>
+<h1></h1>
+<p>/bin/echo "MySQL configuration for VCL complete" $logging
+/bin/echo "" $logging</p>
+<h1></h1>
+<h1 id="note-change-httpconf-document-root-to-correct-document">NOTE ----------- Change http.conf document root to correct document</h1>
+<p>root
+sed -i -e "s:DocumentRoot \"/var/www/html\":DocumentRoot
+\"$web_content_base/$vcl_FQDN\":g" /etc/httpd/conf/httpd.conf</p>
+<h1></h1>
+<h1 id="set-up-apache-httpd-for-https">+ + + + + + + + Set up Apache httpd for https + + + + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Creating digital certificates for web server" $logging</p>
+<h1 id="download-and-run-the-https-configuration-script">Download and run the https configuration script</h1>
+<p>wget --no-host-directories
+--output-document="/tmp/install/create_new_self-signed_ca.sh"
+$repo_url/create_new_self-signed_ca.sh
+sh /tmp/install/create_new_self-signed_ca.sh</p>
+<h1></h1>
+<h1 id="note-the-certificates-must-be-in-place-before-trying-to-start-https">Note: The certificates must be in place before trying to start https</h1>
+<h1></h1>
+<p>/bin/echo "Beginning httpd configuration for VCL" $logging</p>
+<h1 id="download-and-run-the-https-configuration-script_1">Download and run the https configuration script</h1>
+<p>wget --no-host-directories --output-document="/tmp/install/https_setup.sh"
+$repo_url/https_setup.sh
+sh /tmp/install/https_setup.sh</p>
+<h1></h1>
+<h1 id="at-this-point-vcl-support-in-httpd-is-complete">At this point, VCL support in httpd is complete</h1>
+<p>/bin/echo "" $logging
+/bin/echo "httpd configuration for VCL complete" $logging
+/bin/echo "" $logging</p>
+<h1></h1>
+<h1 id="4-if-selinux-is-enabled-run-the-following-command-to-allow-the-web">4. If SELinux is enabled, run the following command to allow the web</h1>
+<p>server to connect to the database:</p>
+<h1 id="usrsbinsetsebool-p-httpd_can_network_connect1">/usr/sbin/setsebool -P httpd_can_network_connect=1</h1>
+<h1 id="5-if-the-iptables-firewall-is-being-used-port-80-and-443-should-be">5. If the iptables firewall is being used, port 80 and 443 should be</h1>
+<p>opened up:</p>
+<h1 id="vi-etcsysconfigiptables">vi /etc/sysconfig/iptables</h1>
+<h1></h1>
+<h1 id="-a-rh-firewall-1-input-m-state-state-new-p-tcp-dport-80-j-accept">-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT</h1>
+<h1 id="-a-rh-firewall-1-input-m-state-state-new-p-tcp-dport-443-j-accept">-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT</h1>
+<h1 id="service-iptables-restart">service iptables restart</h1>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="install-the-vcl-frontend-web-code">+ + + + + + + + Install the VCL Frontend Web Code + + + + + + + + + + +</h1>
+<p>+</p>
+<h1></h1>
+<h1></h1>
+<p>/bin/echo "Beginning VCL Frontend Web Code Installation" $logging</p>
+<h1></h1>
+<h1 id="copy-the-web-directory-to-a-location-under-the-web-root-of-your-web">Copy the web directory to a location under the web root of your web</h1>
+<p>server</p>
+<h1 id="and-navigate-to-the-destination-ht-inc-subdirectory">and navigate to the destination .ht-inc subdirectory</h1>
+<h1 id="create-the-vcl-web-server-document-root-directory">Create the VCL web server document root directory</h1>
+<p>mkdir -p $vcl_web_document_root</p>
+<h1 id="copy-the-vcl-web-documents-to-the-vcl-web-server-document-root">Copy the VCL web documents to the VCL web server document root</h1>
+<p>cp -r apache-VCL-$vcl_version/web/ $vcl_web_document_root/vcl</p>
+<h1 id="change-the-working-directory-to-the-web-server-document-root-patch-file">Change the working directory to the web server document root patch file</h1>
+<p>directory
+pushd $vcl_web_document_root/vcl/.ht-inc</p>
+<h1 id="apply-patch-to-fix-editing-reservations">Apply patch to fix editing reservations</h1>
+<p>wget
+https://issues.apache.org/jira/secure/attachment/12477101/utils_virtual_undefined.patch
+patch &lt; utils_virtual_undefined.patch</p>
+<h1 id="apply-patch-to-fix-processing-of-block-allocations">Apply patch to fix processing of block allocations</h1>
+<p>wget
+https://issues.apache.org/jira/secure/attachment/12485328/vmhostcheck_fix.patch
+patch &lt; vmhostcheck_fix.patch</p>
+<h1></h1>
+<h1 id="configure-the-php-secrets-file">Configure the PHP secrets file</h1>
+<h1></h1>
+<h1 id="copy-secrets-defaultphp-to-secretsphp">Copy secrets-default.php to secrets.php:</h1>
+<p>cp secrets-default.php secrets.php</p>
+<h1 id="edit-the-secretsphp-file">Edit the secrets.php file</h1>
+<p>/bin/echo "Editing the PHP secrets.php file" $logging</p>
+<h1 id="set-the-vcl-hostname">Set the VCL hostname</h1>
+<h6 id="default-is-ok-sed-i-e-svclhost-localhost-name-of-mysql"># default is ok sed -i -e "s/\$vclhost = 'localhost'; # name of mysql</h6>
+<p>server/###\$vclhost = 'localhost'; # name of mysql server/g" \</p>
+<h6 id="default-is-ok-e-vclhost-localhost-name-of"># default is ok        -e "/\$vclhost = 'localhost'; # name of</h6>
+<p>mysql server/a\ \n\</p>
+<h6 id="default-is-ok-default-is-ok-vclhost-host_name"># default is ok ####### default is ok \$vclhost = '$host_name';</h6>
+<p>name of mysql server/</p>
+<h6 id="default-is-ok"># default is ok  \</h6>
+<h6 id="default-is-ok_1"># default is ok " \</h6>
+<h6 id="default-is-ok-secretsphp"># default is ok secrets.php</h6>
+<h1></h1>
+<h1 id="set-the-vcl-database-name">Set the VCL database name</h1>
+<h6 id="default-is-ok-sed-i-e-svcldb-vcl-name"># default is ok sed -i -e "s/\$vcldb = 'vcl';         # name</h6>
+<p>of mysql database/###\$vcldb = 'vcl';         # name of mysql
+database/g" \</p>
+<h6 id="default-is-ok-e-vcldb-vcl"># default is ok        -e "/\$vcldb = 'vcl';</h6>
+<p>name of mysql database/a\ \n\</p>
+<h6 id="default-is-ok-vcldb-vcl_database_name"># default is ok \$vcldb = '$vcl_database_name';</h6>
+<p>name of mysql database/</p>
+<h6 id="default-is-ok_2"># default is ok  \</h6>
+<h6 id="default-is-ok_3"># default is ok " \</h6>
+<h6 id="default-is-ok-secretsphp_1"># default is ok secrets.php</h6>
+<h1></h1>
+<h1 id="set-the-vcl-user-name">Set the VCL user name</h1>
+<p>sed -i -e "s/\$vclusername = '';      # username to access
+database/###\$vclusername = '';      # username to access database/g"
+\
+       -e "/\$vclusername = '';      # username to access
+database/a\ \n\
+\$vclusername = '$vcl_mysql_user_name';      # username to access
+database/
+ \
+" \
+secrets.php</p>
+<h1></h1>
+<h1 id="set-the-vcl-password">Set the VCL password</h1>
+<p>sed -i -e "s/\$vclpassword = '';      # password to access
+database/###\$vclpassword = '';      # password to access database/g"
+\
+       -e "/\$vclpassword = '';      # password to access
+database/a\ \n\
+\$vclpassword = '$vcl_mysql_user_password';      # password to access
+database/
+ \
+" \
+secrets.php</p>
+<h1></h1>
+<h1 id="set-the-vcl-password_1">Set the VCL password</h1>
+<p>sed -i -e "s/\$mcryptkey = '';  # random password - won't ever have to
+type it so make it long/###\$mcryptkey = '';  # random password - won't
+ever have to type it so make it long/g" \
+       -e "/\$mcryptkey = '';  # random password - won't ever have
+to type it so make it long/a\ \n\
+\$mcryptkey = '$vcl_mcryptkey';  # random password - won't ever have to
+type it so make it long/
+ \
+" \
+secrets.php</p>
+<h1></h1>
+<h1 id="mcryptiv-12345678-must-be-8-hex-chars">$mcryptiv = '12345678'; // must be 8 hex chars</h1>
+<h1></h1>
+<h1 id="set-the-vcl-passphrase">Set the VCL passphrase</h1>
+<p>sed -i -e "s/\$pemkey = ''; # random passphrase - same as given to
+genkeys.sh - should be long/###\$pemkey = ''; # random passphrase - same as
+given to genkeys.sh - should be long/g" \
+       -e "/\$pemkey = ''; # random passphrase - same as given to
+genkeys.sh - should be long/a\ \n\
+\$pemkey = '$vcl_pemkey'; # random passphrase - same as given to genkeys.sh
+- should be long/
+ \
+" \
+secrets.php</p>
+<h1></h1>
+<h1></h1>
+<h1 id="create-the-public-and-private-keys-for-the-vcl-user">+ + Create the public and private keys for the vcl user + + + + + + + +</h1>
+<p>+</p>
+<h1></h1>
+<p>/bin/echo "Creating the public and private keys for the vcl user" $logging</p>
+<h1 id="the-2048-must-come-after-the-passphrase">The 2048 MUST come after the passphrase</h1>
+<p>echo "openssl genrsa -aes256 -out keys.pem -passout pass:$vcl_pemkey 2048"
+openssl genrsa -aes256 -out keys.pem -passout pass:$vcl_pemkey 2048
+echo "openssl rsa -pubout -in keys.pem -out pubkey.pem -passin
+pass:$vcl_pemkey"
+openssl rsa -pubout -in keys.pem -out pubkey.pem -passin pass:$vcl_pemkey</p>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="configure-the-php-confphp">+ + Configure the PHP conf.php + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Configuring the PHP conf.php" $logging</p>
+<h1></h1>
+<h1 id="copy-conf-defaultphp-to-confphp">Copy conf-default.php to conf.php:</h1>
+<p>cp conf-default.php conf.php</p>
+<h1></h1>
+<h1 id="modify-confphp-to-match-your-site">Modify conf.php to match your site</h1>
+<h1 id="basically-this-consists-of-specifying-the-fqdn-and-domain-name-of-the">Basically this consists of specifying the FQDN and domain name of the</h1>
+<p>server.</p>
+<h1 id="note-use-as-delimiter-instead-of-slash-to-avoid-escaping-slashes">NOTE: use = as delimiter instead of slash to avoid escaping slashes</h1>
+<p>sed -i -e "s:define(\"COOKIEDOMAIN\", \".example.org\");       //
+domain in which cookies are set:define(\"COOKIEDOMAIN\",
+\"$vcl_FQDN\");       // domain in which cookies are set:g" conf.php
+sed -i -e "s=define(\"BASEURL\",
+\"https:\/\/vcl.example.org\");=define(\"BASEURL\",
+\"https:\/\/$vcl_FQDN/vcl\");=g" conf.php
+sed -i -e "s=define(\"HOMEURL\",
+\"http:\/\/vcl.example.org\/\");=define(\"HOMEURL\",
+\"http:\/\/$vcl_FQDN\/vcl\/\");=g" conf.php
+sed -i -e "s=vcl.example.org=$vcl_FQDN=g" conf.php
+sed -i -e "s=example.org=$search_path=g" conf.php</p>
+<h1 id="did-not-set-timezone">Did not set timezone</h1>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="set-the-owner-of-the-ht-incmaintenance-directory-to-the-web-server-user">Set the owner of the .ht-inc/maintenance directory to the web server user</h1>
+<p>(normally 'apache'):
+chown apache maintenance</p>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="install-phpseclib-and-apply-a-patch-to-remove-the-requirement-of">+ + Install phpseclib and apply a patch to remove the requirement of</h1>
+<p>having mcrypt installed + + + + + + + + +</p>
+<h1></h1>
+<h1 id="optionally-you-can-install-phpseclib-and-apply-a-patch-to-remove-the">Optionally, you can install phpseclib and apply a patch to remove the</h1>
+<p>requirement of having mcrypt installed
+/bin/echo "Patching to remove the mcrypt dependency" $logging</p>
+<h1 id="here-are-the-steps-to-remove-the-dependency">Here are the steps to remove the dependency:</h1>
+<h1 id="download-phpseclib-to-tmp-version-022-was-used-for-testing">Download phpseclib to /tmp (version 0.2.2 was used for testing)</h1>
+<p>pushd /tmp
+wget http://downloads.sourceforge.net/project/phpseclib/phpseclib0.2.2.zip</p>
+<h1 id="create-a-directory-named-phpseclib-in-your-ht-inc-directory">Create a directory named phpseclib in your .ht-inc directory</h1>
+<p>mkdir $vcl_web_document_root/vcl/.ht-inc/phpseclib</p>
+<h1 id="unzip-phpseclib-in-the-phpseclib-directory">unzip phpseclib in the phpseclib directory</h1>
+<p>pushd $vcl_web_document_root/vcl/.ht-inc/phpseclib
+unzip /tmp/phpseclib0.2.2.zip</p>
+<h1 id="download-no_mcryptpatch-to-your-ht-inc-directory">Download no_mcrypt.patch to your .ht-inc directory</h1>
+<p>pushd $vcl_web_document_root/vcl/.ht-inc
+wget http://people.apache.org/~jfthomps/no_mcrypt.patch</p>
+<h1 id="apply-the-patch">Apply the patch</h1>
+<p>patch &lt; no_mcrypt.patch</p>
+<h1></h1>
+<p>/bin/echo "The VCL web server is now set up" $logging</p>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="test-the-webserver">Test the webserver</h1>
+<h1 id="open-the-testsetupphp-page-in-a-web-browser">Open the testsetup.php page in a web browser</h1>
+<p>firefox https://$host_name/vcl/testsetup.php &amp;</p>
+<h1 id="-must-manually-use-web-interface-to-setup">---------------------------- Must manually use web interface to setup</h1>
+<p>management node !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</p>
+<h1 id="right-now-before-completing-remaining-steps">Right now, before completing remaining steps</h1>
+<h1 id="it-is-easier-to-just-let-the-script-run-then-use-the-web-interface-and">It is easier to just let the script run, then use the web interface, and</h1>
+<p>then restart vcld</p>
+<p>pushd $vcl_web_document_root/vcl/.ht-inc</p>
+<h1></h1>
+<h1 id="at-this-point-the-vcl-webserver-is-configured">At this point, the VCL webserver is configured</h1>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1></h1>
+<h1 id="install-the-management-node">+ + Install the Management Node + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Installing VCL Management Node" $logging
+popd
+popd
+popd
+cd</p>
+<h1 id="change-the-working-directory-to-the-source-code-directory">Change the working directory to the source code directory</h1>
+<p>/bin/echo "Changing working directory to source code directory" $logging
+pushd $vcl_source_directory</p>
+<h1></h1>
+<p>cp -r apache-VCL-2.2.1-incubating/managementnode /usr/local/vcl</p>
+<h1></h1>
+<p>/bin/echo "Installing perl modules" $logging</p>
+<h1 id="skip-the-linux-package-installation-in-the-perl-script-and-say-yes">Skip the Linux package installation in the perl script and say YES</h1>
+<p>sed -i -e "s=install_linux_packages();=###install_linux_packages()=g"
+/usr/local/vcl/bin/install_perl_libs.pl
+sed -i -e "s:my \$input = &lt;&gt;;:my \$input = 'YES';:g"
+/usr/local/vcl/bin/install_perl_libs.pl</p>
+<h1 id="sed-i-e-smy-errorsmy-errorsg">sed -i -e "s=my @ERRORS;=###my @ERRORS;=g"</h1>
+<p>/usr/local/vcl/bin/install_perl_libs.pl</p>
+<h1 id="now-install-the-perl-modules">Now install the perl modules</h1>
+<p>perl /usr/local/vcl/bin/install_perl_libs.pl</p>
+<h1></h1>
+<h1 id="configure-vcldconf">+ + Configure vcld.conf + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Configuring /etc/vcld.conf" $logging</p>
+<h1 id="create-the-etcvcl-directory">Create the <em>/etc/vcl</em> directory:</h1>
+<p>mkdir /etc/vcl</p>
+<h1 id="copy-the-stock-vcldconf-file-to-etcvcl">Copy the stock <em>vcld.conf</em> file to <em>/etc/vcl</em>:</h1>
+<p>cp /usr/local/vcl/etc/vcl/vcld.conf /etc/vcl</p>
+<h1 id="edit-etcvclvcldconf">Edit <em>/etc/vcl/vcld.conf</em>:</h1>
+<h1></h1>
+<p>vcl_conf_file="/etc/vcl/vcld.conf"</p>
+<h1></h1>
+<p>echo $vcl_management_node_name</p>
+<h1 id="you-can-use-any-delimiter-you-like-in-an-address-by-prepending-a-ie">You can use any delimiter you like in an address by prepending a \ i.e.</h1>
+<p>\|...| for the substitute command the \ is not necessary.</p>
+<h1></h1>
+<h1 id="set-the-fqdn-for-the-management-server-vcld">Set the FQDN for the management server (vcld)</h1>
+<p>sed -i -e "s/FQDN=/###FQDN=/g" \
+       -e "/###FQDN=/a \
+FQDN=$vcl_management_node_name
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/database=vcl/###database=vcl/g" \
+       -e "/##database=vcl/a \
+database=$vcl_database_name
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_1">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/server=/###server=/g" \
+       -e "/###server=/a \
+server=$vcl_mysql_server_name
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_2">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/LockerWrtUser=vcl-wr/###LockerWrtUser=vcl-wr/g" \
+       -e "/###LockerWrtUser=vcl-wr/a \
+LockerWrtUser=$vcl_mysql_user_name
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_3">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/wrtPass=/###wrtPass=/g" \
+       -e "/###wrtPass=/a \
+wrtPass=$vcl_mysql_user_password
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_4">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/xmlrpc_username=vclsystem/###xmlrpc_username=vclsystem/g" \
+       -e "/###xmlrpc_username=vclsystem/a \
+xmlrpc_username=$vcl_mysql_user_name
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_5">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/xmlrpc_pass=insecureDefault/###xmlrpc_pass=insecureDefault/g"
+\
+       -e "/###xmlrpc_pass=insecureDefault/a \
+xmlrpc_pass=$vcl_mysql_user_password
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1></h1>
+<h1 id="set-the-mysql-database-name-for-the-management-server-vcld_6">Set the MySQL database name for the management server (vcld)</h1>
+<p>sed -i -e "s/xmlrpc_url=/###xmlrpc_url=/g" \
+       -e "/###xmlrpc_url=/a \
+xmlrpc_url=https:\/\/$vcl_management_node_name\/vcl\/index.php\?mode=xmlrpccall
+ \
+" \
+$vcl_conf_file</p>
+<h1></h1>
+<h1></h1>
+<h1 id="configure-the-ssh-client">+ + Configure the SSH Client + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Configuring SSH Client" $logging</p>
+<h1></h1>
+<h1 id="locate-the-userknownhostsfile-and-stricthostkeychecking-lines-and-change">Locate the UserKnownHostsFile and StrictHostKeyChecking lines and change</h1>
+<p>them to the following:</p>
+<h1 id="note-these-lines-may-not-exist-so-just-comment-them-out-if-they-do">Note: These lines may not exist, so just comment them out if they do</h1>
+<p>exist</p>
+<h1 id="and-add-the-new-lines-at-the-end-of-the-file">and add the new lines at the end of the file.</h1>
+<p>sed -i -e "s/UserKnownHostsFile/###UserKnownHostsFile/g" \
+       -e "$ a\ \n\
+UserKnownHostsFile \/dev\/null
+ \
+" \
+/etc/ssh/ssh_config</p>
+<h1></h1>
+<p>sed -i -e "s/StrictHostKeyChecking/###StrictHostKeyChecking/g" \
+       -e "$ a\ \n\
+StrictHostKeyChecking no
+ \
+" \
+/etc/ssh/ssh_config</p>
+<h1></h1>
+<h1></h1>
+<h1 id="install-and-start-the-vcl-daemon-vcld-service">+ + Install and Start the VCL Daemon (vcld) Service + + + + + + + + +</h1>
+<h1></h1>
+<p>/bin/echo "Install and Start the VCL Daemon (vcld) Service" $logging</p>
+<h1></h1>
+<h1 id="copy-the-vcld-service-script-to-etcinitd-and-name-it-vcld">Copy the vcld service script to /etc/init.d and name it vcld:</h1>
+<p>cp /usr/local/vcl/bin/S99vcld.linux /etc/init.d/vcld</p>
+<h1 id="add-the-vcld-service-using-chkconfig">Add the vcld service using chkconfig:</h1>
+<p>/sbin/chkconfig --add vcld</p>
+<h1 id="configure-the-vcld-service-to-automatically-run-at-runtime-levels-3-5">Configure the vcld service to automatically run at runtime levels 3-5:</h1>
+<p>/sbin/chkconfig --level 345 vcld on</p>
+<h1 id="start-the-vcld-service">Start the vcld service:</h1>
+<p>/sbin/service vcld start</p>
+<h1></h1>
+<h1 id="you-should-see-output-similar-to-the-following">You should see output similar to the following:</h1>
+<h1></h1>
+<h1 id="starting-vcld-daemon">Starting vcld daemon:</h1>
+<h1></h1>
+<p>============================================================================</p>
+<h1 id="vcl-management-node-daemon-vcld-2011-03-15-102304">VCL Management Node Daemon (vcld) | 2011-03-15 10:23:04</h1>
+<h1></h1>
+<p>============================================================================</p>
+<h1 id="bin-path-usrlocalvclbin">bin path:      /usr/local/vcl/bin</h1>
+<h1 id="config-file-etcvclvcldconf">config file:   /etc/vcl/vcld.conf</h1>
+<h1 id="log-file-varlogvcldlog">log file:      /var/log/vcld.log</h1>
+<h1 id="pid-file-varrunvcldpid">pid file:      /var/run/vcld.pid</h1>
+<h1 id="daemon-mode-1">daemon mode:   1</h1>
+<h1 id="setup-mode-0">setup mode:    0</h1>
+<h1 id="verbose-mode-1">verbose mode:  1</h1>
+<h1></h1>
+<p>============================================================================</p>
+<h1 id="created-vcl-daemon-process-8465">Created VCL daemon process: 8465</h1>
+<h1 id="ok">[  OK  ]</h1>
+<h1></h1>
+<h1 id="the-vcld-service-can-also-be-started-by-running-the-service-script">The vcld service can also be started by running the service script</h1>
+<p>directly: /etc/init.d/vcld start</p>
+<h1 id="check-the-vcld-service-by-monitoring-the-vcldlog-file">Check the vcld service by monitoring the vcld.log file:</h1>
+<p>tail -f /var/log/vcld.log</p>
+<h1></h1>
+<h1 id="you-should-see-the-following-being-added-to-the-log-file-every-few">You should see the following being added to the log file every few</h1>
+<p>seconds if</p>
+<h1 id="the-management-node-is-checking-in-with-the-database">the management node is checking in with the database:</h1>
+<h1></h1>
+<h1 id="2009-06-16-16571515792vcldmain165lastcheckin-time">2009-06-16 16:57:15|15792|vcld:main(165)|lastcheckin time</h1>
+<p>updated for management node 18: 2009-06-16 16:57:15</p>
+<h1></h1>
+<h1 id="print-instructions-for-web-setup">Print instructions for web setup</h1>
+<h1></h1>
+<p>cat &lt;&lt; WEBSETUP</p>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>+</li>
+<li>
+<ul>
+<li></li>
+</ul>
+</li>
+<li>+                       VCL Web Set Up Instructions</li>
+<li>+</li>
+<li>
+<ul>
+<li>All VCL installation is now complete except for a few administrative
+tasks</li>
+</ul>
+</li>
+<li>
+<ul>
+<li>you must complete using the VCL web-based administration tools.</li>
+</ul>
+</li>
+<li>+</li>
+<li>
+<ul>
+<li>Please use a web browser to complete the following steps.</li>
+</ul>
+</li>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>
+<ul>
+<li>+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>+</li>
+</ul>
+<p>Step 1: Log In to the VCL Website with the following URL</p>
+<p>https://$vcl_FQDN/vcl/index.php</p>
+<p>Then select "Local Account"
+        The username is:    admin
+        The password is:    adminVc1passw0rd</p>
+<p>(Note: You may change the password at this time, but be
+certain to
+               REMEMBER your new password!)</p>
+<p>Step 2: Click the Management Nodes link</p>
+<p>Click Add
+        Fill in these required fields:</p>
+<h1 id="owner-adminlocal">Owner - admin@Local</h1>
+<p>Hostname = $vcl_FQDN
+             IP address = $(hostname -i)
+             SysAdmin Email Address = sysadmin@$search_path
+             Install Path = /var/data
+             End Node SSH Identity Key Files = /etc/vcl/vcl.key</p>
+<p>Click Confirm Management Node
+        Click Submit</p>
+<p>Step 3: Click the Management Nodes link
+             ( Note: You must click the anagement Nodes link to
+get out of
+                     of the previous screen state.)
+        Select Edit Management Node Grouping
+        Click Submit
+        Select the checkbox for your management node
+        Click Submit Changes</p>
+<p>Congratualations! You VCL head node installation is complete!</p>
+<p>Now, restart the vcld daemon with the following command:</p>
+<p>/sbin/service vcld restart</p>
+<p>You may monitor vlcd with this command</p>
+<p>tail -f /var/log/vcld.log</p>
+<p>WEBSETUP</p>
+<h1></h1>
+<h1></h1>
+<h1 id="install-and-start-the-dhcp-service">+ + Install and Start the DHCP Service + + + + + + + + +</h1>
+<h1 id="note-we-use-dnsmasq-rather-than-dhcpd">Note: We use dnsmasq rather than dhcpd</h1>
+<h1></h1>
+<p>exit</p>
+<h1></h1>
+<h1 id="end-of-script_2">End of script</h1>
+</li>
+</ul>
+<p>Larry Burton 3 May 2012</p>
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 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>

Added: websites/staging/vcl/trunk/content/confluence_export/backend.html
==============================================================================
--- websites/staging/vcl/trunk/content/confluence_export/backend.html (added)
+++ websites/staging/vcl/trunk/content/confluence_export/backend.html Tue Jan  8 16:38:15 2013
@@ -0,0 +1,96 @@
+<!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 - Backend</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">Backend</h1>
+    
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 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>

Added: websites/staging/vcl/trunk/content/confluence_export/base-image-creation.html
==============================================================================
--- websites/staging/vcl/trunk/content/confluence_export/base-image-creation.html (added)
+++ websites/staging/vcl/trunk/content/confluence_export/base-image-creation.html Tue Jan  8 16:38:15 2013
@@ -0,0 +1,100 @@
+<!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 - Base Image Creation</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">Base Image Creation</h1>
+    <p>{excerpt}These pages describe how to create base images.{excerpt}</p>
+<p><a href="vcl:create-a-windows-base-image.html">Windows OS</a>
+<a href="vcl:create-a-linux-base-image.html">Linux OS</a>
+<a href="vcl:lab.pm-provisioning-module.html">Adding Standalone machines Lab provisioning module</a>
+<a href="adding-xcat-kickstart-based-image.html">Adding xCAT kickstart based image</a></p>
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 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>

Added: websites/staging/vcl/trunk/content/confluence_export/becoming-a-committer.html
==============================================================================
--- websites/staging/vcl/trunk/content/confluence_export/becoming-a-committer.html (added)
+++ websites/staging/vcl/trunk/content/confluence_export/becoming-a-committer.html Tue Jan  8 16:38:15 2013
@@ -0,0 +1,130 @@
+<!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 - Becoming a Committer</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">Becoming a Committer</h1>
+    <p>{excerpt}This page explains the process someone must go through to become
+an official committer to Apache VCL.{excerpt}</p>
+<p>There are 4 steps you need to go through to become an official committer.</p>
+<ol>
+<li>Actively answer questions on the vcl-dev/vcl-user lists
+By answering questions on the community lists, you show an interest in the
+community. Your answers provide a metric of how well you understand VCL and
+how the Apache VCL community works.</li>
+<li>Sign an Individual Contributor License Agreement (ICLA)
+To contribute any code or documentation, you must have an ICLA on file with
+the Apache Software Foundation. More information about the ICLA is
+available on the <a href="http://www.apache.org/licenses/#clas">licenses page</a>
+. Once you have done this, you should express interest on the vcl-dev list
+that you are interested in becoming a committer.</li>
+<li>[[1]([1.html)
+|Becoming a Committer#skip3] Contribute non-trivial code by attaching
+patches to JIRA issues
+Before being granted commit access to the code respository, you need to
+demonstrate some level of understanding of the code and some level of
+coding proficiency. This is done by contributing patches to JIRA issues. We
+realize "non-trivial" is a subjective term, but simple one-liner patches
+don't allow you to be evaluated at all. (Don't worry we need more
+committers; so we're not strict!)</li>
+<li>Be voted in as a new committer on the vcl-private list
+There is a private VCL list for members of the Podling Project Management
+Committee (PPMC) to discuss whether or not someone should be given the
+rights of a committer. A formal vote must happen on this list for you to be
+accepted as a committer.</li>
+</ol>
+<p>Once you have been accepted, your next step is to start contributing stuff!</p>
+<p>{anchor:skip3}[1](1.html)
+ If you only want to contribute documentation, you can skip step #3.
+However, if you later want to start contributing code, you will still need
+to go through step #3 and have a new vote in step #4 before being granted
+commit access to the code repository.</p>
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 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>