head	1.2;
access;
symbols
	TIGRIS_1_1_0RC2:1.2
	TIGRIS_1_1_0RC1:1.2
	TIGRIS_1_1:1.2.0.10
	TIGRIS_1_0_8:1.2
	TIGRIS_1_0_8RC3:1.2
	TIGRIS_1_0_8RC2:1.2
	TIGRIS_1_0_8RC1:1.2
	TIGRIS_1_0_7:1.2
	TIGRIS_1_0_7RC3:1.2
	TIGRIS_1_0_7RC2:1.2
	TIGRIS_1_0_7RC1:1.2
	TIGRIS_1_0_6:1.2
	TIGRIS_1_0_6RC5:1.2
	TIGRIS_1_0_6RC4:1.2
	TIGRIS_1_0_6RC3:1.2
	TIGRIS_1_0_6RC2:1.2
	TIGRIS_1_0_6RC1:1.2
	TIGRIS_1_0_5:1.2
	TIGRIS_1_0_5RC6:1.2
	TIGRIS_1_0_5RC5:1.2
	TIGRIS_1_0_5RC4:1.2
	TIGRIS_1_0_5RC3:1.2
	TIGRIS_1_0_5RC2:1.2
	TIGRIS_1_0_5RC1:1.2
	TIGRIS_1_0_4:1.2
	TIGRIS_1_0_3:1.2
	TIGRIS_1_0_2:1.2
	TIGRIS_1_0_1:1.2
	TIGRIS_1_0:1.2.0.12
	TIGRIS_1_0_0:1.2
	TIGRIS_1_0_0_RC1:1.2.0.8
	dlr:1.1.1
	TIGRIS_0_9_2_5:1.2
	TIGRIS_0_9_2_4:1.2
	TIGRIS_0_9_2_3:1.2
	HELM_PEER_PORT_BRANCH:1.1.1.2
	TURBINE_PEER:1.2
	TIGRIS_0_9_2_1:1.2
	TIGRIS_0_9_2:1.2.0.6
	TIGRIS_0_9_0:1.2.0.4
	TIGRIS_0_8_4:1.2.0.2
	NEWHELM:1.1.1.1
	TIGRIS_NOV_12_2000:1.1.1
	OLDHELM:1.1.0.4
	TIGRIS_NOV_11_2000:1.1
	TIGRIS_SEP_13_2000:1.1.0.2
	TIGRIS_BASELINE:1.1;
locks; strict;
comment	@# @;


1.2
date	2000.11.12.22.57.29;	author dlr;	state Exp;
branches;
next	1.1;

1.1
date	2000.02.07.23.59.21;	author jrobbins;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2000.11.12.21.13.42;	author dlr;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2001.02.21.00.27.16;	author dlr;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Resolved merge conflicts.
@
text
@newHelm Installation Document
$Id: INSTALL,v 1.1.1.1 2000/11/12 21:13:42 dlr Exp $

Rudimentary Installation Instructions

- Follow the sandbox installation procedure until you are directed here.

- Build and install newHelm.  Note that a symlink is required, as shown:
    cd $SANDBOX/
    ln -s newhelm helm
    cd newhelm
    make
    make install

- Create the database entries.  You'll need the mysql root password for this:
    cd $SANDBOX/newhelm/scripts
    ./create_tigris_database
    
- Proceed with the rest of the steps from the Sandbox Installation Document.

If things don't work to your liking, please don't hestitate to fix them.  If 
this installation document does not reflect reality, please make the 
appropriate changes (or at the very least contact someone who can).
@


1.1
log
@initial checkin
@
text
@d1 2
a2 2
Helm Installation Instructions
--------------------------------
d4 1
a4 1
February 1, 2000
d6 1
a6 6
STEP #1: Prerequisite Software
------------------------------
Before installing Helm, the following software must also be installed
on the Helm host system. These should all be easily locatable and
downloadable from the Internet. We are working hard to make Helm easier
to install, so if you have trouble, please let us know.
d8 16
a23 217
These packages may have other dependencies; please follow the installation
instructions of each package closely. Install the software in locations
that are convenient for you; all file paths that Helm uses are fully
customizable.

Note that the versions identified here are the ones for which Helm was
developed. Earlier or later versions of the same software may also work,
but use at your own risk.

