is the leading open-source Help Desk and IT Service Management (ITSM)
solution used by thousands of organizations worldwide.
This guide explains the steps involved in installing the latest OTRS release on a minimal CentOS 6.2 installation.
CentOS (Community ENTerprise Operating System) is an Enterprise-class
Linux Distribution derived from sources freely provided to the public by
a prominent North American Enterprise Linux vendor.
Due to the length of this guide, it had to be split in two parts. The
first part will focus on getting CentOS 6.2 ready for the OTRS 3.1
installation, while the second part will be about installing and
extending OTRS 3.1.
Part 1 – A minimal CentOS 6.2 install
Head over to http://isoredirect.centos.org/centos/6/isos/i386/ and pick a nearby mirror. Download the CentOS-6.2-i386-minimal.iso installation media.
Verify the download against the provided md5 or sha1 checksum, the files
are located in the same directory as the iso files (md5sum.txt and
The download is valid if the checksums on line 2 and 5 are shown, if you get no result then the image is corrupt.
- Boot the installation media and choose Install or upgrade an existing system.
CentOS 6.2 Install
- Test the media, or skip and head directly to the installation.
CentOS 6.2 media check
- Installation commences.
CentOS 6.2 – Start installation
- Select your language of choice.
CentOS 6.2 – Select language
- Select your keyboard layout.
CentOS 6.2 – Keyboard layout
- Choose installation device. Select the basic storage option (unless you know you have an enterprise storage solution that is).
CentOS 6.2 – Installation device
- Storage device warning. This message will trigger by blank,
unpartitioned or virtual devices. If that’s you then it’s safe to
discard any data.
CentOS 6.2 – Storage device warning
- Choose a hostname for your system and click the “Configure Network” button.
CentOS 6.2 – Set hostname
- Network configuration. The network connection will obviously depend
on your network but in this (common) scenario we’re configuring the
wired interface eth0. Click on the edit button for eth0 and tick the
connect automatically option. Configure the IPv4 settings by selecting
“Method”: Manual, then click “Add” to fill out the “Address”, “Netmask”
and “Gateway” details. Finally add your DNS servers, and if applicable,
CentOS 6.2 – Network configuration
- Select your timezone from the map.
CentOS 6.2 – Select timezone
- Set the root password.
CentOS 6.2 – Set root password
- Select type of installation. Select the “Use all space” alternative if you’re not dual booting other systems on the same device.
CentOS 6.2 – Installation type
- Write changes to disk. If you made any mistakes, this is the last point of return.
CentOS 6.2 – Write configuration to disk
- CentOS 6.2 is installing, refill empty cups of coffee now.
CentOS 6.2 – installation progress
- We’re done, reboot to fire up your new system.
CentOS 6.2 – Installation completed
Part 1.1 – CentOS 6.2 firewall / SELinux and additional packages
When the installation is finished, lets update the system by running the command:
Import the CentOS-6 GPG key when asked.
Disabling Security-Enhanced Linux (SELinux) is a requirement to get OTRS running, and I won’t be debating the topic further.
Edit the SELinux configuration with the command:
Change the directive SELINUX=enforcing to SELINUX=disabled. Then reboot the system to replace the current policy. Type the command:
which should now return the message: SELinux status: disabled
Install some programs and utilities that will be needed to further configure CentOS and OTRS with the command:
Configuring the firewall
The only inbound services we want to allow are ssh and apache, everything else will be closed down.
Let’s use the recently installed text interface for basic firewall configuration. Run the command:
- Make sure the firewall is enabled and select “Customize”.
CentOS 6.2 – Customize firewall
- Trusted services, select SSH and WWW (HTTP). Navigate by using <Tab> / <Alt tab> and select with <Space>
CentOS 6.2 – Trusted services
- Other ports, we have no need for additional ports so continue forward.
CentOS 6.2 – Select ports
- Trusted interfaces, do not select any trusted interfaces as that will allow full access to the system for that interface.
CentOS 6.2 – Trusted interfaces
- Masquerading, not needed with this configuration.
CentOS 6.2 – Masquerading
- Port forwarding, not needed with this configuration.
CentOS 6.2 – Port forwarding
- ICMP filter, no need to change anything.
CentOS 6.2 – ICMP
- Custom rules, not needed with this configuration.
CentOS 6.2 – Custom rules
- Finish the firewall configuration by clicking “OK” when returned to the main screen, and select “Yes” to install the new rules.
CentOS 6.2 – Install firewall rules
Part 1.2 – Configuring services for CentOS 6.2
Lets start the cron daemon with the command:
Update the file name database by running the command:
Configure logwatch, system log analyzer and reporter by running the command:
and set the directives:
MailTo = email@example.com
Detail = 10 (the most detailed report)
Install the MySQL server
We’ll be using the chkconfig utility to configure which services are to be started in selected runlevels.
The next four commands will take care of the following steps:
1) Install the MySQL server.
2) Configure the runlevels.
3) Start the MySQL server.
4) Secure the MySQL installation.
When securing the MySQL installation, just set a root password and answer yes to the rest of the questions.
Install the Apache web server
The next tree commands will take care of the following steps:
1) Install the Apache web server.
2) Configure the runlevels.
3) Start the web server.
Add our fqdn (fully qualified domain name) to /etc/hosts
Use the command
For the domain otrs.paranoidpenguin.net the entry should look like this:
xxx.xxx.80.99 otrs.paranoidpenguin.net otrs
This is necessary for certain programs to operate correctly and should match the output of the command: hostname -f. Alternatively you might check the contents of the file /etc/sysconfig/network
*This is not really needed as OTRS will be happy using an external
SMTP server, so if you don’t want to use sendmail then just skip this
Sendmail is already installed due to dependencies, but we’ll need to install the configuration files with the command:
I want to use a smart relay since the outgoing messages in my case will pass through a spam filter.
Lets edit the sendmail macro config file with the command:
Edit the SMART_HOST directive with your outgoing (external) mail server.
The entry should be in this format:
That’s all there is to it. Now run the following commands to update
the sendmail configuration and to restart the sendmail server.
Check your new configuration by sending a test mail:
(from: http://www.blog.paranoidpenguin.net/2012/04/how-to-install-otrs-3-1-on-centos-6-2-part-1/ )