Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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
    Code Block
    
    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.

...

  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:
    Code Block
    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 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)
  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 http://www.aditus.nu/jpgraph/jpdownload.php
    • For PHP5, 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 open a browser and 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"
    for "End Node SSH Identity Key Files"
  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
  26. click "Manage Computers"
  27. select the "Add Single Computer" radio button
  28. click Submit (UPDATED TO HERE)
  29. For vmware:
    fill in Hostname, IP Address, owner (admin@Local), RAM, Proc Speed, Network Speed, select "blade" for Type, select "xCAT 1.x Provisioning" for "Provisioning Engine", and click the checkbox under "allcomputers", and "newimages"
        Note: if using using vmware, select "virtualmachine" for Type and "VMWare Server Provisioning" for "Provisioning Engine"
  30. click Confirm Computer
  31. click Submit (don't worry about the fact that the computer you just added isn't listed after clicking Submit)
  32. after you've configured your image library and your management node has started checking in, you should be able to make a reservation

Adding extra local accounts

There's not currently a tool for this. You will need to add entries directly to the database.

  1. add entry to user table
    Code Block
    
    INSERT INTO user (unityid, firstname, lastname, email, lastupdated) VALUES ('myusername', 'myfirstname', 'mylastname', 'myemailaddr', NOW());
    
  2. find out the id generated for that user
    Code Block
    
    SELECT id, unityid FROM user WHERE unityid = 'myusername';
    
  3. add entry to the localauth table
    Code Block
    
    INSERT INTO localauth (userid, salt, passhash, lastupdated) VALUES ('place1', 'place2', 'place3', NOW())
    
    with place1 = id from step 2
    place2 = an 8 char random string
    place3 = sha1sum( desired password with place2 stuck on the end )
    this can be generated under linux like this (using 'thedog' as the password and 11111111 as place2):
    echo -n 'thedog11111111' | sha1sum
    Once a user has been added, the user can go to User Preferences to change his/her password

Adding LDAP authentication

  1. fill in the necessary information in vcl/.ht-inc/conf.php
  2. add an entry to the affiliation table and use the id for that entry as 'affiliationid' for your new entry in vcl/.ht-inc/conf.php
  3. uncomment the 'require_once(".ht-inc/authmethods/ldapauth.php");' line in in vcl/.ht-inc/conf.php

Setting Time Zone

...

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

Code Block

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