* MySQL 3.22.23b
http://helm.tigris.org/download/MySQL-3.22.27-1.i386.rpm
http://helm.tigris.org/download/MySQL-devel-3.22.27-1.i386.rpm
http://helm.tigris.org/download/MySQL-client-3.22.27-1.i386.rpm

* qmail 1.03
http://helm.tigris.org/download/qmail-1.03.tar.gz

* ezmlm 0.53
http://helm.tigris.org/download/ezmlm-0.53.tar.gz

* ezmlm-idx 0.322 (be sure and install with MySQL support)
http://helm.tigris.org/download/ezmlm-idx-mysql-0.53.324-1.i386.rpm

* Perl 5.005_03
http://www.perl.org/

* DBI-1.12
* Msql-Mysql-modules-1.2200
* Rcs-0.09 (may no longer be required)
http://www.cpan.org/

* CVS 1.10.6 (with Helm patch -- see below)
http://www.cyclic.com/

* CGI.pm
http://www.perl.org/

* JDK 1.1
http://java.sun.com/products/jdk/1.1/

* JDK 1.1 Collections
http://helm.tigris.org/download/collections1_1.zip

* JSDK 2.0
http://helm.tigris.org/download/jsdk20-solaris2-sparc.tar

* mm.mysql JDBC 1.1i
http://helm.tigris.org/download/mm.mysql.jdbc-1.2b.tar.gz

* Apache 1.3.6 (compile with mod_jserv module, see next entry)
http://www.apache.org/dist/apache_1.3.9.tar.Z

* Apache-JServ 1.0 or 1.1
http://helm.tigris.org/download/ApacheJServ-1.1.tar.gz

* WebMacro
http://helm.tigris.org/download/webmacro.jar

* Village
http://helm.tigris.org/download/village.jar

Helm Patches

Some of the software needs to be patched from the standard
distributions to work with Helm. These patches are noted as follows:

* CVS: cd /path/to/source/of/cvs-1.10.6; patch -p1 < cvspatches/cvs.patch
  This patch enables CVS password files to work using MySQL databases
  instead of a flat file and enables Helm acls for access
  control. Commit this patch before compiling CVS;
  you will need to use the --enable-mysql and --enable-helm
  options to configure.

  Also contains other patches that enable acls and all sorts of extra
  stuff that Helm uses.

Step #2: The Helm Database
----------------------------
Set up a mysql database for Tigris, along with a username (with
password) that has full privileges for the domain (see the MySQL
documentation). For example:

        $ mysqladmin create tigris
        $ mysql -u root mysql
        mysql> GRANT ALL PRIVILEGES ON tigris.* TO tigris@@localhost
                   IDENTIFIED BY 'password';

To create the proper tables, run the SQL commands in
build_database.sql. e.g.,:

        $ mysql -u tigris -p tigris < sql/build_database.sql

Note that in order to bootstrap Helm, you will need an initial user
with full privileges. It goes something like this:

     $ mysql -u tigris -p tigris
     mysql> INSERT INTO domain_users VALUES ('username',
                 PASSWORD('password'), 'email@@address', 'Real Name',
                 NULL);
     mysql> INSERT INTO domain_privs VALUES ('username', 'Y', 'Y',
                 'Y', 'Y', 'Y', 'Y');
     mysql> INSERT INTO User VALUES (1,'username',PASSWORD('password'),
            'Real Name','Optional Address','','City','CA','94901','Country','Country',
            '000-000-0000','','000-000-0000','000-000-0000','',
            'User Email Address',20000117010840,19990428154611);
     mysql> INSERT INTO UserRole VALUES (1,10);


Step #3: Configuring the Software
---------------------------------

The Helm system needs three unix users: one for Apache (note that the
Apache httpd need not run as this user), one for CVS, and one for
Qmail. They should all also be members of a group specific to the
domain.  I use usernames tigrisa, tigrisc, tigrisq, with group tigris.

* Helm configuration files (and other stuff):

You will need to edit the following files to represent your setup. The
necessary lines to be edited are all marked with CONFIG and
instructions, so search for it:

conf/helm.conf
perl/cgi/update.cgi
perl/Helm/Config.pm
conf/WebMacro.properties
conf/jserv.conf
conf/jserv.properties
conf/helm-site.properties
conf/helm-zone.properties
cvspatches/root/log_accum

