How to Install and Configure OTRS (Ticketing Tool) on CentOS 7 / RHEL 7

OTRS is a free and open source ticketing tool available for Linux like operating systems. OTRS stands for “Open Source Trouble Ticket System“. In opensource world it is one of the most popular trouble ticketing tool used by help desk, call centers and IT service management team in various organizations.

Install-OTRS-CentOS7-RHEL7

In this article we will demonstrate how to install and configure OTRS 6 (Community Edition) on a CentOS 7 & RHEL 7 System. To Install OTRS community edition on a Linux system we need one database server (MariaDB, MySQL & PostgreSQL), Web Server (Apache & Ngnix) and Perl modules.

Following are the recommended hardware and software requirements for OTRS 6

  • 8 GB RAM
  • 3 GHZ Xenon
  • 256 GB Disk space
  • Perl 5.16 or higher
  • Web Server (Apache 2 or NGINX)
  • Database (MariaDB, MySQL & PostgreSQL 9.2 or higher)

Details of my lab setup for OTRS 6

  • Minimal CentOS 7 Or RHEL 7 System
  • Hostname: otrs.linuxtechi.lan
  • IP Address: 192.168.1.30
  • RAM: 4 GB
  • vCPU: 2
  • Disk Space: 40 GB

Let’s jump into the OTRS 6 installations steps,

Step:1) Apply all system updates and reboot the system

Login to your CentOS 7 or RHEL 7 system and execute the beneath yum update command to apply all the system updates and then reboot it,

[[email protected] ~]# yum update && reboot

Note: Put SELinux in permissive mode, even OTRS official web site suggests to disable SELinux, execute the below command.

[[email protected] ~]# setenforce 0
[[email protected] ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/sysconfig/selinux

Step:2) Install Web Server (Apache) and Database Server (MariaDB)

Install Apache Web Server and MariaDB database server using the beneath yum command,

[r[email protected] ~]# yum install httpd httpd-devel gcc mariadb-server -y

Start and enable the Apache Web service using below commands,

[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[[email protected] ~]#

Update the following parameters under the [mysqld] directive in /etc/my.cnf file for OTRS

[[email protected] ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_allowed_packet=64M
query_cache_size=32M
innodb_log_file_size=256M
character-set-server=utf8
collation-server=utf8_unicode_ci

Save & exit the file

Start and enable the database (mysql) service using the beneath systemctl commands,

[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[[email protected] ~]#

Configure the root password of mariadb database, remove the test database, remove anonymous users and disable root login remotely.

Run “mysql_secure_installation” command to accomplish above said tasks

[[email protected] ~]# mysql_secure_installation

Output of above command should be something like below,

mysql-secure-installation-centos7-part1

mysql-secure-installation-centos7-part2

Step:3) Install Community Edition OTRS 6 using yum command

At time of writing of this article community edition of OTRS 6 is available, use the below yum command to install it from command line.

[[email protected] ~]# yum install https://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-6.0.17-01.noarch.rpm -y

Above command will also install the dependencies of OTRS 6 automatically,

Once the OTRS 6 package is installed successfully then restart apache web service,

[[email protected] ~]# systemctl restart httpd
[[email protected] ~]#

Step:4) Allow http & https ports in OS firewall

In case OS firewall is running and enabled on your system then execute the following firewall-cmd command to allow http (80) and https (443) port, else you can skip this step.

[[email protected] ~]# firewall-cmd --permanent --add-service=http
success
[[email protected] ~]# firewall-cmd --permanent --add-service=https
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Step:5) Verify and install required perl modules for OTRS

OTRS to work properly, perl modules are required, to verify whether all required perl modules are installed or not run the below command

[[email protected] ~]# /opt/otrs/bin/otrs.CheckModules.pl

Output of above command would be something like below,

Perl-Modules-Check-OTRS-CentOS7

As we can see above there are number of perl modules which are not installed. So to proceed with installation first install the missing perl modules.

Some of the perl modules are not available in the default yum centos 7 / RHEL 7 repositories, so enable the epel repository using following yum command,

