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 - 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 ''@'localhost' IDENTIFIED BY '';) 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 /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