Non-Privileged User Installation

From Request Tracker Wiki
Jump to navigation Jump to search

Non-Privileged User Installation


This installation procedure is for users who don't have access to the system at the start of RT installation. This is for RT 4.0.6.

Although do bear in mind that you need help from your root administrator for help in installing perl modules, or updating any old software requirements that are listed in the README file.

The dependencies for RT 4.0.6 are:

  • CPAN > 1.84
  • Perl > 5.8.3
  • [MySQL > 4.1 (With InnoDB support)] OR [SQLite > 3.0] OR [Postgres > 8.1] OR [Oracle > 9iR2]
  • [Apache version 1.3.x or 2.x (with mod_perl) / (with FastCGI)] OR [(other webserver with FastCGI support)]

Make your versions are atleast up to date as RT wouldn't run without these.

Readme file instructions

In summary, these are the instructions: (I have listed to ones necessary for new installation, not upgrades)

1) Unpack this distribution other than where you want to install RT. 2) Run the "configure" script. To see the list of options, run:

       ./configure --help

3) Make sure that RT has the Perl and system libraries it needs to run. Check for missing dependencies by running:

        make testdeps

4) If the script reports any missing dependencies, install them by hand, or run the following command as a user who has permission to install perl modules on your system:

        make fixdeps

Some modules require user input or environment variables to install correctly, so it may be necessary to install them manually.

If you are installing with CPAN module older than 1.84, you will need to start CPAN (by running perl -MCPAN -e shell) and upgrade the CPAN shell with:

       install CPAN

5) Check to make sure everything was installed properly.

       make testdeps

6a) If this is a NEW installation (not an upgrade):

As a user with permission to install RT in your chosen directory, type:

       make install

To configure RT with the web installer, run:


and follow the instructions. Once completed, you should now have a working RT instance running with the standalone rt-server. Press Ctrl-C to stop it, and proceed to Step 7 to configure a recommended deployment environment for production.

To configure RT manually, you must setup etc/ in your RT installation directory. You'll need to add any values you need to change from the defaults in etc/

As a user with permission to read RT's configuration file, type:

      make initialize-database

If the make fails, type:

      make dropdb

and re-run 'make initialize-database'.

7) Configure the web server, as described in docs/web_deployment.pod, and the email gateway, as described below.

NOTE: The default credentials for RT are: User: root Pass: password Not changing the root password from the default is a SECURITY risk!

8) Set up users, groups, queues, scrips and access control.

9) Set up automated recurring tasks (cronjobs):

10) Configure the RT email gateway.

Problems/Solutions while installing

By default, RT tries to save everything onto the system administrator's area, so to stop that you really do need to define the option when you run the command './configure'. The options that you need to change are '--prefix' and '--exec-prefix' and '--datadir'. These are the bare minimum, you can add more as you like.

After making the 3 directories (i.e. one for each option) in your user area, the bare minimum usage of configure command would be something like this:

./configure --prefix=(path of prefix directory) --exec-prefix=(path of Eprefix directory) --datadir=(path of Datadir directory)

The 'make testdeps' function would help a lot by listing the missing perl dependencies, and 'make fixdeps' would try to install them, but if you don't have enough privileges, you will not be able to install them, unless you use 'su', for which you would need root's password anyway.

The best thing to do at this point is to list these missing modules, and tell your admin to use either of these commands:

cpanm --install 'module'


perl -MCPAN -e 'install module'

replace module with the module of your choice, for example 'XML::RSS' would be used as:

[ perl -MCPAN -e 'install XML::RSS' ]

Lastly, you might be completely missing some 'libraries' of these commands, so google individual modules and see how to install them. Some may depend on your operating system cd, so contact your admin in that case.

'make install' went successfully for me, but later on I did get a missing '.sock' file error. To counter it, I made a empty .sock file, placed it in my area. then ran these commands:

export MYSQL_UNIX_PORT=(sock file location)


Google this for more information, this came up several times, and the solution given above is makeshift.

'make initialize database' should too run perfectly, and now you can either start up the rt-server file and open the web installer, or you can take your time and change the file leisurely.


If running mysql, mysql daemon (mysqld_safe) needs to be running in the background, when starting up RT-server program. It won't work unless you do that. For more information, please do refer to the online reference manual for your MySQL version, and search for individual terms.

You can find out more about making changes to this in this wiki and other things related. Dont forget, you can't change the file, but only override it with file. You need to have a basic amount of instructions in file, or else this won't work.

If by chance you have a CSRF (Cross Site Request Forgery) problem while running it locally, again search in this wiki. This issue should be gone when you deploy it onto the web server.

Installing other things such as extensions and plugins should also be easy, but as this is perl territory, expect a few perl modules to be missing here and there and tell your admin to install these modules for you.

Everything else, such as web server deployment should also be smooth. Making scrips, adding new ones, cronjobs, all should be perfectly working.

You can also deploy web based clients to start up RT-mailgate system.

You are welcome to make changes to this if you find something wrong!