so Search.tsf and Search.rdf work
[freeside.git] / rt / README
index 9373f69..7c5e4d4 100755 (executable)
--- a/rt/README
+++ b/rt/README
@@ -1,14 +1,8 @@
-# {{{ BEGIN BPS TAGGED BLOCK
+# BEGIN LICENSE BLOCK
 # 
 # 
-# COPYRIGHT:
-#  
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC 
-#                                          <jesse@bestpractical.com>
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
 # 
 # 
-# (Except where explicitly superseded by other copyright notices)
-# 
-# 
-# LICENSE:
+# (Except where explictly superceded by other copyright notices)
 # 
 # This work is made available to you under the terms of Version 2 of
 # the GNU General Public License. A copy of that license should have
 # 
 # This work is made available to you under the terms of Version 2 of
 # the GNU General Public License. A copy of that license should have
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
 # 
 # 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, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-# 
-# 
-# CONTRIBUTION SUBMISSION POLICY:
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
 # 
 # 
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
 # 
 # 
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-# 
-# }}} END BPS TAGGED BLOCK
+# END LICENSE BLOCK
 RT is an enterprise-grade issue tracking system. It allows
 organizations to keep track of their to-do lists, who is working
 on which tasks, what's already been done, and when tasks were
 RT is an enterprise-grade issue tracking system. It allows
 organizations to keep track of their to-do lists, who is working
 on which tasks, what's already been done, and when tasks were
@@ -50,31 +28,30 @@ completed. It is available under the terms of version 2 of the GNU
 General Public License (GPL), so it doesn't cost anything to set
 up and use.
 
 General Public License (GPL), so it doesn't cost anything to set
 up and use.
 
-RT is commercially supported software. To purchase support, training,
-custom development or professional services, please write to
-sales@bestpractical.com. 
 
         Jesse Vincent
         Best Practical Solutions, LLC
 
         Jesse Vincent
         Best Practical Solutions, LLC
-        June 2004
-
+        March 2003
 
 REQUIRED PACKAGES:
 ------------------
 
 
 REQUIRED PACKAGES:
 ------------------
 
