Friday, December 27, 2024
Google search engine
HomeUncategorisedInstall OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04

Install OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04

In this guide, we’ll cover the installation of OTRS (OTOBO) Ticketing system on Ubuntu 22.04/20.04/18.04 Linux system. OTOBO is a popular Open-source, modern and flexible Ticketing and Process management system with a wide range of features that are customization. It can be used for General IT issues resolution tracking, for help desk tickets or by the Customer Service department. OTOBO is forked and developed as Open source alternative to now commercial OTRS.

The OTOBO (OTRS) software is written in Perl/JavaScript and it comprises of ticketing, workflow automation, and notification modules. All tickets are managed from its web interface.

OTOBO supports several database systems which include PostgreSQL, MySQL, MS SQL and Oracle. In this, we will use the MariaDB database server. The installation of OTRS (OTOBO) ticketing system on Ubuntu 22.04|20.04|18.04 need the following software dependencies:

  • MariaDB database server
  • Apache web server
  • Perl and additional Perl modules

Let’s now dive into the installation steps of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.

Step 1: Update Ubuntu System

Let’s update and upgrade the packages installed on our Ubuntu system

sudo apt update
sudo apt upgrade

Wait for the system packages to be upgraded then reboot your system if kernel related updates were made.

sudo systemctl reboot

Step 2: Install Docker CE on Ubuntu

We will run OTOBO (OTRS) on Docker containers in our Ubuntu system. Docker CE has to be installed manually in the system since it is not pre-installed.

Import repository GPG key:

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Add Docker APT repository

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 Afterward, install Docker Engine and containerd on Ubuntu:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker

Start Docker service after installation:

sudo systemctl start docker
sudo systemctl enable docker

Docker service should return green status – running:

$ systemctl status docker
docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-08-16 22:36:12 UTC; 15s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 28127 (dockerd)
      Tasks: 9
     Memory: 26.5M
        CPU: 423ms
     CGroup: /system.slice/docker.service
             └─28127 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 16 22:36:11 jammy systemd[1]: Starting Docker Application Container Engine...
Aug 16 22:36:11 jammy dockerd[28127]: time="2023-08-16T22:36:11.775182210Z" level=info msg="Starting up"
Aug 16 22:36:11 jammy dockerd[28127]: time="2023-08-16T22:36:11.776419415Z" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/res>
Aug 16 22:36:11 jammy dockerd[28127]: time="2023-08-16T22:36:11.930732898Z" level=info msg="Loading containers: start."
Aug 16 22:36:12 jammy dockerd[28127]: time="2023-08-16T22:36:12.286211587Z" level=info msg="Loading containers: done."
Aug 16 22:36:12 jammy dockerd[28127]: time="2023-08-16T22:36:12.315186202Z" level=info msg="Docker daemon" commit=a61e2b4 graphdriver=overlay2 version=24.0.5
Aug 16 22:36:12 jammy dockerd[28127]: time="2023-08-16T22:36:12.315497957Z" level=info msg="Daemon has completed initialization"
Aug 16 22:36:12 jammy dockerd[28127]: time="2023-08-16T22:36:12.372461319Z" level=info msg="API listen on /run/docker.sock"
Aug 16 22:36:12 jammy systemd[1]: Started Docker Application Container Engine.

Step 3: Install Docker Compose on Ubuntu

Follow our guide in the link to install Docker Compose on your Ubuntu system.

Confirm installation ofDocker Compose on Ubuntu by checking version with below command:

$ docker-compose version
Docker Compose version v2.20.3

Step 4: Deploy OTRS (OTOBO) on Ubuntu using Docker

We should now be able to runOTRS (OTOBO) on Ubuntu after installation of Docker.

Install git tool:

sudo apt install git

Use git to pull Otobo code from Github:

$ git clone https://github.com/RotherOSS/otobo-docker.git
Cloning into 'otobo-docker'...
remote: Enumerating objects: 717, done.
remote: Counting objects: 100% (488/488), done.
remote: Compressing objects: 100% (233/233), done.
remote: Total 717 (delta 274), reused 382 (delta 195), pack-reused 229
Receiving objects: 100% (717/717), 126.70 KiB | 8.45 MiB/s, done.
Resolving deltas: 100% (417/417), done.

You can list folder contents:

$ ls otobo-docker
LICENSE  README.md  docker-compose  etc  scripts

The Docker Compose configuration file .env allows you to manage your installation of OTOBO

