Revision: 13817
          http://gate.svn.sourceforge.net/gate/?rev=13817&view=rev
Author:   ian_roberts
Date:     2011-05-09 22:37:05 +0000 (Mon, 09 May 2011)

Log Message:
-----------
Installation notes.

Added Paths:
-----------
    teamware/trunk/doc/installation.html
    teamware/trunk/doc/installation.yam

Added: teamware/trunk/doc/installation.html
===================================================================
--- teamware/trunk/doc/installation.html                                (rev 0)
+++ teamware/trunk/doc/installation.html        2011-05-09 22:37:05 UTC (rev 
13817)
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd";>
+<!-- AUTOGENERATED FILE: ALL EDITS WILL BE LOST!!! -->
+<html lang="en">
+<head>
+<meta name="generator" content="cow"/>
+<title>Installing GATE Teamware</title>
+<style type="text/css">
+/*<![CDATA[*/
+<!--
+html, body {
+  background: #fff;
+  color: #000;
+  font-family: sans-serif;
+}
+h1,h2,h3,h4,h5,p,ul,ol { font-family: sans-serif; }
+pre { font-family: monospace; }
+h3.navhead {
+  font-size: 100%;
+}
+div.banner {
+  border: none;
+  margin-right: 0px;
+  margin-left: 0px;
+  padding: 0.09em;
+  text-align: center;
+  font-weight: bold; 
+}
+div.banner a:link, div.banner {
+  background: #A0D0F0;
+  color: #000000;
+}
+div.banner a:active {
+  background: #000000;
+  color: #FFFFFF;
+}
+div.banner a:hover {
+  background: #000000;
+  color: #FFFFFF;
+-->
+/*]]>*/
+</style>
+</head>
+<body bgcolor="#FFFFFF" text="#000000">
+<h1 class="cow-title-heading">Installing GATE Teamware</h1>
+
+<div class="cow-contents"><h2 class="cow-heading">Contents</h2>
+<p><ul>
+<li><a href="#section-1.">1. Introduction</a></li>
+<li><a href="#section-2.">2. Requirements</a></li>
+<li><a href="#section-3.">3. Building the installer</a></li>
+<li><a href="#section-4.">4. Installing Teamware</a></li>
+<li><a href="#section-5.">5. Customizing the installer build</a></li>
+<li>&nbsp;&nbsp;<a href="#section-5.1.">5.1. Code signing</a></li>
+<li>&nbsp;&nbsp;<a href="#section-5.2.">5.2. Configuring Teamware for 
HTTPS</a></li>
+</ul></p></div>
+<a class="cow-section-anchor" name="section-1."></a><h1 
class="cow-heading"><span class="cow-sec-number">1. </span>Introduction</h1>
+
+<p>While the bundled tomcat6 is useful for running GATE Teamware in development
+mode, in production systems you will probably need to deploy Teamware to a
+standalone server.  The &quot;dist&quot; target in the top-level Teamware 
build file
+produces a graphical installer that can be used to install teamware into an
+existing Tomcat and MySQL setup, and the following sections of this document
+describe the requirements that must be in place on the production server before
+deploying Teamware, and the installation process itself.</p>
+<a class="cow-section-anchor" name="section-2."></a><h1 
class="cow-heading"><span class="cow-sec-number">2. </span>Requirements</h1>
+
+<p>A server that will be hosting GATE Teamware requires the following:</p>
+
+<ul>
+<li>A recent Java 6 JDK (Sun/Oracle or OpenJDK), 1.6.0<span 
class="cow-escape">_</span>14 or later.</li>
+<li>An installation of Apache Tomcat 6 (Teamware should work with any Tomcat of
+  version 5.5 or later but has been tested only with 6.0.x).
+  <ul>
+  <li>To work with the installer, the server configuration must use the default
+    &lt;Engine&gt; name &quot;Catalina&quot; and the default &lt;Host&gt; name 
&quot;localhost&quot;.  If your
+    tomcat does not use these names manual intervention will be required after
+    the installer is run to rename the configuration files.</li>
+  </ul></li>
+<li>A MySQL server, with a user account that has been granted &quot;ALL 
PRIVILEGES&quot; on
+  a database.  The installer will create and populate this database during
+  Teamware installation.</li>
+<li>A directory to store the non-database persistent data for Teamware, which
+  must be readable and writeable by the user account under which the Tomcat
+  server runs.  The doc-service searchable datastore is stored here, which
+  requires disk space up to ten times the total size of the documents stored.
+  On a development system this defaults to ~/safe/{instancename}.</li>
+</ul>
+
+<p>The various components of Teamware need to communicate with one another at
+runtime, so if your Tomcat is running behind a front-end proxy (typically
+Apache HTTPD) then it is useful to configure a second non-proxy-aware
+&lt;Connector&gt; in the Tomcat configuration so this inter-service 
communication can
+go direct to localhost rather than having to go through the proxy server.  This
+is especially important if the front-end proxy uses SSL.</p>
+<a class="cow-section-anchor" name="section-3."></a><h1 
class="cow-heading"><span class="cow-sec-number">3. </span>Building the 
installer</h1>
+
+<p>To build the GATE Teamware installer, start with a fresh checkout of the
+relevant version of the Teamware source code.  It is especially important that
+the <tt>tomcat6</tt> directory is <em>completely</em> clean and does not have 
any left-over
+<tt><em>anything</em>-webapps</tt> directories or 
<tt>conf/Catalina/localhost</tt> configuration
+files.</p>
+
+<p>To build an installer for the default &quot;cloud-tw&quot; installation of 
GATE Teamware,
+run:</p>
+
+<pre>
+ant -propertyfile install.properties dist
+</pre>
+
+<p>The installer will be placed in dist/install.jar.  To build an installer 
for an
+installation other than the default cloud-tw, you need to provide additional
+system property definitions to ant.  For the installation specified in
+<tt>installations/myinstance</tt>, specify 
<tt>-Ddefault.instance.name=myinstance</tt>.  For
+an installation specified by an instance directory that is <em>not</em> under 
the
+<tt>installations</tt> directory you must additionally specify
+<tt>-Ddefault.instance.project.dir=/path/to/myinstance</tt>.  Note that this is
+different from installing a non-default instance into the bundled tomcat6 -
+when building the installer you <b>must not</b> provide 
<tt>-Dinstance.name=...</tt>, as
+the installer build uses a special dummy value for this property.</p>
+<a class="cow-section-anchor" name="section-4."></a><h1 
class="cow-heading"><span class="cow-sec-number">4. </span>Installing 
Teamware</h1>
+
+<p>To install GATE Teamware, copy the generated install.jar to the production
+server and run it (using java -jar) as a user that has write permission to the
+Tomcat directory and the intended data directory.  This will present a
+graphical installer which will prompt you for various settings.  The first page
+asks for:</p>
+
+<ul>
+<li>The location of your Tomcat installation.  This is the top directory, i.e.
+  the parent of of bin, conf, webapps, etc.</li>
+<li>The instance name for the target installation.  Obviously, the services and
+  settings installed will be those for the installation that was specified when
+  the installer was built, but this option allows you to configure the context
+  path under which the Teamware web applications will be deployed.  For
+  example, setting this to &quot;customtw&quot; will make the executive 
available at
+  <span 
class="cow-escape">h</span>ttp://someserver.com/customtw/executive/</li>
+<li>The data directory described above, where the datastore and other
+  non-database persistent data will be stored.</li>
+</ul>
+
+<p>The second page asks for the public and private <em>URL base</em> patterns. 
 These are
+the protocol, host and possibly port number at which your Teamware will be
+visible, and must match the values configured for the Tomcat server.  The
+public URL base is the URL which remote users will use to connect to Teamware.
+For a standalone Tomcat this would be something like
+<tt><span class="cow-escape">h</span>ttp://teamware.example.com:8080</tt>, for 
a Tomcat which is behind a front-end
+Apache HTTPD it might be <tt><span 
class="cow-escape">h</span>ttp://teamware.example.com</tt> or
+<tt><span class="cow-escape">h</span>ttps://secure.example.com</tt>.  The URL 
base <em>must not</em> have a trailing slash.</p>
+
+<p>The <em>private</em> URL base is the URL that the teamware services use to 
talk to one
+another, and will typically be <tt><span 
class="cow-escape">h</span>ttp://localhost:8080</tt> (or whatever port
+number the non-proxied &lt;Connector&gt; is set to use).  If in doubt, use the 
same
+value as for the public URL base.</p>
+
+<p>The third page asks for the settings that Teamware should use to send out
+notification emails to users, and the fourth page asks for details of the MySQL
+database that Teamware should use.  As mentioned above, the username/password
+combination you supply here must have ALL PRIVILEGES on the specified database
+for the installer to be able to create the database schema.  You may be able to
+restrict these privileges somewhat once Teamware is up and running but this is
+not something that has been extensively tested.</p>
+
+<p>The final page allows you to choose a custom logo and title to brand your
+Teamware installation.</p>
+
+<p>Once all options have been set, the installer will install the Teamware web
+applications into your Tomcat, create the schema and install the initial data
+into MySQL, and seed the persistent data directory with initial annotation
+schemas, etc.</p>
+
+<p>After the installation is complete you may need to change the permissions
+and/or ownership of the persistent data directory, if you ran the installer as
+a different user from the one that will be used to run Tomcat.</p>
+<a class="cow-section-anchor" name="section-5."></a><h1 
class="cow-heading"><span class="cow-sec-number">5. </span>Customizing the 
installer build</h1>
+
+<p>There are a number of things you may wish to customize when building the
+installer.  Using a non-default Teamware installation as the base for the
+installer has been described above.  The other common customizations are to use
+a custom code signing certificate for the Java Web Start JAR files, and to
+configure Teamware to be able to run over https.</p>
+<a class="cow-section-anchor" name="section-5.1."></a><h2 
class="cow-heading"><span class="cow-sec-number">5.1. </span>Code signing</h2>
+
+<p>GATE Teamware includes a number of Java Web Start applications, most notably
+the manual annotation GUI.  For Java Web Start all the JAR files in the
+application must be cryptographically signed, and when the user runs the app
+they will be prompted to trust the signing certificate, and warned if the
+certificate is not trusted or has expired.  If you are deploying Teamware in an
+enterprise where you already use code signing for other applications you may
+wish to sign the Teamware JWS applications with an existing trusted
+certificate.</p>
+
+<p>To do this, you need the private key and certificate in a JKS-format Java
+keystore (see the keytool documentation for details).  The keystore must also
+contain the chain of certificates from the issuer of the signing certificate up
+to the relevant CA root certificate.  The following ant properties are used to
+direct the build to use your signing certificate instead of the default 
one:</p>
+
+<ul>
+<li><tt>keystore</tt> - the absolute path to the keystore file containing the 
signing
+  key and certificate.</li>
+<li><tt>alias</tt> - the alias of the signing key (i.e. its identifier in the 
keystore).</li>
+<li><tt>storepass</tt> and <tt>keypass</tt> - the passphrases protecting the 
keystore itself
+  and the key within the store respectively.</li>
+</ul>
+
+<p>You can either specify these properties using <tt>-D</tt> command line 
options when
+running ant, or by putting them in a properties file and pointing ant to that
+file using a second <tt>-propertyfile</tt> argument.</p>
+<a class="cow-section-anchor" name="section-5.2."></a><h2 
class="cow-heading"><span class="cow-sec-number">5.2. </span>Configuring 
Teamware for HTTPS</h2>
+
+<p>The web service toolkit used by the various Teamware components to talk to 
the
+back-end services is able to communicate with https endpoints, but unlike a
+regular web browser it does not trust any https server certificates by default.
+Thus if your public URL base is an https URL, you need to provide configuration
+when building the installer in order to allow the manual annotation GUI to
+trust your server.</p>
+
+<p>To do this, you must create a JKS keystore file containing the certificate 
of
+the root CA that is the ultimate issuer of your https server's certificate
+(i.e. if your certificate was signed by an intermediate authority A and that
+certificate was issued by a root authority B then it is B's certificate you
+need, not A's).  This keystore must have a passphrase set but as the store
+should contain only trusted certificate entries (no private keys) this need not
+be a secure password - &quot;password&quot; or &quot;changeit&quot; is 
perfectly adequate.</p>
+
+<p>To point the build at this keystore, use the following system properties (as
+<tt>-D</tt> options or in a propertyfile as described above):</p>
+
+<ul>
+<li><tt>https.truststore</tt> - the absolute path to the keystore file</li>
+<li><tt>https.truststore.password</tt> - the keystore password</li>
+</ul>
+</body></html>

Added: teamware/trunk/doc/installation.yam
===================================================================
--- teamware/trunk/doc/installation.yam                         (rev 0)
+++ teamware/trunk/doc/installation.yam 2011-05-09 22:37:05 UTC (rev 13817)
@@ -0,0 +1,177 @@
+Installing GATE Teamware
+
+%contents
+
+%1 Introduction
+
+While the bundled tomcat6 is useful for running GATE Teamware in development
+mode, in production systems you will probably need to deploy Teamware to a
+standalone server.  The "dist" target in the top-level Teamware build file
+produces a graphical installer that can be used to install teamware into an
+existing Tomcat and MySQL setup, and the following sections of this document
+describe the requirements that must be in place on the production server before
+deploying Teamware, and the installation process itself.
+
+%1 Requirements
+
+A server that will be hosting GATE Teamware requires the following:
+
+- A recent Java 6 JDK (Sun/Oracle or OpenJDK), 1.6.0\_14 or later.
+- An installation of Apache Tomcat 6 (Teamware should work with any Tomcat of
+  version 5.5 or later but has been tested only with 6.0.x).
+  - To work with the installer, the server configuration must use the default
+    <Engine> name "Catalina" and the default <Host> name "localhost".  If your
+    tomcat does not use these names manual intervention will be required after
+    the installer is run to rename the configuration files.
+- A MySQL server, with a user account that has been granted "ALL PRIVILEGES" on
+  a database.  The installer will create and populate this database during
+  Teamware installation.
+- A directory to store the non-database persistent data for Teamware, which
+  must be readable and writeable by the user account under which the Tomcat
+  server runs.  The doc-service searchable datastore is stored here, which
+  requires disk space up to ten times the total size of the documents stored.
+  On a development system this defaults to ~/safe/{instancename}.
+
+The various components of Teamware need to communicate with one another at
+runtime, so if your Tomcat is running behind a front-end proxy (typically
+Apache HTTPD) then it is useful to configure a second non-proxy-aware
+<Connector> in the Tomcat configuration so this inter-service communication can
+go direct to localhost rather than having to go through the proxy server.  This
+is especially important if the front-end proxy uses SSL.
+
+%1 Building the installer
+
+To build the GATE Teamware installer, start with a fresh checkout of the
+relevant version of the Teamware source code.  It is especially important that
+the ^tomcat6^ directory is _completely_ clean and does not have any left-over
+^_anything_-webapps^ directories or ^conf/Catalina/localhost^ configuration
+files.
+
+To build an installer for the default "cloud-tw" installation of GATE Teamware,
+run:
+
+%<
+ant -propertyfile install.properties dist
+%>
+
+The installer will be placed in dist/install.jar.  To build an installer for an
+installation other than the default cloud-tw, you need to provide additional
+system property definitions to ant.  For the installation specified in
+^installations/myinstance^, specify ^-Ddefault.instance.name=myinstance^.  For
+an installation specified by an instance directory that is _not_ under the
+^installations^ directory you must additionally specify
+^-Ddefault.instance.project.dir=/path/to/myinstance^.  Note that this is
+different from installing a non-default instance into the bundled tomcat6 -
+when building the installer you *must not* provide ^-Dinstance.name=...^, as
+the installer build uses a special dummy value for this property.
+
+%1 Installing Teamware
+
+To install GATE Teamware, copy the generated install.jar to the production
+server and run it (using java -jar) as a user that has write permission to the
+Tomcat directory and the intended data directory.  This will present a
+graphical installer which will prompt you for various settings.  The first page
+asks for:
+
+- The location of your Tomcat installation.  This is the top directory, i.e.
+  the parent of of bin, conf, webapps, etc.
+- The instance name for the target installation.  Obviously, the services and
+  settings installed will be those for the installation that was specified when
+  the installer was built, but this option allows you to configure the context
+  path under which the Teamware web applications will be deployed.  For
+  example, setting this to "customtw" will make the executive available at
+  \http://someserver.com/customtw/executive/
+- The data directory described above, where the datastore and other
+  non-database persistent data will be stored.
+
+The second page asks for the public and private _URL base_ patterns.  These are
+the protocol, host and possibly port number at which your Teamware will be
+visible, and must match the values configured for the Tomcat server.  The
+public URL base is the URL which remote users will use to connect to Teamware.
+For a standalone Tomcat this would be something like
+^\http://teamware.example.com:8080^, for a Tomcat which is behind a front-end
+Apache HTTPD it might be ^\http://teamware.example.com^ or
+^\https://secure.example.com^.  The URL base _must not_ have a trailing slash.
+
+The _private_ URL base is the URL that the teamware services use to talk to one
+another, and will typically be ^\http://localhost:8080^ (or whatever port
+number the non-proxied <Connector> is set to use).  If in doubt, use the same
+value as for the public URL base.
+
+The third page asks for the settings that Teamware should use to send out
+notification emails to users, and the fourth page asks for details of the MySQL
+database that Teamware should use.  As mentioned above, the username/password
+combination you supply here must have ALL PRIVILEGES on the specified database
+for the installer to be able to create the database schema.  You may be able to
+restrict these privileges somewhat once Teamware is up and running but this is
+not something that has been extensively tested.
+
+The final page allows you to choose a custom logo and title to brand your
+Teamware installation.
+
+Once all options have been set, the installer will install the Teamware web
+applications into your Tomcat, create the schema and install the initial data
+into MySQL, and seed the persistent data directory with initial annotation
+schemas, etc.
+
+After the installation is complete you may need to change the permissions
+and/or ownership of the persistent data directory, if you ran the installer as
+a different user from the one that will be used to run Tomcat.
+
+%1 Customizing the installer build
+
+There are a number of things you may wish to customize when building the
+installer.  Using a non-default Teamware installation as the base for the
+installer has been described above.  The other common customizations are to use
+a custom code signing certificate for the Java Web Start JAR files, and to
+configure Teamware to be able to run over https.
+
+%2 Code signing
+
+GATE Teamware includes a number of Java Web Start applications, most notably
+the manual annotation GUI.  For Java Web Start all the JAR files in the
+application must be cryptographically signed, and when the user runs the app
+they will be prompted to trust the signing certificate, and warned if the
+certificate is not trusted or has expired.  If you are deploying Teamware in an
+enterprise where you already use code signing for other applications you may
+wish to sign the Teamware JWS applications with an existing trusted
+certificate.
+
+To do this, you need the private key and certificate in a JKS-format Java
+keystore (see the keytool documentation for details).  The keystore must also
+contain the chain of certificates from the issuer of the signing certificate up
+to the relevant CA root certificate.  The following ant properties are used to
+direct the build to use your signing certificate instead of the default one:
+
+- ^keystore^ - the absolute path to the keystore file containing the signing
+  key and certificate.
+- ^alias^ - the alias of the signing key (i.e. its identifier in the keystore).
+- ^storepass^ and ^keypass^ - the passphrases protecting the keystore itself
+  and the key within the store respectively.
+
+You can either specify these properties using ^-D^ command line options when
+running ant, or by putting them in a properties file and pointing ant to that
+file using a second ^-propertyfile^ argument.
+
+%2 Configuring Teamware for HTTPS
+
+The web service toolkit used by the various Teamware components to talk to the
+back-end services is able to communicate with https endpoints, but unlike a
+regular web browser it does not trust any https server certificates by default.
+Thus if your public URL base is an https URL, you need to provide configuration
+when building the installer in order to allow the manual annotation GUI to
+trust your server.
+
+To do this, you must create a JKS keystore file containing the certificate of
+the root CA that is the ultimate issuer of your https server's certificate
+(i.e. if your certificate was signed by an intermediate authority A and that
+certificate was issued by a root authority B then it is B's certificate you
+need, not A's).  This keystore must have a passphrase set but as the store
+should contain only trusted certificate entries (no private keys) this need not
+be a secure password - "password" or "changeit" is perfectly adequate.
+
+To point the build at this keystore, use the following system properties (as
+^-D^ options or in a propertyfile as described above):
+
+- ^https.truststore^ - the absolute path to the keystore file
+- ^https.truststore.password^ - the keystore password


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to