VCL 2.5 Installation Guide

VCL 2.5 is the first release to include an installation script. All you need to install
VCL is the script. It will download and validate the VCL software and then install it.
The script can be used to install all three parts of VCL (database, web portal, and
management node) or to install each part individually.

Running the installation script with no arguments will step you through installing all
three parts of VCL. Alternatively, the following explains optional arguments. If
installing the management node part of VCL, it will also prompt you to agree to the
installation of various system level requirements needed for the code to run.

If you have not already done so, follow the instructions on the download
page to download and verify apache-VCL-2.5.tar.bz2, and put it in /root

Extract the files:

tar-jxvfapache-VCL-2.5.tar.bz2

Install MySQL Server or MariaDB Server

Install MySQL or MariaDB Server

yuminstallmysql-server-y

or

yuminstallmariadb-server-y

Configure the database daemon to start automatically:

/sbin/chkconfig--level 345 mysqldon

or

/sbin/chkconfig--level 345 mariadbon

Start the database daemon:

/sbin/servicemysqldstart

or

/sbin/servicemariadbstart

If the iptables firewall is being used and the web server and management nodes
will be on different machines, port 3306 should be opened up to each of those nodes.
Add the following to your iptables config and restart iptables service.Note: Insert your web server and management node IP address in the right locations.

If the firewalld firewall is being used and the web server and management nodes
will be on different machines, port 3306 should be opened up to each of those nodes.
Add the following rules and reload the rule set.Note: Insert your web server and management node IP address in the right locations.

If you set up your site to be https://my.server.org/vcl/ open https://my.server.org/vcl/testsetup.php

Debug any issues reported by testsetup.php

Log In to the VCL Website

Open the index.php page in your browser (https://my.server.org/vcl/index.php)

Select Local Account

Username: admin

Password: adminVc1passw0rd

Set the admin user password (DO NOT skip this step):

Click User Preferences

Enter the current password: adminVc1passw0rd

Enter a new password

Click Submit Changes

Add a Management Node to the Database

Click the Management Nodes link

Select Edit Management Node Profiles

Click Submit

Click Add New Management Node

Fill in these required fields:

Hostname - The name of the management node server. This value doesn't
necessarily need to be a name registered in DNS nor does it need to be the value
displayed by the Linux hostname command. For example, if you are installing all of the
VCL components on the same machine you can set this value to localhost.

IP address - the public IP address of the management node

SysAdmin Email Address - error emails will be sent to this address

Install Path - this is the parent directory under which image files will be
stored - only required if doing bare metal installs or using VMWare with local disks

End Node SSH Identity Key Files - enter /etc/vcl/vcl.key unless you know
you are using a different SSH identity key file

Optionally, fill in these fields:

Address for Shadow Emails - End users are sent various emails about the
status of their reservations. If this field is configured, copies of all of those emails
will be sent to this address.

Public NIC configuration method - this defaults to Dynamic DHCP - if DHCP
is not available for the public interface of your nodes, you can set this to Static.
Then, the IP configuration on the nodes will be manually set using Public Netmask,
Public Gateway, Public DNS Server, and the IP address set for the computer under Manage
Computers

Click Add Management Node

A dialog will pop up informing you to add the management node to a group,
read it and click Close

select the allManagementNodes group on the right

click <-Add

click Close

Install & Configure phpMyAdmin (Optional):phpMyAdmin is a free and optional tool which allows MySQL to be administered
using a web browser. It makes administering the VCL database easier. This tool can be
installed on the VCL web server.
To install phpMyAdmin, follow the instructions on: phpMyAdmin Installation &
Configuration

openssl-devel - Files for development of applications which will use OpenSSL

perl - The Perl programming language

xmlsec1-openssl - OpenSSL crypto plugin for XML Security Library

Required Perl Modules:

The VCL management node daemon (vcld) is written in Perl and has been tested on Perl
5.10 and 5.16. The following Perl modules available from CPAN are also required (see step 2
below for installation instructions):

Note: The script will hang or terminate if it encounters a problem. If this occurs,
you will need to troubleshoot the problem by looking at the output.

The install_perl_libs.pl script included in the VCL distribution will attempt to
download and install the required Linux packages and Perl modules. It uses the yum
utility to install the required Linux packages. The required Perl modules are available
from CPAN - The Comprehensive Perl Archive Network. The install_perl_libs.pl script
attempts to download and install the required Perl modules by using the CPAN.pm module
which is included with most Perl distributions.

The yum utility should exist on any modern Red Hat-based Linux distribution (Red
Hat, CentOS, Fedora, etc). If yum isn't available on your management node OS, you will
need to download and install the required Linux packages manually or by using another
package management utility. After installing the required Linux packages, attempt to
run the install_perl_libs.pl script again.

Configure vcld.conf

Create the /etc/vcl directory:

mkdir/etc/vcl

Copy the stock vcld.conf file to /etc/vcl:

cp/usr/local/vcl/etc/vcl/vcld.conf/etc/vcl

Edit /etc/vcl/vcld.conf:

vi/etc/vcl/vcld.conf

The following lines must be configured in order to start the VCL daemon (vcld)
and allow it to check in to the database:

FQDN - the fully qualified name of the management node, this should match the
name that was configured for the management node in the database

server - the IP address or FQDN of the database server

LockerWrtUser - database user account with write privileges

wrtPass - database user password

xmlrpc_pass - password for xmlrpc api from vcld to the web interface(can be
long). This will be used later to sync the database vclsystem user account

The SSH client on the management node should be configured to prevent SSH processes
spawned by the root user to the computers it controls from hanging because of missing or
different entries in the known_hosts file.

Edit the ssh_config file:

vi/etc/ssh/ssh_config

Set the following parameters:

UserKnownHostsFile /dev/null

StrictHostKeyChecking no

Note: If you do not want these settings applied universally on the management node
the SSH configuration can also be configured to only apply these settings to certain
hosts or only for the root user. Consult the SSH documentation for more information.

After setting the password for the vclsystem user, test that RPC-XML Access works correctly
by selecting

2:TestRPC-XMLAccess

SUCCESS: RPC-XML access is configured correctly should be displayed followed by a long list of
available XMLRPC functions

Install & Configure the DHCP Service

DHCP service is needed for the private network to provide address to provisioned
machines.

Install dhcp if it is not already installed:

yuminstalldhcp-y

Configure the dhcpd service to automatically start at runlevels 3-5:

/sbin/chkconfigdhcpdon

Configure the dhcpd.conf file.

vi/etc/dhcpd.conf-or-vi/etc/dhcp/dhcpd.conf

Configure your dhcpd.conf file according to your network configuration.
The contents of the dhcpd.conf file will vary based on how your network is
configured. Below is an example of a basic dhcpd.conf file:

You will add host definitions to the dhcpd.conf file after you add computers to VCL
using the website. The website allows you to select a set of computers for which to
generate dhcpd.conf information, which can be copied and pasted into the dhcpd.conf file.