Installing OTRS 2.14 (Open source Ticket Request System) on CentOS 4.4

OTRS is a trouble ticket system with many features to manage customer telephone calls and e-mails. The system is built to allow your support, sales, pre-sales, billing, internal IT, helpdesk, etc. department to react quickly to inbound inquiries. This How-To is specifically intended to help install and run OTRS ( It is not intended to go over using, configuring, or administering OTRS. For those types of questions, please refer to the OTRS website.

The basic steps of this installation are:

1. Preparing the Operating System
2. Installing Perl dependencies
3. Preparing MySQL
4. Updating Apache
5. Installing OTRS

Preparing the Operating System

1. Install CentOS 4.4 Server Minimal (disable the firewall and SELinux)

2. Import the CentOS GPG key

rpm --import

3. Install required packages

yum -y install gcc cpp glibc-devel glibc-headers glibc-kernheaders mysql mysql-server perl-DBD-MySQL perl-DBI mysql-devel e2fsprogs-devel krb5-devel openssl-devel zlib-devel openssl gd gd-devel freetype-devel libjpeg-devel libpng-devel xorg-x11-devel fontconfig-devel pkgconfig xorg-x11-libs expat-devel gdbm-devel perl-DBD-MySQL httpd-devel apr apr-devel apr-util apr-util-devel cyrus-sasl-devel db4-devel httpd httpd-suexec openldap-devel pcre-devel

4. Update all existing packages installed on the system

yum –y update

5. Clean out the yum cache to re-capture disk spaced used during the update process

yum clean all

Installing Perl dependencies

1. Start the MySQL database server

service mysqld start

2. Run cpan and perform a manual configuration(accept all dependencies that cpan pauses for)


3. Upgrade cpan by installing the CPAN Bundle

install Bundle::CPAN

4. Quit cpan to re-initialize it


5. Run cpan to install perl dependencies

cpan (hit enter until you get to the cpan[1] prompt)

6. Commit cpan configuration changes

o conf commit

7. Install packages. The order is important, so install in this exact order.

install CGI Date::Pcalc Date::Format DBI DBD::mysql Digest::MD5 LWP::UserAgent MIME::Base64 MIME::Tools GSSAPI Net::DNS Authen::SASL IO::Socket::SSL Convert::ASN1 XML::SAX::Base

8. Install Net::LDAP package

install Net::LDAP

9. Install graphics related packages

install GD GD::Text GD::Graph XML::Parser PDF::API2 (select n for animated gif support)

10. Install Apache 2 bundle

install Bundle::Apache2

11. Install mod_perl2 package

install mod_perl2 (full path to apxs is /usr/sbin/apxs, skip both test suites)

12. Quit cpan


Preparing MySQL

1. Login to MySQL

mysql -u root

2. Remove empty users from the user table

DELETE FROM mysql.user WHERE User = '';

3. Configure a password for the root user on localhost (replace passwd with an actual password)

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('passwd');

4. Configure a password for the root user on the fully qualified domain name (replace passwd with an actual password and replace fqdn with the actual fully qualified domain name)

SET PASSWORD FOR 'root'@'fqdn' = PASSWORD('passwd');

5. Reload the changes that were just made


6. Quit MySQL


Updating Apache

1. Configure Apache to use mod_perl

vi /etc/httpd/conf/httpd.conf

2. Add the following:

LoadModule perl_module modules/

3. Save and close the file.

4. Create an OTRS configuration file for Apache

vi /etc/httpd/conf.d/otrs.conf

5. Insert the following:

# Basic apache configuration file for OTRS
# agent, admin and customer frontend
ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
# Directory settings
<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes
    Order allow,deny
    Allow from all
<Directory "/opt/otrs/var/httpd/htdocs/">
    AllowOverride None
    Order allow,deny
    Allow from all

6. Save and close the file.

7. Start Apache

service httpd start

Installing OTRS

1. Change to a temporary directory, I used /usr/local/src as an example

cd /usr/local/src

2. Download OTRS with wget


3. Add an OTRS user

useradd -d /opt/otrs/ -c 'OTRS user' otrs

4. Add the OTRS user to the apache group

usermod -G apache otrs

5. Change the permissions of the /opt/otrs directory

chmod g+x /opt/otrs

6. Extract the OTRS files downloaded earlier

tar zxvf otrs-2.1.4.tar.gz

7. Change directories into the extracted OTRS directory

cd otrs-2.1.4

8. Copy all the files to /opt/otrs

cp -R * /opt/otrs

9. Change directories to /opt/otrs/Kernel

cd /opt/otrs/Kernel

10. Copy the main config file, to


11. Change directories to Config

cd Config

12. Create new files from the included samples

for foo in *.dist; do cp $foo `basename $foo .dist`; done

13. Change directories to /opt/otrs/bin

cd /opt/otrs/bin

14. Update permissions

./ /opt/otrs otrs apache apache apache

15. Confirm that all the perl modules are installed (should return with OK)


16. Confirm that the installer file exists (should return with OK)

perl -cw cgi-bin/

17. Confirm that the postmaster file exists (should return with OK)

perl -cw

18. Change directories to /opt/otrs/var/cron

cd /opt/otrs/var/cron

19. Create new files from the included samples

for foo in `ls -1 *.dist` ; do cp $foo `basename $foo .dist`; done

20. Change directories to /opt/otrs/bin/

cd /opt/otrs/bin/

21. Switch to the OTRS user

su otrs

22. Create the cron entries for OTRS

./ start

23. Switch back from the OTRS user


24. Open the OTRS installer in a browser (Use the actual domain name/ip address, not the example one listed below)

25. Accept the license by clicking accept license

26. Enter the following information:

Admin-user: root
Admin-Password: password entered in Prepare MySQL step 4
Host: localhost
Type: MySQL

User: otrs
Password: password entered in Prepare MySQL step 4
DB connect host: localhost
Name: otrs
Action: Create

27. Click Next

28. Click Next

29. Enter the following information:

SystemID: Choose any value
System FQDN: Enter FQDN
AdminEmail: Enter valid email address
Organization: Enter Organization name
LogModule: SysLog
LogFile: /tmp/otrs.log
Default CharSet: utf-8
Default Language: English
CheckMXRecord: Yes

30. Restart Apache

service httpd restart

31. Open OTRS in a browser (Use the actual domain name/ip address, not the example one listed below)

32. Login with the following credentials

Username: [email protected]
Password: root

Share this page:

Suggested articles

9 Comment(s)

Add comment


By: Dooyun Kim

I am using CentOS 5.x and wondering if it's okay to use this script on v5.x.

If not, any plan to update it?

By: Linux ETC

I was just able to install OTRS v2.3.2 from the above instructions on CentOS 5.2 just fine, so I would say they are relatively current.

One difference with my installation (which also has DotProject and Drupal based web sites running in full) is that under the Apache part (2) of editing the /etc/httpd/conf/httpd.conf file with

LoadModule perl_module modules/

was not needed, but then there is another sys admin that did the Drupal work so this could have been added as a result of one of those two other applications on this same server (have to love virtual web hosting! )

HTH and good luck with it!

Linux ETC


By: Jeremy

When I try to go to /otrs/ it gives me a error 500, when I go and have a look at the error.log it says: Premature end of script headers: Any idead how I fix this? I installed at a CentOS 5.0 w/ OTRS 2.3.4

By: Anonymous

I installed with Redhat 8 rpm on CentOS5 and there is no problem. Just follow the steps before you reach otrs installation and then install the otrs Redhat package.

By: Anonymous

We installed OTRS using the tutoril and everything went well. The server is a linux plesk server. But when we access the OTRS url we get the error "403"(Forbidden). The URL we use is of the format

 In the backend we get the error as shown below.



 [Sun Jan 31 11:42:57 2010] [error] [client x.x.x.x] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/vhosts/
[Sun Jan 31 11:42:59 2010] [error] [client x.x.x.x.] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden:




We have made sure that the "FollowSymLinks" is added as apache directive in httpd.conf and http.include of the domain.


Please share with me whether there is any resolution for this issue.


Thank you. 

By: Anonymous

everything worked fine for me at centos 5.2, but when i try to login with [email protected] and pass root, i just log in to a completely white page..any ideas? thanx you

By: prob

i installed otrs in centos 5.2,everything went well,but when i write [email protected] and the pass "root",nothing happend,and my broswer goes to a completely white/blank page,any idea? Thank you.

By: Mauricio Wittenberg

Hi, I'm having exactly the same problem in Centos 5.5. Did you ever manage to solve the problem?



By: Kenu

Hi, I'm getting the same problem. I'm using centos 6.4 and otrs 3.3. Did you solve the problem? Thanks.