Wednesday, May 22, 2013

openSUSE 12.3: How I installed and set up Request Tracker

A new version of openSUSE is out and my blog entry describing how I installed and set up Request Tracker on openSUSE 12.2 is now out of date.

This blog entry, then, describes how I installed Request Tracker on openSUSE 12.3.


I have tested the steps outlined here. Many mistakes have been corrected, but I'm sure some still remain. This is only a description of something that I did. It is not intended to serve as a guide or instructions. Anyone who imitates these steps, does so at their own risk: it may not lead to the desired result. This description is given in the hope that it will be useful to someone who is learning how to administer Request Tracker. The intent is to complement, not substitute, reading of the Request Tracker book, the documentation, the source code, etc.

Whew, glad I got that straightened out! Now it's time to roll up my sleeves and get to work. When I finished these steps, I could see Request Tracker's login screen in my browser window. It's not much, but it's a start -- so, here I go:

  1. I start with a brand-new VM with a clean vanilla install of openSUSE 12.3, network configured and running
  2. I add the devel:languages:perl repository
    # zypper ar http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_12.3/devel:languages:perl.repo
    ... it should say something like "successfully added" ...
    
  3. I install the request-tracker package
    # zypper in request-tracker
    ... first it says: "New repository or package signing key received" and ...
    ... asks me what I want to do about it. I answer "trust always" ('a') ...
    ... then, it chokes on postfix saying:
    ... "request-tracker-4.0.13-1.1.noarch requires postfix, but this requirement cannot be provided"
    ... This only happens, I think, because I chose "text only" installation ...
    ... The solution is to allow deinstallation of patterns-openSUSE-minimal_base-conflicts-12.3-7.10.1.x86_64 ...
    ... After I choose that solution, it asks me if I _really_ want to install 307 new packages ...
    ... I say 'y' and it performs the installation ...
    
  4. I set mariadb root password and configure mysql daemon
    # rcmysql start
    # /usr/bin/mysqladmin -u root password 'MYPASSWORD'
    # chkconfig mysql on
    
  5. I initialize Request Tracker's database, rt4
    # /usr/sbin/rt-setup-database --action init
    ... enter mariadb 'root' password, then it should say:
    Working with:
    Type:   mysql
    Host:   localhost
    Name:   rt4
    User:   rt
    DBA:    root
    max_allowed_packet is set to 1.0M, which limits the maximum attachment or email size that RT can process.  Consider adjusting MySQL's max_allowed_packet setting.
    Now creating a mysql database rt4 for RT.
    Done.
    Now populating database schema.
    Done.
    Now inserting database ACLs.
    Granting access to rt@'localhost' on rt4.
    Done.
    Now inserting RT core system objects.
    Done.
    Now inserting data.
    Done inserting data.
    Done.
    
  6. I configure and start postfix
    # chkconfig postfix
    postfix  on
    # rcpostfix start
    redirecting to systemctl  start postfix
    #
    
  7. I tell apache2 to use ready-made configuration from request-tracker package
    # ln -s /etc/request-tracker/apache2/apache2-modperl2.conf /etc/apache2/conf.d/
    # vim /etc/sysconfig/apache2
    ... I add 'perl' and 'actions' to the APACHE_MODULES line ...
    ... (but _not_ if they are already present!) ...
    
  8. I tell apache2 it's OK to serve the files
    # cat >/etc/apache2/conf.d/rt.conf <<EOF
    <Directory "/usr/share/request-tracker/html">
            Options None
            AllowOverride None
            Order allow,deny
            Allow from all
    </Directory>
    EOF
    #
    
  9. I create a basic RT_SiteConfig.pm
    # cd /etc/request-tracker
    # cp RT_SiteConfig.pm RT_SiteConfig.pm-orig
    # cat >RT_SiteConfig.pm <<EOF
    Set(\$rtname, 'Smithfarm');
    Set(\$Organization, 'TheBrain');
    Set(\$WebDomain, 'smithfarm-thebrain.blogspot.cz');
    Set(\$WebPath, "/rt");
    Set(\$Timezone, 'Pacific/Rarotonga');
    Set(\$SendmailPath, '/usr/sbin/sendmail');
    
    1;
    EOF
    # perl -c RT_SiteConfig.pm
    RT_SiteConfig.pm syntax OK
    #
    
    CAVEAT 1: Actually, I don't live in Rarotonga. I consulted /usr/share/zoneinfo and chose the appropriate value for where I live!)
    CAVEAT 2: All of the lines in this file are extremely important, so I really have to put thought into getting them right for my installation. This applies in particular to the $WebDomain setting.
    CAVEAT 3: The apache2 configuration provided by the request-tracker package assumes that RT will live at the URL $WebDomain/rt
  10. I configure apache2 to run at boot, and start it
    # systemctl enable apache2
    ... noting that 'chkconfig apache2 on' doesn't seem to work ...
    # rcapache2 start
    ... there should be no errors ...
    
  11. I point my browser to the appropriate URL. For the fictitious RT_SiteConfig.pm above, the exact URL would be:
    http://smithfarm-thebrain.blogspot.cz/rt
    
    And I don't forget the default login credentials are root/password

No comments:

Post a Comment