Adjective: Comparative form of nerdy: more nerdy.


Installing OTRS on a cPanel server.

OTRS is an open source ticketing system –

Download the latest source from –

   cd /opt
   tar -xvf otrs-3.2.3.tar.gz
   mv otrs-3.2.3 otrs
   mv otrl /opt/

Check which perl modules are missing

perl /opt/otrs/bin/

Install any missing ones with CPAN

perl -MCPAN -e shell;

For example

cpan> install ModPerl::Util

Setup a subdomain in cPanel, eg

Activate default config files

cd /opt/otrs/
cp Kernel/ Kernel/
cp Kernel/Config/ Kernel/Config/

Run the permissions script, replacing <cPanel username> with the actual username of the account.

bin/ --otrs-user=<cPanel username> --web-user=nobody --otrs-group=<cPanel username> --web-group=nobody /opt/otrs

Change the document root of the subdomain (where username is the cPanel username) to /opt/otrs/bin/cgi-bin/

nano /var/cpanel/userdata/(username)/

Setup apache config includes

nano /usr/local/apache/conf/httpd.conf

Find the virtual host for your subdomain and uncomment the line that says;

Include "/usr/local/apache/conf/userdata/std/2/<username>/*.conf"

Make the include directory

mkdir -p /usr/local/apache/userdata/std/2/(username)/

Create the httpd config

nano /usr/local/apache/userdata/std/2/(username)/

and paste the following into the file

Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
ScriptAlias / "/opt/otrs/bin/cgi-bin/"
<IfModule mod_perl.c>
       Perlrequire /opt/otrs/scripts/
       PerlModule Apache2::Reload
       PerlInitHandler Apache2::Reload
       PerlModule Apache2::RequestRec
<Directory "/opt/otrs/bin/cgi-bin/">
       AllowOverride None
       Options +ExecCGI -Includes
       Order allow,deny
       Allow from all
           ErrorDocument 403 /
<Directory "/opt/otrs/var/httpd/htdocs/">
       AllowOverride None
       Order allow,deny
       Allow from all
<IfModule mod_headers.c>
<Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache">
<FilesMatch "\.(css|CSS)$">
               Header set Cache-Control "max-age=2592000 must-revalidate"
<Directory "/opt/otrs/var/httpd/htdocs/js/js-cache">
<FilesMatch "\.(js|JS)$">
               Header set Cache-Control "max-age=2592000 must-revalidate"

Run the verify vhosts includes script to make sure it won’t break anything


Edit the otrs index.html and change /otrs/ to / on the second meta line.

nano /opt/otrs/var/httpd/htdocs/index.html

Rebuild your httpd.conf


Restart apache

service httpd restart

Correct permissions on the otrs directory

chmod -R 755 /opt/otrs/bin/cgi-bin/

Now you just need to run the installer


Go to in your browser and run through the wizard (you /will/ need to use the MySQL root login to create the database).

The root MySQL password can be found in;

cat /root/.my.cnf

If it all goes well you will be able to login to with;

user: root@localhost
pass: root

Once logged in you can go to ‘manage agents’ and click on root@localhost to change the username/password.


Leave a Reply

Your email address will not be published. Required fields are marked *