[[email protected] ~]# yum install epel-release -y

Now install the missing perl modules using the following yum command,

[[email protected] ~]# yum install "perl(Crypt::Eksblowfish::Bcrypt)" "perl(DBD::Pg)" "perl(Encode::HanExtra)" "perl(JSON::XS)" "perl(Mail::IMAPClient)" "perl(Authen::NTLM)" "perl(ModPerl::Util)" "perl(Text::CSV_XS)" "perl(YAML::XS)" -y

Re-run the command “/opt/otrs/bin/otrs.CheckModules.pl” to verify whether all the required perl modules are installed successfully or not.

[[email protected] ~]# /opt/otrs/bin/otrs.CheckModules.pl

OTRS-Perl-Modules-CentOS7

Step:5) Access OTRS 6 Web Installer GUI

Type the following URL in your web browser

http://<OTRS-Server-IP-Adrress>/otrs/installer.pl

In my case URL is  “http://192.168.1.30/otrs/installer.pl”

Install-OTRS-License-CentOS7

Click on Next …

In the Next Window, Accept the License

Install-OTRS-Accept-License

In the Next Step select the database you want to use for OTRS, so in my case I am selecting as “MySQL” and select option to create a new database for OTRS and then click on Next…

Database-Selection-OTRS-Installation-CentOS7

In the next window specify the root password of mariadb database server, host where mariadb is running and rest of the things installer will automatically pick like OTRS database name, user name and its password.

OTRS-Database MySQL-CentOS7

Click on Next to proceed further,

OTRS-Database-Successfully-CentOS7

As we can see above, Installer has successfully setup Database for OTRS, Click on Next…

Install-OTRS-System-Settings-CentOS7

Specify the FQDN of your OTRS server, admin email address, Organization and Choose “No” against CheckMXRecord option in case your domain don’t have MX record .

In the next window SKIP mail configuration, In case you have already configured MTA or SMTP relay server then specify the details else skip

OTRS-Configure-Mail-CentOS7

In Next window you will get message that OTRS has been installed successfully, OTRS Start Page URL, user name and its password.

OTRS-Installation-Finished-Message-CentOS7

Step:6) Access Your OTRS Startup page

Now it’s time to access your otrs startup page, type the following URL in your web browser. Use the user name as “[email protected]” and password which is displayed in above step.

http://192.168.1.30/otrs/index.pl

Replace the IP address that suits to your environment.

OTRS-Login-Page-CentOS7

OTRS-Dashboard-CentOS7

As we can see on the dashboard OTRS daemon is not running, so let’s start it using otrs user,

[[email protected] ~]# su - otrs
[[email protected] ~]$ /opt/otrs/bin/otrs.Daemon.pl start
Manage the OTRS daemon process.
Daemon started
[[email protected] ~]$ /opt/otrs/bin/Cron.sh start
(using /opt/otrs) done
[[email protected] ~]$

Now refresh the page, “OTRS daemon not running” message should go away.

OTRS-Clean-Dashboard-CentOS7

This confirm that Community Edition OTRS 6 has been installed successfully, that’s all from this article, please do share your feedback and comments in the comments sections below.

