****************************************
CloudToolbox README file
****************************************
The CloudToolbox web application provides a simple system to manage and control users dynamic instantiation of VMs on a generic cloud. The systems handles final VM user management (on behalf of the cloud provider), users quota, machines templates, gathering of statistings and automatic shutdown of the VMs when not in use.
Using the CloudToolbox web application, an user can request a VM on the cloud, according to a given template. The administrator will then create the machine on the cloud system and associate it to the requester user account with a given amount of resources (ex. limited time, limited cost, etc...). The user will then be able to start and stop the machine from the CloudToolbox web interface when needed, and use it until the resources assigned are over and the machine expires. When the machine is not in use, the CloudToolbox will automatically undeply it, saving costs on the cloud provider
*License:
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Requirements:
Application requirements are:
* Tested on Linux RHEL 5/6 OS (Any linux distribution with PHP 5.3 should be supported)
* Apache + mod_ssl > 2.2.
* PHP 5.3.x with php-ldap, php-pdo and php-xml extensions
To install the required COTS in a fresh RHEL 5/6 installation, you can execute the following command:
* yum install -y httpd mod_ssl php php-pdo php-ldap php-xml
Installation:
1. Disable SELinux on the machine, by setting the enforcing parameter to disabled into the /etc/selinux/config file
2. Create an user named ctbx member of the apache group with standard privileges (NOTE: The user name ctbx is the name of the user who will be used to install and administer the application. Any other username could be used, the important thing is that the apache user could read the user home directory)
useradd -G apache ctbx -d /var/ctoolbox
3. Impersonate the ctbx user and copy into its home directory the application package ctoolbox-{version}.tgz
4. Uncompress the application package into the home of the user with
tar xvzf ctoolbox-{version}.tgz
5. As root user, install the apache configuration file with
ln -s ~ctbx/etc/apache.conf /etc/httpd/conf.d/ctbx.conf
6. As root user, restart apache with
service httpd restart
7. As root user, install the application daemon and set it in automatic startup
ln -s ~ctbx/bin/daemon /etc/init.d/cloudtoolbox
chkconfig --add cloudtoolbox
chkconfig cloudtoolbox on
service cloudtoolbox start
8. With your browser, access the web server main page from the local machine (you can achieve this via a SSH tunnel, via the machine GUI interface or via X11 forwarding), then follow the instructions on the screen to complete the application installation.
9. Be sure to execute the shell operations displayed as WARNING in the web installation procedure (if any present). For example, for the current application version, the shell operations to execute at the end of the web installation are:
echo -n '1.0' > app/VERSION
mv www/install.php app/install.php
10. Configure the application, as described in the System Administration section of this document.
Administration:
* General configuration
CloudToolbox system configuration is stored inside a set of PHP files in the etc/ application directory, with the naming convention config.*.php. You can edit these file manually or directly from the application web interface