hive            Code |FrontPage |HiveTraits

QuickTutorial

What you need.


Machines

* One Machine to act as the HiveHome
* Other Machines that will be HiveClients.

Assuming the machine acting as HiveHome is named as hivehome..

Required Tools

* Ruby 1.8.4 or above installed on all the machines
* Svn Installed in HiveHome
* A webserver setup in HiveHome
* Wget Installed on all HiveClients.
* An IRC Client to monitor the hive

HiveHome Installation

* Svn checkout
  Checkout the svn of hive to a directory /public/ in the hivehome
    |svn checkout http://ruby-hive.googlecode.com/svn/trunk/hive

  This will create a directory called /public/hive.

* WebServer
Configure the webserver to serve /public/hive as http://hivehome/hive
start the webserver.

*wwwd.rb
require 'webrick'
include WEBrick
def start_webrick(config = {})
    server = HTTPServer.new(config)
    yield server if block_given?
    ['INT', 'TERM'].each do |signal|
        trap(signal) {server.shutdown}
    end
    server.start
end
start_webrick(:DocumentRoot => '/public/hive')

    |ruby wwwd.rb
[2007-06-16 13:48:26] INFO  WEBrick 1.3.1
[2007-06-16 13:48:26] INFO  ruby 1.8.4 (2005-12-24) [i386-freebsd6.1]
[2007-06-16 13:48:26] INFO  WEBrick::HTTPServer#start: pid=1386 port=80

* Configure HiveHome
edit the /public/hive/config.rb and change the $config['home'] to the hivehome machine name.
$config['home'] = 'hivehome.com'
* Startup HiveHome
-v is verbose.
    |ruby hivehome.rb -v

HiveClients Installation

Login to each hiveclients and repeat this.
    |mkdir /hive
    |cd /hive
    |wget http://hivehome/hive/hiveclient.rb
    |cat > .hiverc
$base = 'http://hivehome/hive/'
^D

    | ruby hiveclient.rb -v

This will start the hivelcients and they will log into the hivehome irc server.

Monitoring.

Start your IRCClient and log on to hivehome.com
Join the channel #hive in that server. You should see a list all hiveclients in that channel with the names prefixed
with '_'

Verify every thing works

in the #hive channel, type the below command
   !do $my:name $my:os $sys:pwd

This should output the name os and the starting directory of all the hiveclients.