$ ls otobo-docker/.docker_compose_env_http*
otobo-docker/.docker_compose_env_http   otobo-docker/.docker_compose_env_https_custom_nginx  otobo-docker/.docker_compose_env_https_kerberos
otobo-docker/.docker_compose_env_https  otobo-docker/.docker_compose_env_http_selenium       otobo-docker/.docker_compose_env_https_selenium

If the OTOBO web application is planned to be accessed via HTTPS, then please use .docker_compose_env_https. Access via HTTPS is the recommended mode of operation. If HTTPS is not required then use .docker_compose_env_http as the starting point.

cd otobo-docker
cp -p .docker_compose_env_http .env # or .docker_compose_env_https for HTTP

Configure the password for the database admin user

Update database admin user by changing below parameter inside your .env file:

$ vim .env
OTOBO_DB_ROOT_PASSWORD=Str0ngPassw0rd

The database admin user is needed to create the database user otobo and the database schema otobo. OTOBO will actually use the dedicated database user otobo.

Ensure Elasticsearch JAVA Options values are in quotes:

# Elasticsearch options
OTOBO_ELASTICSEARCH_ES_JAVA_OPTS='-Xms512m -Xmx512m'

Start the Docker containers with Docker Compose

When done with the configurations start the Docker containers by running below commands:

$ docker-compose up --detach
.....
[+] Running 10/10
 ⠿ Network otobo_default              Created                                                                                                                                                    0.1s
 ⠿ Volume "otobo_opt_otobo"           Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_mariadb_data"        Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_elasticsearch_data"  Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_redis_data"          Created                                                                                                                                                    0.0s
 ⠿ Container otobo-redis-1            Started                                                                                                                                                    1.2s
 ⠿ Container otobo-db-1               Started                                                                                                                                                    1.3s
 ⠿ Container otobo-elastic-1          Started                                                                                                                                                    1.3s
 ⠿ Container otobo-web-1              Started                                                                                                                                                    2.1s
 ⠿ Container otobo-daemon-1           Started                                                                                                                                                    3.2s

Check if containers were started successfully:

$ docker-compose ps
NAME                IMAGE                                       COMMAND                  SERVICE             CREATED              STATUS                             PORTS
otobo-daemon-1      rotheross/otobo:latest-10_1                 "/opt/otobo_install/…"   daemon              About a minute ago   Up 18 seconds (health: starting)
otobo-db-1          mariadb:10.5                                "docker-entrypoint.s…"   db                  About a minute ago   Up About a minute (healthy)        3306/tcp
otobo-elastic-1     rotheross/otobo-elasticsearch:latest-10_1   "/bin/tini -- /usr/l…"   elastic             About a minute ago   Up About a minute (healthy)        9200/tcp, 9300/tcp
otobo-redis-1       redis:6.0-alpine                            "docker-entrypoint.s…"   redis               About a minute ago   Up About a minute (healthy)        6379/tcp
otobo-web-1         rotheross/otobo:latest-10_1                 "/opt/otobo_install/…"   web                 About a minute ago   Up 18 seconds (health: starting)   0.0.0.0:80->5000/tcp

A number of Docker Volumes used by the containers can be listed using docker volume ls command:

$ docker volume ls
DRIVER    VOLUME NAME
local     otobo_elasticsearch_data
local     otobo_mariadb_data
local     otobo_opt_otobo
local     otobo_redis_data

Step 5: Configure OTOBO (OTRS) on Web browser

Open the URL http://yourIPorFQDN/otobo/installer.pl on your browser to start OTOBO installer.

http://192.168.20.11/otobo/installer.pl

Click “Next” to begin installation of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.

install OTOBO OTRS CentOS 08 01

Accept License agreement terms to proceed.

install OTOBO OTRS CentOS 08 02

Choose the Database you’ll be using – I’ll go with MySQL. For install type choose “Create a new database for OTOBO

install OTOBO OTRS CentOS 08 03

Input the password for root database user as set in .env. In our guide we used Str0ngPassw0rd

install OTOBO OTRS CentOS 08 04

Check database settings to validate if provided root user credentials are working.

install OTOBO OTRS CentOS 08 05

Use “Next” to proceed to the next step. If successful you should get output like in the screenshot below.

install OTOBO OTRS CentOS 08 06

In the next step, you can edit system settings as desired.

install OTOBO OTRS CentOS 08 07

When you finish configuration the page URL, User and Password details will be printed in the screen. Save the details in a safe place.

install OTOBO OTRS CentOS 08 08

Use provided username and Password to login.

install OTOBO OTRS CentOS 08 09

Reference:

Conclusion

Thanks for using our guide to install Latest release of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.

Similar guides:

RELATED ARTICLES

Most Popular

Recent Comments