This page describes how to install and configure the frontend VCL web code components including the web server prerequisites and frontend VCL web code. It also describes how to add local web accounts, configure LDAP authentication, and set the timezone correctly.


Your web server should meet the following criteria before installing the frontend VCL code:

  • Apache HTTP Server v1.3 or v2.x with SSL enabled - while VCL may run under another webserver capable of running PHP code, it has only been tested to work with Apache HTTP Server
  • PHP 5
  • php modules that should be installed (depending on your Linux distro, some of these may be compiled in to php instead of being a separate module):
    • php-gd
    • php-json (if your PHP version is < 5.2, this is not required)
    • php-mcrypt
    • php-mysql
    • php-openssl
    • php-sysvsem
    • php-xml
    • php-xmlrpc
    • php-ldap (if you will be using ldap authentication)
  • If you are running RedHat or CentOS, these can be installed with
    yum install httpd mod_ssl php-gd php-mcrypt php-mysql php-xml php-xmlrpc php-ldap
  • If you will be using a self-signed certificate for SSL, this is a great HOWTO explaining how to set that up on CentOS.
  • useful to have the server set up to be able to send debugging emails
  • php-mcrypt requires libmcrypt and mcrypt libraries as dependencies. These may need to be installed first.

Installing VCL Frontend Web Code

  1. If you haven't already done so, download and extract a copy of the latest release. There is a link to it under the Project Resources section on our wiki home page. Look for "Current version".
  2. copy the "web" directory to a location somewhere under the web root of your web server:
    cp -r web/ /var/www/html/vcl
  3. copy/rename secrets-default.php to secrets.php
  4. modify vcl/.ht-inc/secrets.php
    • set $vclhost, $vcldb, $vclusername, and $vclpassword to match your database setup
    • create random passwords for $mcryptkey, $mcryptiv, and $pemkey - $mcryptiv must be 8 hex characters
  5. run the script from within vcl/.ht-inc and give it $pemkey from secrets.php as the passphrase (3 times, copy/paste is a good idea here)
  6. copy/rename conf-default.php to conf.php
  7. modify vcl/.ht-inc/conf.php to match your site - COOKIEDOMAIN needs to be the domain name your web server is using, or left blank if you are accessing it by IP only.
    *You really need to modify every entry in the "Things in this section must be modified" part of the file.*
  8. *NOTICE* JpGraph 2.x is no longer available. JpGraph 3.x is released under a dual license. QPL 1.0 (Qt Free Licensee). Free for non-commercial, open-source or educational use (JpGraph Professional License for commercial use). If you are planning to use this for commercial use and don't want to pay for JpGraph, you can safely skip this step with the only side effect of not being able to display a few graphs on the statistics page.
    Download JpGraph from
    • download the 3.x series, extract it, and copy the src directory from it to vcl/.ht-inc/jpgraph
  9. make the .ht-inc/maintenance directory writable by the web server user - i.e. if the httpd process is running as user 'apache' run 'chown apache .ht-inc/maintenance'
  10. open the testsetup.php page in a web browser
  11. debug any issues reported by testsetup.php
  12. now, open the index.php page in your browser
  13. select Local Account and use 'admin' as the user and 'adminVc1passw0rd' as the password
    **Now would be a good time to change the password from the default by going to User Preferences
  14. click the "Management Nodes" link
  15. enter the hostname and IP of your management node
  16. click Add
  17. fill in these additional required fields:
    • 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 - probably just enter "/etc/vcl/vcl.key"
  18. optionally, fill in these unrequired 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
  19. click "Confirm Management Node"
  20. click Submit
  21. click the "Management Nodes" link
  22. select "Edit Management Node Grouping"
  23. click Submit
  24. select the checkbox for your management node
  25. click Submit

Further steps if using only VMWare

Further steps if using xCAT

Next Step: Management Node Installation

Adding extra local accounts

Additional local accounts can now be added using the backend code. After you have finished the backend install, run

vcld -setup

select vcl base module option and follow the prompts.

Adding LDAP Authentication

instructions on LDAP Authentication have been moved to a separate page

  • No labels