import rt 3.6.4
[freeside.git] / rt / README
1 RT is an enterprise-grade issue tracking system. It allows organizations
2 to keep track of what needs to get done, who is working on which tasks,
3 what's already been done, and when tasks were (or weren't) completed.
4
5 RT doesn't cost anything to use, no matter how much you use it; it
6 is freely available under the terms of Version 2 of the GNU General
7 Public License.
8
9 RT is commercially-supported software. To purchase support, training,
10 custom development, or professional services, please get in touch with
11 us at sales@bestpractical.com.
12
13      Jesse Vincent
14      Best Practical Solutions, LLC
15      March, 2005
16
17
18 REQUIRED PACKAGES:
19 ------------------
20
21 o   Perl 5.8.3 or later (http://www.perl.com).
22
23        Perl versions prior to 5.8.3 contain bugs that could result
24        in data corruption. We recommend strongly that you use 5.8.3
25        or newer.
26
27 o   A supported SQL database
28
29         Currently supported:  Mysql 4.0.13 or later with InnoDB support.
30                               Postgres 7.2 or later.
31                               Oracle 9iR2 or later.
32                               SQLite 3.0. (Not recommended for production)
33
34 o   Apache version 1.3.x or 2.x (http://httpd.apache.org) 
35         with mod_perl -- (http://perl.apache.org ) 
36         or a webserver with FastCGI support (www.fastcgi.com)
37
38         Compiling mod_perl on Apache 1.3.x as a DSO has been known 
39         to have massive stability problems and is not recommended.
40
41         mod_perl 1.x must be built with EVERYTHING=1
42
43         RT's FastCGI handler needs to access RT's configuration file.
44
45 o    Various and sundry perl modules
46         A tool included with RT takes care of the installation of
47         most of these automatically during the install process.
48
49         The tool supplied with RT uses Perl's CPAN system
50         (http://www.cpan.org) to install modules. Some operating
51         systems package all or some of the modules required, and
52         you may be better off installing the modules that way.
53
54
55 GENERAL INSTALLATION
56 --------------------
57
58 This is a rough guide to installing RT. For more detail, you'll
59 want to read a more comprehensive installation guide at:
60
61     http://wiki.bestpractical.com/index.cgi?InstallationGuides
62
63 1   Unpack this distribution other than where you want to install RT
64
65      To do this cleanly, run the following command:
66
67        tar xzvf rt.tar.gz -C /tmp
68
69 2   Run the "configure" script. 
70
71        ./configure --help to see the list of options
72        ./configure (with the flags you want)
73
74     RT defaults to installing in /opt/rt3 with MySQL as its database. It
75     tries to guess which of www-data, www, apache or nobody your webserver
76     will run as, but you can override that behavior.
77
78 3   Make sure that RT has everything it needs to run.
79
80     Check for missing dependencies by running:
81
82        make testdeps        
83
84 4   If the script reports any missing dependencies, install them by hand
85     or run the following command as a user who has permission to install perl
86     modules on your system:
87
88      make fixdeps
89
90 5   Check to make sure everything was installed properly.
91      
92        make testdeps
93
94      It might sometimes be necessary to run "make fixdeps" several times
95      to install all necessary perl modules.
96
97 6   If this is a new installation:
98      
99      As a user with permission to install RT in your chosen directory, type:
100
101        make install   
102                     
103      Set up etc/RT_SiteConfig.pm in your RT installation directory.
104      You'll need to add any values you need to change from the defaults 
105      in etc/RT_Config.pm
106
107      As a user with permission to read RT's configuration file, type:
108      
109        make initialize-database 
110
111      If the make fails, type:
112      
113        make dropdb 
114
115      and start over from step 6
116
117 7   If you're upgrading from RT 3.0 or newer:
118
119      Read through the UPGRADING document included in this distribution.
120      
121      It includes special upgrade instructions that will help you get this
122      new version of RT up and running smoothly.
123
124      As a user with permission to install RT in your chosen installation
125      directory, type: 
126
127        make upgrade    
128
129      This will install new binaries, config files and libraries without
130      overwriting your RT database. 
131
132      Update etc/RT_SiteConfig.pm in your RT installation directory.
133      You'll need to add any new values you need to change from the defaults 
134      in etc/RT_Config.pm
135
136      You may also need to update RT's database.  To find out, type:
137
138        ls etc/upgrade
139
140      For each item in that directory whose name is greater than
141      your previously installed RT version, run:
142
143        /opt/rt3/sbin/rt-setup-database --action schema \
144            --datadir etc/upgrade/<version>
145        /opt/rt3/sbin/rt-setup-database --action acl \
146            --datadir etc/upgrade/<version>
147        /opt/rt3/sbin/rt-setup-database --action insert \
148             --datadir etc/upgrade/<version>
149
150      Clear mason cache dir:
151
152        rm -fr /opt/rt3/var/mason_data/obj
153
154      Stop and start web-server.
155
156
157 8  If you're upgrading from RT 2.0:
158
159     Please upgrade from RT 2.0 to RT 3.2 and then follow the instructions
160     for section 7.
161
162 9   Configure the email and web gateways, as described below. 
163
164     NOTE: root's password for the web interface is "password" 
165     (without the quotes).  Not changing this is a SECURITY risk!
166     
167 10   Set up users, groups, queues, scrips and access control.
168
169     Until you do this, RT will not be able to send or receive email,
170     nor will it be more than marginally functional.  This is not an
171     optional step.
172
173
174 SETTING UP THE WEB INTERFACE
175 ----------------------------
176
177 RT's web interface is based around HTML::Mason, which works well with
178 the mod_perl perl interpreter within Apache httpd and FastCGI
179
180 mod_perl
181 --------
182
183 To install RT with mod_perl, you'll need to install the
184 apache database connection cache.  To make sure it's installed, run
185 the following command:
186
187     perl -MCPAN -e'install Apache::DBI'
188
189 Next, add a few lines to your Apache configuration file, so that
190 it knows where to find RT:
191
192 <VirtualHost your.ip.address>
193     ServerName your.rt.server.hostname
194     DocumentRoot /opt/rt3/share/html
195     AddDefaultCharset UTF-8
196
197     PerlModule Apache::DBI
198     PerlRequire /opt/rt3/bin/webmux.pl
199
200     <Location />
201      SetHandler perl-script
202      PerlHandler RT::Mason
203     </Location>
204 </VirtualHost>
205
206 FastCGI
207 -------
208
209 Installation with FastCGI is a little bit more complex and is documented 
210 in detail at http://wiki.bestpractical.com/index.cgi?FastCGIConfiguration
211
212 In the most basic configuration, you can set up your webserver to run
213 as a user who is a member of the "rt" unix group so that the FastCGI script
214 can read RT's configuration file.  It's important to understand the security
215 implications of this configuration, which are discussed in the document
216 mentioned above.
217
218 To install RT with FastCGI, you'll need to add a few lines to your 
219 Apache configuration file telling it about RT:
220
221
222 # Tell FastCGI to put its temporary files somewhere sane.
223 FastCgiIpcDir /tmp
224
225 FastCgiServer /opt/rt3/bin/mason_handler.fcgi -idle-timeout 120
226
227 <VirtualHost rt.example.com>
228
229    # Pass through requests to display images
230    Alias /NoAuth/images/ /opt/rt3/share/html/NoAuth/images/
231
232    AddHandler fastcgi-script fcgi
233    ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/
234    
235 </VirtualHost>
236
237
238
239 SETTING UP THE MAIL GATEWAY 
240 ---------------------------
241
242 To let email flow to your RT server, you need to add a few lines of
243 configuration to your mail server's "aliases" file. These lines "pipe"
244 incoming email messages from your mail server to RT.
245
246 Add the following lines to /etc/aliases (or your local equivalent) on your mail server:
247
248 rt:         "|/opt/rt3/bin/rt-mailgate --queue general --action correspond --url http://rt.example.com/"
249 rt-comment: "|/opt/rt3/bin/rt-mailgate --queue general --action comment --url http://rt.example.com/"
250
251 You'll need to add similar lines for each queue you want to be able
252 to send email to. To find out more about how to configure RT's email
253 gateway, type:
254
255        perldoc /opt/rt3/bin/rt-mailgate
256
257
258
259 GETTING HELP
260 ------------
261
262 If RT is mission-critical for you or if you use it heavily, we recommend that
263 you purchase a commercial support contract.  Details on support contracts
264 are available at http://www.bestpractical.com or by writing to
265 <sales@bestpractical.com>.
266
267 If you're interested in having RT extended or customized or would like more
268 information about commercial support options, please send email to 
269 <sales@bestpractical.com> to discuss rates and availability.
270
271
272
273 RT WEBSITE
274 ----------
275
276 For current information about RT, check out the RT website at 
277      http://www.bestpractical.com/  
278
279 You'll find screenshots, a pointer to the current version of RT, contributed 
280 patches, and lots of other great stuff.
281
282
283
284 RT-USERS MAILING LIST
285 --------------------
286
287 To keep up to date on the latest RT tips, techniques and extensions,
288 you probably want to join the rt-users mailing list.  Send a message to:
289
290       rt-users-request@lists.bestpractical.com 
291
292 with the body of the message consisting of only the word:
293
294      subscribe
295
296 If you're interested in hacking on RT, you'll want to subscribe to
297 <rt-devel@lists.bestpractical.com>.  Subscribe to it with instructions
298 similar to those above.
299
300 Address questions about the stable release to the rt-users list, and
301 questions about the development version to the rt-devel list.  If you feel
302 your questions are best not asked publicly, send them personally to
303 <jesse@bestpractical.com>.
304
305
306
307 BUGS
308 ----
309
310 RT's a pretty complex application, and as you get up to speed, you might
311 run into some trouble. Generally, it's best to ask about things you
312 run into on the rt-users mailinglist (or pick up a commercial support
313 contract from Best Practical). But, sometimes people do run into bugs. In
314 the exceedingly unlikely event that you hit a bug in RT, please report
315 it! We'd love to hear about problems you have with RT, so we can fix them.
316 To report a bug, send email to rt-bugs@fsck.com.
317
318
319 # BEGIN BPS TAGGED BLOCK {{{
320
321 # COPYRIGHT:
322 #  
323 # This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC 
324 #                                          <jesse@bestpractical.com>
325
326 # (Except where explicitly superseded by other copyright notices)
327
328
329 # LICENSE:
330
331 # This work is made available to you under the terms of Version 2 of
332 # the GNU General Public License. A copy of that license should have
333 # been provided with this software, but in any event can be snarfed
334 # from www.gnu.org.
335
336 # This work is distributed in the hope that it will be useful, but
337 # WITHOUT ANY WARRANTY; without even the implied warranty of
338 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
339 # General Public License for more details.
340
341 # You should have received a copy of the GNU General Public License
342 # along with this program; if not, write to the Free Software
343 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
344 # 02110-1301 or visit their web page on the internet at
345 # http://www.gnu.org/copyleft/gpl.html.
346
347
348 # CONTRIBUTION SUBMISSION POLICY:
349
350 # (The following paragraph is not intended to limit the rights granted
351 # to you to modify and distribute this software under the terms of
352 # the GNU General Public License and is only of importance to you if
353 # you choose to contribute your changes and enhancements to the
354 # community by submitting them to Best Practical Solutions, LLC.)
355
356 # By intentionally submitting any modifications, corrections or
357 # derivatives to this work, or any other work intended for use with
358 # Request Tracker, to Best Practical Solutions, LLC, you confirm that
359 # you are the copyright holder for those contributions and you grant
360 # Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
361 # royalty-free, perpetual, license to use, copy, create derivative
362 # works based on those contributions, and sublicense and distribute
363 # those contributions and any derivatives thereof.
364
365 # END BPS TAGGED BLOCK }}}