* Apache:

Add the line "Include /path/to/helm/conf/helm.conf" to your
httpd.conf. This file contains all necessary configuration information
for Apache and for JServ.

The htdocs directory, as specified in the config table, should be
owned and writable by the Helm CVS user (not the Helm Apache
user). Note that this need not necessarily be the same directory
actually listed in the DocumentRoot directive in httpd.conf.

(NB that this sets up the servlets to be available under /helm - to
log in, go to http://hostname/helm/TLogin)

* CVS:
(in addition to the patch above)
The CVS root should be set up a directory owned by the Helm CVS
user, and all files within it should be owned by that user.

The CVSROOT module must be set up in a very specific way in order for
Helm to work properly:

1. The files in helm/cvs/root should be added to CVSROOT, and to the
   checkoutlist file (so that they can be properly used)

2. CVSROOT/loginfo,v should be removed, and loginfo made writeable
   (chmod +w) by the Helm CVS user (which should already own the
   file).  For some reason, keeping this file under RCS management
   doesn't work with the way Helm udpates the file right now. This
   will be fixed in a future release.

3. CVSROOT/history must be made world-writable. For some reason, this
   seems to be necessary, although it shouldn't be. I believe it is a
   bug in CVS related to the problem referenced in item 2 above.

4. Make the directory CVSROOT/commitlogs

5. So that the files are used by CVS, the following entries need to be
   made in the following CVSROOT module files:

commitinfo:
ALL $CVSROOT/CVSROOT/commit_prep

editinfo:
DEFAULT $CVSROOT/CVSROOT/cvsedit

rcsinfo:
ALL $CVSROOT/CVSROOT/rcstemplate

config:
MysqlUser=<helm db user>
MysqlPasswd=<helm db passwd>
MysqlDB=<helm db>
MysqlDefaultUser=<helm CVS user>
MysqlPasswdTable=domain_users
MysqlUsernameCol=username
MysqlPasswdCol=password
MysqlEncrypt=mysql

Further, when setting up the pserver entry in inetd.conf, you must add
the -L option. And run it as the domain CVS user, not as root (this helps
with security).

* Qmail

You will need to set up several of the control files in qmail for the
domain and project hosts.

* Add each domain name (domain.org, project1.domain.org,
project2.domain.org, etc...) to control/rcpthosts.
* Add "domain.org:<helm-qmail-user>" to control/virtualhosts
* Add "project.domain.org:<helm-qmail-user>-project" to
control/virtuahosts for each project
* Add each virtual host to a line in /etc/hosts.allow of the form
tcp-env: 127.0.0.1, VHOST, VHOST, VHOST : setenv = RELAYCLIENT
Where VHOST is the FQDN of a virtual host.

The project domains part should be automated at some point. At this
time they are not. But since you'll have to set up DNS anyway, this
extra step shouldn't be too much of a problem.

Step #4: Try It Out
-------------------
At this point, you should be able to start Apache and go to
http://<yourhost>/helm/TView?page=index.html.
@


1.1.1.1
log
@Merging newhelm tree into helm, as per IZ issue #557.  Previous major version of helm is tagged TIGRIS_NOV_11_2000.
@
text
@d1 2
a2 2
newHelm Installation Document
$Id: INSTALL,v 1.1 2000/10/20 00:15:59 edk Exp $
d4 1
a4 1
Rudimentary Installation Instructions
d6 6
a11 1
- Follow the sandbox installation procedure until you are directed here.
d13 217
a229 16
- Build and install newHelm.  Note that a symlink is required, as shown:
    cd $SANDBOX/
    ln -s newhelm helm
    cd newhelm
    make
    make install

- Create the database entries.  You'll need the mysql root password for this:
    cd $SANDBOX/newhelm/scripts
    ./create_tigris_database
    
- Proceed with the rest of the steps from the Sandbox Installation Document.

If things don't work to your liking, please don't hestitate to fix them.  If 
this installation document does not reflect reality, please make the 
appropriate changes (or at the very least contact someone who can).
@


1.1.1.2
log
@Replacing the HEAD with the HELM_PEER_PORT_BRANCH.
@
text
@d2 1
a2 1
$Id: INSTALL,v 1.2 2000/11/12 22:57:29 dlr Exp $
@


