====== Request Tracker Tips ======
===== Scripts =====
===== Optimization =====
* [[http://wiki.bestpractical.com/view/CleanupSessions|Clear Sessions]]
#!/usr/bin/perl
use lib qw(/usr/share/request-tracker3.6/lib);
use RT;
RT::LoadConfig();
RT::Init();
$RT::Handle->SimpleQuery("delete from sessions where LastUpdated < (now() - interval 24 hour)");
===== Howto =====
==== Request tracker 3.8.2 (Ubuntu-LTS) + NGINX + PostgreSQL ====
wget http://download.bestpractical.com/pub/rt/release/rt-3.8.2.tar.gz
tar -xvzf rt-3.8.2.tar.gz
make testdeps
make fixdeps
apt-get install mysql-client
apt-get install libdbd-pg-perl libclass-dbi-pg-perl
make testdeps
make install
**Upgrading PostgreSQL database**
## make upgrade
/opt/rt3/sbin/rt-setup-database --dba rtuser --prompt-for-dba-password --action upgrade
=== NGINX setup ===
Useful links:
* http://wiki.bestpractical.com/view/FastCGIConfiguration
* http://www.nginx.eu/nginx-fcgi/nginx-fcgi.txt
* http://www.nginx.eu/nginx-fcgi.html
**FCGI/init script**
#!/bin/sh
RTPATH=/opt/rt3
RTUSER=www-data
#FCGI_SOCKET_PATH=$RTPATH/var/fastcgi
FCGI_SOCKET_PATH=/tmp/rt.fcgi
case $1 in
start)
echo -n "Starting RT: mason_handler.fcgi"
cd $RTPATH
export FCGI_SOCKET_PATH
su $RTUSER -c "$RTPATH/bin/mason_handler.fcgi" &
echo
;;
stop)
echo -n "Stopping RT: "
PIDS=`ps axww | awk '/[m]ason_handler.fcgi/ { print $1}'`
if [ -n "$PIDS" ]
then
echo -n kill -TERM $PIDS
kill $PIDS
echo
else
echo RT not running
fi
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/rt { stop | start | restart }"
exit 1
;;
esac
**nginx request-tracker vhost config**
server {
listen 80;
server_name rt.xxxx.si;
access_log /var/log/nginx/rt.xxxx.si-access.log;
location / {
fastcgi_pass unix:/tmp/rt.fcgi;
#fastcgi_x_powered_by off; # default on
fastcgi_param DOCUMENT_ROOT /opt/rt3/share/html;
fastcgi_param SCRIPT_FILENAME /opt/rt3/share/html$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /opt/rt3/share/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_SOFTWARE "nginx/0.3.15";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
}
location ~* .+\.(html|js|css)$ {
fastcgi_pass unix:/tmp/rt.fcgi;
#fastcgi_x_powered_by off; # default on
fastcgi_param DOCUMENT_ROOT /opt/rt3/share/html;
fastcgi_param SCRIPT_FILENAME /opt/rt3/share/html$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /opt/rt3/share/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_SOFTWARE "nginx/0.3.15";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
}
location /NoAuth/images/ {
alias /opt/rt3/share/html/NoAuth/images/;
}
}
=== adding RTFM ===
**Download RTFM**
tar -xzvf rtfm.tar.gz
Install and patch the database
cd RTFM-2.4.0
perl Makefile.PL
make install
make initdb
add follwing line to /opt/rt3/etc/RT_SiteConfig.pm
Set(@Plugins,qw(RT::FM));
==== Changing user pref "Illegal value for EmailAddress"====
If you try to change your email and RT returns you an error **"''Illegal value for EmailAddress''"** means that this email address is already in the database. Workaround:
as root **Configuration -> Users ->** Find people whose Email is '' and also checkbox **Include disabled users in search**. Edit user by this email and remove RT permissions and email. Now you can change your original account.
==== Installing RT 3.8.1 / Debian ====
good article on this topic on [[http://rtvm.tehcorner.com/rt38/]]