Guide to Installing OTRS Community Edition Ticketing System on Alma Linux 8

OTRS ((Community Edition)) stands for “Open Source Trouble Ticket System” and is a robust, versatile, and open-source service management suite. Recognized for being one of the most widely used ticketing tools by help desks, call centers, and IT service management teams globally, OTRS is a reliable choice. Written in the PERL programming language, it employs MariaDB as its database backend. The software is composed of three primary components: an admin dashboard, an agent portal, and a customer portal. Its intuitive design makes it easy to migrate from other popular solutions.

This guide will walk you through the installation of OTRS ((Community Edition)) Ticketing Software on Alma Linux 8.

Prerequisites

  • Ensure that a server is running Alma Linux 8.
  • Have a configured root password on the server.

Install Required Dependencies

Before proceeding, it’s necessary to install the EPEL repository along with other dependencies.

Start by installing the EPEL repository and enabling the Powertools repository with the following commands:

dnf install epel-release -y 
dnf config-manager --set-enabled powertools

Then, install additional required dependencies with:

dnf install gcc expat-devel procmail mod_perl perl perl-core sharutils -y

Install Apache and MariaDB

For OTRS to function, you need to have the Apache web server and MariaDB database server installed. This can be done using:

dnf install httpd mariadb-server -y

Afterwards, start and enable Apache and MariaDB services:

systemctl start httpd mariadb
systemctl enable httpd mariadb

Create Database for OTRS

Secure the MariaDB installation and set the root password using:

mysql_secure_installation

Respond to the prompts as follows:

    Enter current password for root (enter for none): 
    Set root password? [Y/n] Y
    New password: 
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y

Once secured, enter the MariaDB shell:

mysql -u root -p

Create a database and a user for OTRS with:

MariaDB [(none)]> CREATE DATABASE otrs character set UTF8 collate utf8_bin;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON otrs.* TO 'otrs'@'localhost' IDENTIFIED BY 'password';

Flush privileges and exit:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Edit the MariaDB configuration to optimize performance:

nano /etc/my.cnf.d/mariadb-server.cnf

Append these lines to the [mysqld] section:

    max_allowed_packet=256M
    character-set-server=utf8
    collation-server=utf8_general_ci
    innodb_buffer_pool_size=4G
    innodb_log_file_size=1G

Save, close the file, and restart MariaDB:

systemctl restart mariadb

Install OTRS

Create a dedicated OTRS user:

useradd otrs

Add the OTRS user to the Apache group:

usermod -G apache otrs

Download the latest OTRS version:

wget https://otrscommunityedition.com/download/otrs-community-edition-6.0.33.zip

Unzip the downloaded file:

unzip otrs-community-edition-6.0.33.zip

Move the extracted directory:

mv otrs-community-edition-6.0.33 /opt/otrs

Review required Perl modules:

perl /opt/otrs/bin/otrs.CheckModules.pl

Install all necessary Perl modules:

cpan Date::Format
cpan DateTime
cpan DateTime::TimeZone
cpan Mail::IMAPClient
cpan Moo
cpan Net::DNS
cpan Template
cpan Template::Stash::XS
cpan XML::LibXML
cpan YAML::XS

Configure OTRS

Set up database settings in the OTRS configuration file. First, rename the configuration file:

cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

Edit the configuration with this command:

nano /opt/otrs/Kernel/Config.pm

Include your database settings:

    # The database name
    $Self->{Database} = 'otrs';

    # The database user
    $Self->{DatabaseUser} = 'otrs';

    # The password of the database user. Options for password encryption are available.
    $Self->{DatabasePw} = 'password';

Save changes, then edit the Apache Perl configuration:

nano /opt/otrs/scripts/apache2-perl-startup.pl

Uncomment these lines:

    use DBD::mysql ();
    use Kernel::System::DB::mysql;

Save the file and verify the configuration syntax:

perl -cw /opt/otrs/bin/cgi-bin/index.pl
perl -cw /opt/otrs/bin/cgi-bin/customer.pl
perl -cw /opt/otrs/bin/otrs.Console.pl

Adjust permissions:

/opt/otrs/bin/otrs.SetPermissions.pl

Configure Apache for OTRS

To facilitate online access to OTRS, replicate its Apache configuration file to the Apache configuration directory:

ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/otrs.conf

Restart the Apache service to implement these changes:

systemctl restart httpd

Verify Apache’s status:

systemctl status httpd

This should be the output:

? httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
       Active: active (running) since Sat 2022-02-19 08:11:23 UTC; 8min ago
         Docs: man:httpd.service(8)
     Main PID: 39353 (/usr/sbin/httpd)
       Status: "Total requests: 113; Idle/Busy workers 100/0; Requests/sec: 0.236; Bytes served/sec: 2.9KB/sec"
        Tasks: 278 (limit: 23696)
       Memory: 577.3M
       CGroup: /system.slice/httpd.service
               ??39353 /usr/sbin/httpd -DFOREGROUND
               ??39492 /usr/sbin/httpd -DFOREGROUND
               ??39493 /usr/sbin/httpd -DFOREGROUND
               ??39494 /usr/sbin/httpd -DFOREGROUND
               ??39496 /usr/sbin/httpd -DFOREGROUND
               ??39722 /usr/sbin/httpd -DFOREGROUND

Start the OTRS daemon with:

sudo -u otrs /opt/otrs/bin/otrs.Daemon.pl start

You’ll see this message:

Manage the OTRS daemon process.

    Daemon started

Access OTRS Web Installer

Open your web browser and head to the OTRS web installation wizard using http://your-server-ip-address/otrs/installer.pl. The installer page should appear:

Proceed by clicking the Next button to display the License terms.

Click Accept license and continue, leading you to the database selection page:

Select MySQL and click Next. Enter the database settings:

Fill in the database information and verify the settings. Upon successful connection:

Click Next. The resultant pages will navigate through system settings and email configurations, as seen below:

If not configuring email now, select skip this step. You will then access the start page URL and finally the OTRS login page:

Enter your credentials and login to access the OTRS dashboard:

Conclusion

Congratulations! You’ve successfully installed OTRS ((Community Edition)) on Alma Linux 8. You can now integrate OTRS into your organization and leverage it for efficient ticket management. Should you have any questions, feel free to reach out.

Frequently Asked Questions (FAQ)

1. What is OTRS ((Community Edition))?

OTRS ((Community Edition)) is an open-source service management software that helps streamline ticketing, primarily used in help desks, call centers, and IT service teams.

2. Can I migrate my existing ticketing system to OTRS?

Yes, OTRS provides intuitive mechanisms to easily migrate from other popular solutions.

3. Is it mandatory to configure email during the installation?

No, you can skip email configuration during the initial setup and configure it later.

4. What should I do if I encounter any issues during installation?

You may revisit each step ensuring configurations and modifications are correctly implemented. Consult official OTRS documentation or seek community support if needed.