blob: 6e8a196566e191a5344b3dfaa895ca35e39f0e64 [file] [log] [blame]
Virtual Computing Laboratory
North Carolina State University, Raleigh, NC 27695, USA
2004-2007 by NC State University. All Rights Reserved.
http://vcl.ncsu.edu
INSTALLATION: V3/Jun07
Please read the README file.
For use license and copyright information see LICENSE and COPYRIGHT files.
3 directories web, mysql, managementnode
prerequisites:
for single server environment.
Linux Host - tested RH Enterprise/Advanced Server 4
- apache httpd with SSL configured
- mysql 5.X with SSL configured
- PHP 5.X with php-mcrypt module
- Perl 5.8
- DHCP (The dhcp service is should be running on a private network.
This is needed to statically assign addresses to the machines.)
NOTE: from the redhat install CD it's easiest to select the install everything
option. With RH package selection, select "Custom", then scroll down to
the bottom and select "Everything".
If using xCAT <xcat.org>
- see install documentation http://xcat.org/doc
VCL is orginally developed in a blade environment using IBM blades and
xcat.
The blade configuration is using:
BladeCenter chassis
two network Layer 2/3 Copper GigE switch modules
HS21 blades
The blades have two network adapters, eth0,eth1
eth0 ideally should be on private network so as to not allow pxe booting
on public or internal campus network.
In a single blade chassis environment a public switch is needed. For
multiple chassis's two switches are needed:
one public
one for interconnecting chassis on private network.
******* WARNING *********
Detailed documentation is still in progress, the below steps should be enough to
get started.
************************
Importing/configuring database and web application:
1) create a database in mysql named vcl
(CREATE DATABASE vcl;)
2) create a user with SELECT, INSERT, UPDATE, and DELETE privileges on the database from #1
(GRANT SELECT,INSERT,UPDATE,DELETE ON vcl.* TO '<insert user here>'@'localhost' IDENTIFIED BY '<insert pwd here>';)
3) import mysql/vcl.sql file into database
(mysql vcl < vcl.sql)
4) copy web somewhere under webroot
(cp -R web /var/www/html/vcl)
5) modify vcl/.ht-inc/secrets.php to match your database setup; also create random passwords for $mcryptkey, $mcryptiv, and $pemkey
6) run the genkeys.sh script from within vcl/.ht-inc and give it $pemkey from secrets.php as the passphrase (3 times)
7) modify vcl/.ht-inc/conf.php to match your site
8) download jpgraph from http://www.aditus.nu/jpgraph/jpdownload.php
if you are using PHP5, download the 2.x series, extract it, and copy the src directory from it to vcl/.ht-inc/jpgraph
if you are using PHP4, download the 1.x series, extract it, and copy the src directory from it to vcl/.ht-inc/jpgraph.old
9) download version 0.4.0 of Dojo Toolkit: http://download.dojotoolkit.org/release-0.4.0/dojo-0.4.0-ajax.tar.gz
extract it under the vcl directory and rename "dojo-0.4.0-ajax" to "dojoAjax"
10) download version 1.1.0 of Dojo Toolkit: http://download.dojotoolkit.org/release-1.1.0/dojo-release-1.1.0.tar.gz
extract it under the vcl directory and rename "dojo-release-1.1.0" to "dojo"
11) if you want to be able to edit any of the documentation that comes bundled with the vcl web code, download fckeditor from http://www.fckeditor.net/download
extract it under the vcl directory
12) open a browser and go to the URL you set up; use 'admin' as the user and 'adminVc1passw0rd' as the password
13) click the "Management Nodes" link
14) enter the hostname and IP of your management node
15) click Add
16) click Submit
17) click the "Management Nodes" link
18) select "Edit Management Node Grouping"
19) click Submit
20) select the checkbox for your management node
21) click Submit
22) click "Manage Computers"
23) click the 'Add' button
24) fill in Hostname, IP Address, 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"
25) click Confirm
26) click Submit (don't worry about the fact that the computer you just added isn't listed)
27) after you've configured your image library and your management node has started checking in, you should be able to make a reservations
Management node - vcld
28) To install the perl code extract the vcl.tar.gz , any
location should be fine (/usr/local/, /root, ... etc)
29) cd to the lib directory /PATH/vcl/lib/VCL
30) copy configuration directory file to /etc: cp -r <PATH>/vcl/etc/vcl /etc
31) modify /etc/vcl/vcld.conf
at a minimum you'll need to add the database information:
database,server,User,user's password
32) Modify the startup script. S99vcld.linux to include the installation
path.
33) run the S99vcld.linux script i.e. S99vcld.linux start
34) drivers for loading Windows images onto different hardware than they were created on can be extracted under the Drivers directory of each Sysprep type under the tools directory
Image creation:
The images listed in the VCL menu are only placeholders.
Images/Environments need to be created.
For information on creating images, please visit:
http://vcl.ncsu.edu/node/16
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
INSERT INTO user (unityid, firstname, lastname, email, lastupdated) VALUES ('myusername', 'myfirstname', 'mylastname', 'myemailaddr', NOW());
2) find out the id generated for that user
SELECT id, unityid FROM user WHERE unityid = 'myusername';
3) add entry to the localauth table
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
Adding LDAP authentication
1) fill in the necessary information in vcl/.ht-inc/conf.php
2) modify the user table in the vcl database and change the 'vcladmin' user's information to match information of the main site admin
3) uncomment the 'require_once(".ht-inc/authmethods/ldapauth.php");' line in in vcl/.ht-inc/cconf.php