Title: 2.2 Web Code Installation
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.
## Prerequisites
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 ](http://wiki.centos.org/HowTos/Https)
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 release.
There is a link to it on our [download page](/downloads/download.cgi).
1. copy the "web" directory to a location somewhere under the web root of
your web server:
cp -r web/ /var/www/html/vcl
1. copy/rename secrets-default.php to secrets.php
1. 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
1. run the genkeys.sh 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)
1. copy/rename conf-default.php to conf.php
1. 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.**
1. **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 [http://www.aditus.nu/jpgraph/jpdownload.php](http://www.aditus.nu/jpgraph/jpdownload.php)
* download the 3.x series, extract it, and copy the src directory from it
to vcl/.ht-inc/jpgraph
1. 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'
1. open the testsetup.php page in a web browser
* i.e. if you set up your site to be **https://my.server.org/vcl/** open
**https://my.server.org/vcl/testsetup.php**
1. debug any issues reported by testsetup.php
1. now, open the index.php page in your browser
1. 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
1. click the "Management Nodes" link
1. enter the hostname and IP of your management node
1. click Add
1. 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"
1. 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
1. click "Confirm Management Node"
1. click Submit
1. click the "Management Nodes" link
1. select "Edit Management Node Grouping"
1. click Submit
1. select the checkbox for your management node
1. click Submit
[Further steps if using only VMWare](further-steps-if-using-only-vmware.html)
[Further steps if using xCAT](further-steps-if-using-xcat.html)
Next Step: [Management Node Installation](2.2-management-node-installation.html)
## 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 [Adding LDAP Authentication](adding-ldap-authentication.html)
have been moved to a separate page