23 thoughts on “How to Install and Configure OTRS (Ticketing Tool) on CentOS 7 / RHEL 7”

  1. Thanks Pradeep. I very much needed the OTRS system for my internal organization work. Although I dont have CentOS, I will be able to make use of the post here.

    Reply
  2. Thanks for a wonderful step by step guide. I faced a problem in installing the modules using the following command string
    # yum install “perl(Crypt::Eksblowfish::Bcrypt)” “perl(DBD::Pg)” “perl(Encode::HanExtra)” “perl(JSON::XS)” “perl(Mail::IMAPClient)” “perl(Authen::NTLM)” “perl(ModPerl::Util)” “perl(Text::CSV_XS)” “perl(YAML::XS)” -y

    I tried using the alternative way but no success, however, OTRS still got installed

    Reply
  3. Hi Pradeep,

    Really thank you allot for such a wonderful article.
    Can you create an article on the OTRS email configuration?

    Reply
  4. What is the default “otrs” user password? In my case I had to reset the new password though.

    Otherwise, overall installation was straight forward with these steps.

    Thanks

    Anwar

    Reply
  5. Another problem; I cannot open ‘http://MyIPAdrress/otrs/customer.pl’

    Getting error as below:
    ——————————-
    An Error Occurred
    Access denied for user ‘otrs’@’localhost’ (using password: YES)

    Please contact the administrator.

    Reply
  6. Facing an issue with my.cnf file. getting below error,
    ‘Error: Please set the value for innodb_log_file_size on your database to at least 256 MB (current: 48 MB, recommended: 512 MB). For more information, please have a look at ‘http://dev.mysql.com/doc/refman/5.6/en/innodb-data-log-reconfiguration.html.’
    When I changed the value to 256 MB, MariaDB Service is in a failed state.
    Please help.

    Reply
  7. followed the instructions…. but for mail configuration what will i do? have already configured imap server. but dont know any solution how to create a outbound mail server so that OTRS agent can reply.
    please help

    Reply
  8. Great article, saved my day, thank you very much for sharing.

    I would only like to point out 2 things:

    1. Internet access
    2. extra perl modules (OTRS otrs-6.0.27-02)

    ad 1. Internet access

    I have been installing OTRS inside private network with no direct internet access, only through HTTP forward proxy — the forward proxy configuration at OS level is fine and is working as expected, howerer, I was unable to pass those settings to mod_perl executing the OTRS itself, for some reason the standard OS environment variables (http_proxy, https_proxy) are not taken into account. The setup wizard and first login has been pain — it tried to contact otrs public website, which did not succeed.

    Temporarily I was forced to break the security policy and configure direct Internet access to the instance and complete the setup with full Internet access enabled.

    ad 2. extra modules

    yum -y install https://harbottle.gitlab.io/epmel/7/x86_64/epmel-release.rpm
    yum update
    yum install “perl(Moo)” “perl(namespace::clean)” “perl(Exporter::Tiny)” “perl(Math::Random::ISAAC)” “perl(Module::Find)” -y

    Reply
  9. Good afternoon guys, I am trying to install perl on my server and I am facing this error below.

    [[email protected] otrs]# yum -y ‘http://mirror.globo.com/epel/7/x86_64/e/epel-r release-7-9.noarch.rpm’
    Não existe este comando: ‘http://mirror.globo.com/epel/7/x86_64/e/epel-r’. Por favor utilize /bin/yum –help
    It could be a YUM plugin command, try: “yum install ‘dnf-command(‘http://mirror.globo.com/epel/7/x86_64/e/epel-r’)'”
    [[email protected] otrs]# yum install ‘https://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-6.0.17-01.noarch.rpm’ -y
    Última verificação de expiração de metadados: 2:57:53 em qua 13 jan 2021 12:12:26 UTC.
    otrs-6.0.17-01.noarch.rpm 45 MB/s | 24 MB 00:00
    Erro:
    Problema: conflicting requests
    – nothing provides perl(DateTime) needed by otrs-6.0.17-01.noarch
    – nothing provides perl(Crypt::SSLeay) needed by otrs-6.0.17-01.noarch
    (try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

    I’m use CentOS8 in my server.

    Reply
    • As you are using CentOS 8 system. So enable EPEL repository for CentOS 8 only. Run below command to enable it.

      # dnf install -y epel-release

      For Installing OTRS rpm package use below command

      # dnf install -y ‘https://ftp.otrs.org/pub/otrs/RPMS/redhat/8.0/otrs-2.4.15-01.noarch.rpm’

      Reply
  10. hi ,
    Loaded plugins: fastestmirror, langpacks
    Cannot open: ‘https://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-6.0.17-01.noarch.rpm.’ Skipping.

    i am getting above error while downlading otrs

    Reply
  11. On Almalinux i installed MariaDB by dnf, mysql and maridb command work properly, service work fine, but otrs*.sh can`t see my mariadb instance. I can`t get what is wrong 🙁

    Reply

Leave a Reply to NNT Cancel reply