-o   Perl 5.8.3 or later (http://www.perl.com).
+o   Perl 5.8.0 or later (http://www.perl.com).
+
+       (If you intend to use the FastCGI or SpeedyCGI support, you 
+        need to make sure that perl has been built with support for 
+        setgid perl scripts.)`
 
 
-           Perl versions prior to 5.8.3 contain bugs that could result
-           in data corruption. We recommend strongly that you use 5.8.3
-           or newer. RT may function with perl 5.8.0 and later, but
-           is unsupported in that configuration.
+    Perl 5.6.1 is currently deprecated and will be officially desupported
+    in a future release
 
 o   A DB backend; MySQL is recommended ( http://www.mysql.com ) 
 
 o   A DB backend; MySQL is recommended ( http://www.mysql.com ) 
-        Currently supported:  Mysql 4.0.13 or later with InnoDB support.
+        Currently supported:  Mysql 4.0.13 or later
                               Postgres 7.2 or later.
                               Postgres 7.2 or later.
-                              Oracle 9iR2.
-        Beta-quality support for Informix and SQLite is also available.
 
 
+                              Mysql 3.23.46 or newer with support for InnoDB 
+                             is currently deprecated and will be officially
+                             desupported in a future release.
 
 o   Apache version 1.3.x or 2.x (http://httpd.apache.org) 
     with mod_perl -- (http://perl.apache.org ) 
 
 o   Apache version 1.3.x or 2.x (http://httpd.apache.org) 
     with mod_perl -- (http://perl.apache.org ) 
@@ -89,7 +66,23 @@ o   Apache version 1.3.x or 2.x (http://httpd.apache.org)
 
         mod_perl 1.x must be build with EVERYTHING=1
 
 
         mod_perl 1.x must be build with EVERYTHING=1
 
-        RT's FastCGI handler needs to access RT's configuration file.
+        RT's FastCGI handler runs setgid to the 'rt' group to
+        protect RT's database password.  You may need to install
+        a special  "suidperl" package or reconfigure your perl
+        setup to support "setuid scripts" if you intend to use RT
+        with FastCGI.
+
+        Debian GNU/* 3.0+: the package which installs suidperl is
+         called perl-suid, and should work without any tweaking.
+
+        FreeBSD 4.2+: the package is called sperl, and should
+         install a suidperl that just works 
+
+        Conectiva Linux 6.0+: suidperl is installed by default when 
+         perl is installed, but the program /bin/suidperl is not setuid. 
+         You must use chmod to make it setuid.
+
+
 
 o    Various and sundry perl modules
        A tool included with RT takes care of the installation of
 
 o    Various and sundry perl modules
        A tool included with RT takes care of the installation of
@@ -104,10 +97,9 @@ o    Various and sundry perl modules
 GENERAL INSTALLATION
 --------------------
 
 GENERAL INSTALLATION
 --------------------
 
-This is a rough guide to installing RT. For more detail, you'll
-want to read a more comprehensive installation guide at:
-
-    http://wiki.bestpractical.com/index.cgi?InstallationGuides
+This is a rough guide to installing RT. For more detail, you'll want 
+to read 'Chapter 2: Installing' in RT's manual, available at
+http://www.bestpractical.com/rt 
 
 1   Unpack this distribution SOMWHERE OTHER THAN where you want to install RT
 
 
 1   Unpack this distribution SOMWHERE OTHER THAN where you want to install RT
 
@@ -120,69 +112,53 @@ want to read a more comprehensive installation guide at:
         ./configure --help to see the list of options
         ./configure (with the flags you want)
 
         ./configure --help to see the list of options
         ./configure (with the flags you want)
 
-3   Make sure that RT has everything it needs to run:
+3   Satisfy RT's myriad dependencies. 
 
 
-3.1   Check for missing dependencies:
+3.1   Check for compliance:
+        
+   perl sbin/rt-test-dependencies \ 
+                --with-<databasename> --with-<web-environment>
 
 
-        make testdeps        
+        databasename is one of: mysql, postgres
+        web-environment is one of: fastcgi, modperl1, modperl2
 
 3.2   If there are unsatisfied dependencies, install them by hand or run:
 
 
 3.2   If there are unsatisfied dependencies, install them by hand or run:
 
-        make fixdeps
+        perl sbin/rt-test-dependencies \
+                --with-<databasename> --with-<web-environment> --install
+        
 
 3.3   Check to make sure everything was installed properly:
 
 3.3   Check to make sure everything was installed properly:
-        
-        make testdeps
 
 
-        It might sometimes be necessary to run "make fixdeps" several times
-        to install all necessary perl modules.
+        perl sbin/rt-test-dependencies \
+                --with-<databasename> --with-<web-environment>
 
 4   Create a group called 'rt'
 
 5a  FOR A NEW INSTALLATION: 
         
         As root, type:
 
 4   Create a group called 'rt'
 
 5a  FOR A NEW INSTALLATION: 
         
         As root, type:
-                 make install   
+                 make install        (replace "make" with the local name for 
+                                 Make, if you need to)
+
                        
                  make initialize-database 
 
                        
                  make initialize-database 
 
+
         If the make fails, type:
                 make dropdb 
         and start over from step 5a
 
         If the make fails, type:
                 make dropdb 
         and start over from step 5a
 
-5b  FOR UPGRADING: (Within the RT 3.x series)
-
-        Read through the UPGRADING document included in this distribution.
-        It may contain important instructions which will help you upgrade
-        RT safely.
+5b  FOR UPGRADING: (Within the RT 3.0.x series)
 
         As root, type: 
 
         As root, type: 
-                make upgrade    
+                make upgrade     (replace "make" with the local name for 
+                                  Make, if you need to)
 
         This will build new binaries, config files and libraries without
         overwriting your RT database. 
 
         This will build new binaries, config files and libraries without
         overwriting your RT database. 
-
-        You may also need to update RT's database.  To find out, type:
-
-           ls etc/upgrade
-
-        For each item in that directory whose name is greater than
-        your previously installed RT version, run:
-            /opt/rt3/sbin/rt-setup-database --action schema \
-                --datadir etc/upgrade/<version>
-            /opt/rt3/sbin/rt-setup-database --action acl \
-                --datadir etc/upgrade/<version>
-            /opt/rt3/sbin/rt-setup-database --action insert \
-                 --datadir etc/upgrade/<version>
-
-
-5c  FOR UPGRADING: (From RT 2.0.x)
-
-    Download the RT2 to RT3 migration tools from:
-
-    http://bestpractical.com/pub/rt/devel/rt2-to-rt3.tar.gz
-
-    Follow the included instructions.
+        
+        It may then instruct you to update your RT system database objects 
 
 6   Edit etc/RT_SiteConfig.pm in your RT installation directory, by specifying
     any values you need to change from the defaults in etc/RT_Config.pm
 
 6   Edit etc/RT_SiteConfig.pm in your RT installation directory, by specifying
     any values you need to change from the defaults in etc/RT_Config.pm
@@ -204,64 +180,43 @@ want to read a more comprehensive installation guide at:
 THE WEB INTERFACE
 -----------------
 
 THE WEB INTERFACE
 -----------------
 
-RT's web interface is based around HTML::Mason, which works well with
-the mod_perl perl interpreter within Apache httpd and FastCGI
+RT's web interface is based around HTML::Mason, which works best with the mod_perl
+perl interpreter within Apache httpd.  Alternatively, support for the FastCGI
+(and plain CGI) interface is also provided as 'bin/mason_handler.fcgi'.
 
 
-mod_perl
---------
-
-To install RT with mod_perl, you'll need to add a few lines to your 
-Apache configuration file telling it about RT:
+Apache 
+        You'll need to add a few lines to your httpd.conf telling it about RT:
 
 <VirtualHost your.ip.address>
     ServerName your.rt.server.hostname
     DocumentRoot /opt/rt3/share/html
     AddDefaultCharset UTF-8
 
 
 <VirtualHost your.ip.address>
     ServerName your.rt.server.hostname
     DocumentRoot /opt/rt3/share/html
     AddDefaultCharset UTF-8
 
-    # these four lines apply to Apache2+mod_perl2 only: {{{
-    PerlSetVar MasonArgsMethod CGI
+    # this line applies to Apache2+mod_perl2 only
     PerlModule Apache2 Apache::compat
     PerlModule Apache2 Apache::compat
-    RewriteEngine On
-    RewriteRule ^(.*)/$ $1/index.html
-    # }}}
 
     PerlModule Apache::DBI
     PerlRequire /opt/rt3/bin/webmux.pl
 
 
     PerlModule Apache::DBI
     PerlRequire /opt/rt3/bin/webmux.pl
 
+    # this section applies to Apache 1 only
     <Location />
         SetHandler perl-script
         PerlHandler RT::Mason
     </Location>
     <Location />
         SetHandler perl-script
         PerlHandler RT::Mason
     </Location>
-</VirtualHost>
-
-FastCGI
--------
-
-Installation with FastCGI is a little bit more complex and is documented 
-in detail at http://wiki.bestpractical.com/index.cgi?FastCGIConfiguration
-
-In the most basic configuration, you can set up your webserver to run
-as a user who is a member of the "rt" unix group so that the FastCGI script
-can read RT's configuration file.  It's important to understand the security
-implications of this configuration, which are discussed in the document
-mentioned above.
-
-To install RT with FastCGI, you'll need to add a few lines to your 
-Apache configuration file telling it about RT:
-
-<VirtualHost rt.example.com>
-
-   # Pass through requests to display images
-   Alias /NoAuth/images/ /opt/rt3/share/html/NoAuth/images/
-   
-   # Tell FastCGI to put its temporary files somewhere sane.
-   FastCgiIpcDir /tmp
-
-   FastCgiServer /opt/rt3/bin/mason_handler.fcgi -idle-timeout 120
 
 
-   AddHandler fastcgi-script fcgi
-   ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/
-   
+    # this section applies to Apache2+mod_perl2 only
+    <FilesMatch "\.html$">
+        SetHandler perl-script
+        PerlHandler RT::Mason
+    </FilesMatch>
+    <LocationMatch "/Attachment/">
+        SetHandler perl-script
+        PerlHandler RT::Mason
+    </LocationMatch>
+    <LocationMatch "/REST/">
+        SetHandler perl-script
+        PerlHandler RT::Mason
+    </LocationMatch>
 </VirtualHost>
 
 
 </VirtualHost>
 
 
@@ -269,9 +224,6 @@ Apache configuration file telling it about RT:
 SETTING UP THE MAIL GATEWAY 
 ---------------------------
 
 SETTING UP THE MAIL GATEWAY 
 ---------------------------
 
-RT can accept incoming email using a simple program run as a "pipe" 
-by your mail server.
-
 An alias for the initial queue will need to be made in either your
 global mail aliases file (if you are using NIS) or locally on your
 machine.
 An alias for the initial queue will need to be made in either your
 global mail aliases file (if you are using NIS) or locally on your
 machine.
@@ -292,15 +244,14 @@ rt-comment: "|/opt/rt3/bin/rt-mailgate --queue general --action comment --url ht
 BUGS
 ----
 
 BUGS
 ----
 
-To report a bug, send email to rt-bugs@fsck.com.
+To report a bug, send email to rt-3.0-bugs@fsck.com.
 
 GETTING HELP
 ------------
 
 If RT is mission-critical for you or if you use it heavily, we recommend that
 you purchase a commercial support contract.  Details on support contracts
 
 GETTING HELP
 ------------
 
 If RT is mission-critical for you or if you use it heavily, we recommend that
 you purchase a commercial support contract.  Details on support contracts
-are available at http://www.bestpractical.com or by writing to
-sales@bestpractical.com.
+are available at http://www.bestpractical.com.
 
 If you're interested in having RT extended or customized or would like more
 information about commercial support options, please send email to 
 
 If you're interested in having RT extended or customized or would like more
 information about commercial support options, please send email to 
@@ -313,15 +264,15 @@ RT-USERS MAILINGLIST
 To keep up to date on the latest RT tips, techniques and extensions,
 you probably want to join the rt-users mailing list.  Send a message to:
 
 To keep up to date on the latest RT tips, techniques and extensions,
 you probably want to join the rt-users mailing list.  Send a message to:
 
-         rt-users-request@lists.bestpractical.com 
+         rt-users-request@lists.fsck.com 
 
 With the body of the message consisting of only the word:
 
         subscribe
 
 If you're interested in hacking on RT, you'll want to subscribe to
 
 With the body of the message consisting of only the word:
 
         subscribe
 
 If you're interested in hacking on RT, you'll want to subscribe to
-rt-devel@lists.bestpractical.com.  Subscribe to it with instructions
-similar to those above.
+rt-devel@lists.fsck.com.  Subscribe to it with instructions similar to
+those above.
 
 Address questions about the stable release to the rt-users list, and
 questions about the development version to the rt-devel list.  If you feel
 
 Address questions about the stable release to the rt-users list, and
 questions about the development version to the rt-devel list.  If you feel
@@ -335,6 +286,15 @@ RT WEBSITE
 For current information about RT, check out the RT website at 
         http://www.bestpractical.com/  
 
 For current information about RT, check out the RT website at 
         http://www.bestpractical.com/  
 
-
 You'll find screenshots, a pointer to the current version of RT, contributed 
 patches, and lots of other great stuff.
 You'll find screenshots, a pointer to the current version of RT, contributed 
 patches, and lots of other great stuff.
+
+
+TROUBLESHOOTING
+---------------
+
+If the solution to the problem you're running into isn't obvious and you've 
+checked the FAQ, feel free to send mail to rt-users@fsck.com (for released 
+versions of RT) or rt-devel@fsck.com (for development versions).
+
+Thanks!