Apache VCL > Apache VCL > Documentation > For VCL Administrators > VCL Installation > VCL 2.2.1 Installation > VCL 2.2.1 Web Code Installation

Install & Configure the Web Components


The following instructions assume these tasks have previously been completed:

Web Server:

  • Apache HTTP Server v1.3 or v2.x with SSL enabled
  • PHP 5.0 or later
The VCL web frontend may run under other web server platforms capable of running PHP code, but has only been tested to work with Apache HTTP Server.

Required Linux Packages:

  • httpd - Apache HTTP Server
  • mod_ssl - SSL/TLS module for the Apache HTTP server
  • php - The PHP HTML-embedded scripting language
  • libmcrypt - Encryption algorithms library

Required PHP Modules:

(Some of these may already be included with your PHP distribution)

  • php-gd
  • php-json (required if your PHP version is 5.2 or later)
  • php-mcrypt
  • php-mysql
  • php-openssl
  • php-sysvsem
  • php-xml
  • php-xmlrpc
  • php-ldap (if you will be using LDAP authentication)
  1. Install the Required Linux Packages & PHP Modules

    1. If your web server is running a Red Hat-based OS, the required components can be installed with:
      yum install httpd mod_ssl php php-gd php-mcrypt php-mysql php-xml php-xmlrpc php-ldap -y
      • If you will be using a self-signed certificate for SSL, this is a great HOWTO explaining how to set it up on CentOS
      • It is useful to configure the server to be able to send debugging emails
    2. Configure the web server daemon (httpd) to start automatically:
      /sbin/chkconfig --level 345 httpd on
    3. Start the web server daemon:
      /sbin/service httpd start
    4. If SELinux is enabled, run the following command to allow the web server to connect to the database:
      /usr/sbin/setsebool -P httpd_can_network_connect=1
  2. Install the VCL Frontend Web Code

    1. If you have not already done so, download and extract the source files on the web server:
      wget http://www.apache.org/dist/incubator/vcl/apache-VCL-2.2.1-incubating.tar.bz2
      tar -jxvf apache-VCL-2.2.1-incubating.tar.bz2
    2. Copy the web directory to a location under the web root of your web server and navigate to the destination .ht-inc subdirectory:
      cp -r apache-VCL-2.2.1-incubating/web/ /var/www/html/vcl
      cd /var/www/html/vcl/.ht-inc
    3. apply patch to fix editing reservations
    4. Copy secrets-default.php to secrets.php:
      cp secrets-default.php secrets.php
    5. Edit the secrets.php file:
      vi secrets.php
      • Set the following variables to match your database configuration:
        • $vclhost
        • $vcldb
        • $vclusername
        • $vclpassword
      • Create random passwords for the following variables:
        • $mcryptkey
        • $mcryptiv (must be 8 hex characters)
        • $pemkey
      • Save the secrets.php file
    6. Run the genkeys.sh script.  Enter the value you set for $pemkey in secrets.php as the passphrase (3 times, copy/paste is a good idea)
    7. Copy conf-default.php to conf.php:
      cp conf-default.php conf.php
    8. Modify conf.php to match your site
      vi conf.php
      Modify every entry under "Things in this section must be modified". Descriptions and pointers for each value are included within conf.php.
      • COOKIEDOMAIN - set this to the domain name your web server is using or leave it blank if you are only accessing the web server by its IP address
    9. Set the owner of the .ht-inc/maintenance directory to the web server user (normally 'apache'):
      chown apache maintenance
    10. Open the testsetup.php page in a web browser:
  3. Log In to the VCL Website

    1. Open the index.php page in your browser (https://my.server.org/vcl/index.php)
      • Select Local Account
      • Username: admin
      • Password: adminVc1passw0rd
    2. Set the admin user password (optional):
      1. Click User Preferences
      2. Enter the current password: adminVc1passw0rd
      3. Enter a new password
      4. Click Submit Changes
  4. Add a Management Node to the Database

    1. Click the Management Nodes link
      1. Click Add
      2. Fill in these required fields:
        • Hostname - the value you set for Hostname should match the FQDN line in the /etc/vcl/vcld.conf file on the management node
        • 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 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
      3. 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
    2. Click Confirm Management Node
    3. Click Submit
    4. Click the Management Nodes link
      1. Select Edit Management Node Grouping
      2. Click Submit
      3. Select the checkbox for your management node
      4. Click Submit Changes

Further steps if using only VMWare

Further steps if using xCAT

Adding Local VCL Accounts

Local VCL accounts are contained within the VCL database.  The admin account is a local VCL account.  Additional local accounts can be added via the backend management node code. After you have finished the backend management node installation, run:

vcld -setup
  1. Select VCL Base Module
  2. Select Add Local VCL User Account
  3. Enter the requested information

Adding LDAP Authentication

Follow the instruction on the Adding LDAP Authentication page.

Previous Step: VCL 2.2.1 Database Installation
Next Step: VCL 2.2.1 Management Node Installation