Apache VCL 2.5 ================================================================================ INSTALLATION Please see the INSTALLATION file or the installation guide on the Apache VCL website. (http://vcl.apache.org/docs/VCL25InstallGuide.html) ================================================================================ SYSTEM REQUIREMENTS ------------ VCL WEB SITE ------------ VCL web server Linux packages: * Apache HTTP Server v1.3 or v2.x with SSL enabled * PHP 5.0 or later VCL web server PHP modules: * php-gettext * php-json * php-ldap (only required if using LDAP authentication) * php-mysql * php-openssl * php-xml * php-xmlrpc ------------ VCL DATABASE ------------ VCL has been tested on: * MySQL 5.0 or later * MariaDB 5.0 or later ------------------- VCL MANAGEMENT NODE ------------------- VCL has been tested on the following operating systems: * CentOS release 6.9 (Final) * CentOS Linux release 7.3.1611 (Core) * Red Hat Enterprise Linux Server release 6.8 (Santiago) * Red Hat Enterprise Linux Server release 7.3 (Maipo) Required Linux Packages: The VCL management node daemon (vcld) requires the following Linux packages in order to run. A script is provided to assist with installing them. Several of the packages are required to be able to build and install some of the required Perl modules. * expat-devel * gcc * krb5-devel * krb5-libs * libxml2-devel * make * mysql/mariadb * nmap * openssh * openssl-devel * perl * xmlsec1-openssl The VCL management node daemon (vcld) requires the following Perl modules in order to run. A script is provided to assist in installing them. The script will install as many as possible through package management. Any remaining modules will be installed from CPAN. * Crypt::CBC * Crypt::OpenSSL::RSA * Crypt::Rijndael * DBI * Digest::SHA1 * Exception::Class::Base * Frontier::Client * HTTP::Headers * IO::String * JSON * LWP::UserAgent * Mail::Mailer * Net::Jabber * Net::Netmask * Net::SSH::Expect * Object::InsideOut * RPC::XML::Client * Text::CSV_XS * XML::Simple * YAML The required Perl modules are distributed under one or more of the following licenses: * The "Artistic License" * GNU General Public License (GPL) * GNU Library or "Lesser" General Public License (LGPL) Some of the required Perl modules are included in your Perl distribution. Modules not included in your Perl distribution are available from CPAN (www.cpan.org). See the "Install the Required Linux Packages & Perl Modules" section of the online installation guide for how to use the provided script to install the required Linux packages and Perl modules. Management node system requirements: * DHCP - VCL requires that a DHCP server, configured to listen on the private network, be running on each management node. Management node conditional system requirements: * xCAT provisioning In order to provision bare-metal or physical computers, xCAT must be installed and properly configured. This release supports xCAT 2.x. Imaging support using xCAT 2.x requires additional files. To enable imaging for xCAT 2.x, see the page describing how to add support for partimage and partimage-ng in the Apache VCL wiki. * VMware vCenter provisioning In order to provision virtual machines on VMware vCenter you will need the vSphere SDK for Perl. This can be obtained from: http://www.vmware.com/support/developer/viperltoolkit/ This is not required if provisioning virtual machines on standalone VMware ESX or ESXi hosts. * Windows XP & Windows Server 2003 bare-metal provisioning The Sysprep utility is required to provision Windows XP and Windows Server 2003 bare-metal images. The utility can be downloaded from Microsoft. It is included in newer versions of Windows. Sysprep is not required to provision virtual machine images. * Jabber notifications VCL has the ability to send instant message notifications using Jabber. This feature is optional and can be enabled or disabled by configuring the "jabber=[yes|no]" property in the vcld.conf file. If the Jabber notification feature is enabled, the Net::Jabber Perl module is required. ================================================================================ BUNDLED 3RD PARTY SOFTWARE A copy of Dojo Toolkit version 1.6.2 is included in under web/dojo. Portions of the phpseclib (http://phpseclib.sourceforge.net) project are included under web/.ht-inc/phpseclib. Spyc version 0.5.1 (https://github.com/mustangostang/spyc/) is included under web/.ht-inc/spyc-0.5.1. ================================================================================ TSU NOTIFICATION - Encryption This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See for more information. The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. The following provides additional details on the cryptographic functionality utilized within the Apache VCL software: The frontend website portion of the code utilizes cryptographic functions included in PHP 5.3.0 and later as well as functions provided by third-party PHP libraries to encrypt and decrypt password information stored in the database and to encrypt cookie information passed to and stored in users' browsers. Portions of the third-party phpseclib library are included in the frontend website portion of the code. This library is only used for PHP versions prior to 5.3.0 which do not support PHP's "openssl_encrypt" function. The backend management node portion of the code utilizes functions provided by third-party Perl modules to decrypt password information stored in the database. The backend management node code also uses the SSH protocol and public key authentication to connect to and control compute nodes provisioned by a VCL management node server as well as other hosts that comprise a VCL system such as hypervisors.