What is HUBzero?
HUBzero is a platform used to create dynamic web sites for scientific research and educational activities. With HUBzero, you can easily publish your research software and related educational materials on the web. Powerful middleware serves up interactive simulation and modeling tools via your web browser. These tools can connect you with rendering farms and powerful Grid computing resources.
Minimum System Requirements
HUBzero installations require one or more dedicated physical hosts running Debian GNU/Linux 6.0. In particular there are version specific requirements on mysql (5.1), python (2.6) and php (5.3).
Other distributions might theoretically work with some modification, although they would be totally unsupported.
A typical starter HUBzero installation might consist of a single physical server with dual 64-bit quad-core CPUs, 16 Gigabytes of RAM and a terabyte of disk.
It is possible to run HUBzero inside of a virtual machine such as ones created by VMware and VirtualBox. While fully functional there will would significant performance and resource limitations in such an environment. For demonstration or development purposes we often create VM images with less than a gigabyte of RAM and 5 gigabytes of disk. While fully functional, these virtual machines would only be suitable for a single user doing development or testing.
This document and the installation and maintenance of a HUBzero system has a target audience of experienced Linux administrators (preferably experienced with Debian GNU/Linux).
How To Get Source Code
This is optional
You'll find most of the source code within the web root of a working hub. But you can get source code for the middleware and all other parts of HUBzero by retrieving the source code packages using the debian package manager. To do so, first, update your package mechanism to pull packages from our HUBzero repository (codename 'manny' for this release). Edit your /etc/apt/sources.list and add the following line::
deb-src http://packages.hubzero.org/deb manny main contrib non-free
Then, install the hubzero archive key so that your system can verify packages from the hubzero archive. Run the following command as root:
wget http://packages.hubzero.org/deb/hubzero-signing-key.asc -q -O - | apt-key add -
Once the public key for http://packages.hubzero.org has been installed, you can request the hubzero source code for each package:
apt-get source packageName
where packageName is the desired package from the table below.
The following packages (subject to change): are available from the HUBzero repository for this release. Not all are necessarily used for any given installation.
|hubzero-app||Command line tool to manage installation/publishing of HUBzero apps|
|hubzero-app-workspace||HUBzero App providing a lightweigth Linux desktop, for app/tool development|
|hubzero-chuse||HUBzero graphical front end to the user environment manager 'use'|
|hubzero-cli||HUBzero command line interface|
|hubzero-cms||The HUBzero Content Management System (based on Joomla! framework)|
|hubzero-expire-sessions||Expires unused app/tool sessions|
|hubzero-filexfer||Transfer files between App Sessions and user's desktop|
|hubzero-filexfer-xlate||Support daemon for the filexfer program|
|hubzero-firewall||HUBzero firewall that protects app/tool sessions|
|hubzero-forge||Creates project areas for tool development|
|hubzero-icewm||Linux ICE window manager configuration, used in workspaces|
|hubzero-icewm-captive||Linux ICE window manager specially crafted to support tools in a sessions|
|hubzero-icewm-themes||The HUBzero Linux ICE window manager theme, used in workspaces|
|hubzero-invokeapp||HUBzero application invoke script|
|hubzero-mailgateway||HUBzero mail gateway|
|hubzero-metrics||HUBzero metrics support package|
|hubzero-mw-client||HUBzero middleware - client|
|hubzero-mw-service||HUBzero middleware - execution host session manager|
|hubzero-mw-session||HUBzero middleware - per session tools|
|hubzero-openldap||OpenLDAP configuration package for HUBzero|
|hubzero-policyrcd||HUBzero policy-rc.d for invoke-rc.d|
|hubzero-python||HUBzero python API module|
|hubzero-rappture||The Rapid APPlication infrastrucTURE toolkit for building scientific tools|
|hubzero-rappture-session||Session support packages for Rappture|
|hubzero-ratpoison-captive||Linux window manager, used in app/tool sessions|
|hubzero-submit-client||HUBzero submit client|
|hubzero-submit-common||HUBzero submit common python library|
|hubzero-submit-condor||HUBzero condor build for hubzero-submit|
|hubzero-submit-distributor||HUBzero middleware submit distributor|
|hubzero-submit-pegasus||HUBzero pegasus build for hubzero-submit|
|hubzero-submit-server||HUBzero job submission server|
|hubzero-subversion||HUBzero Subversion support package|
|hubzero-telequotad||Disk quota monitor|
|hubzero-texvc||Helper utility to generate math fomulas for wiki markup|
|hubzero-trac||HUBzero Trac support package|
|hubzero-trac-mysqlauthz||Plug-in for MySQL user auth in project development areas|
|hubzero-twm-captive||Linux TWM window manager, used in app/tool sessions|
|hubzero-use||Command for configuring the environment within a workspace|
|hubzero-use-apps||HUBzero apps environment for 'use'|
|hubzero-usermap||File permission mapping FUSE filesystem used by WebDAV|
|hubzero-vncproxy||HUBzero VNC proxy helper|
|hubzero-vncproxyd||HUBzero VNC proxyserver|
|hubzero-webdav||HUBzero WebDAV support package|
|libapache2-vncproxy||HUBzero vncproxy module for apache2-mpm-prefork|
|tightvnc-java||Modified VNC Client that receives app/tool sessions within a web browser|
|vnc4server||Modified VNC Server that sends app/tool sessions to the web browser|