OTOBO is a smart, agile, and flexible communication platform and service management suite based on the ((OTRS)) Community Edition which was declared end of life (EOL) at the end of December 2020. OTOBO contains an admin dashboard, agent portal, and customer portal used for Customer Service, Help Desk, and IT Service Management. This software is created to be extensible and good integration with other systems. In this guide we walk you through the installation steps of OTOBO OTRS Ticketing system on CentOS 8 Linux system.
OTOBO can be used to process a few tickets per month or to process hundreds of tickets per day. Hardware requirements is highly dictated by the desired use case. The storage requirement also depends on the number of tickets and size of attachments. Software requirements for running (OTOBO) OTRS are:
Perl
- Perl 5.16.0 or higher
- Perl packages listed by
/opt/otrs/bin/otrs.CheckEnvironment.pl
console command
Web Servers
- Apache2
- nginx
- Any other web server that can be used as a reverse proxy
Databases
- MySQL 5.7 or higher
- MariaDB 10.2 or higher
- PostgreSQL 9.2 or higher
- Oracle 10g or higher
Step 1: Update System
Start the installation by updating your CentOS 8 system to the latest release:
sudo yum -y update
Wait for the system packages to be upgraded then reboot your system if kernel related updates were made.
Step 2: Install Docker on CentOS 8
We’ll use Docker method to run OTOBO (OTRS) on CentOS 8 system. Since Docker is not part of CentOS server installation we’ll need to manually install it.
Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Afterward, install the latest version of Docker Engine and containerd:
sudo yum -y install iptables 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 (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-06-28 20:41:23 UTC; 6s ago
Docs: https://docs.docker.com
Main PID: 4483 (dockerd)
Tasks: 7
Memory: 28.6M
CGroup: /system.slice/docker.service
└─4483 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jun 28 20:41:23 cent8.mylab.io systemd[1]: Starting Docker Application Container Engine...
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.243845127Z" level=info msg="Starting up"
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.276436802Z" level=info msg="Loading containers: start."
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.845323460Z" level=info msg="Loading containers: done."
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.869715122Z" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.870021891Z" level=info msg="Daemon has completed initialization"
Jun 28 20:41:23 cent8.mylab.io dockerd[4483]: time="2023-06-28T20:41:23.907540394Z" level=info msg="API listen on /run/docker.sock"
Jun 28 20:41:23 cent8.mylab.io systemd[1]: Started Docker Application Container Engine.
Step 3: Install Docker Compose on CentOS 8
Follow our guide in the link to install Docker Compose on CentOS 8:
Confirm installation by checking software verision:
$ docker-compose version
Docker Compose version v2.19.0
Step 4: Deploy OTRS (OTOBO) on CentOS 8 using Docker
With Docker and Docker compose installed we can the install OTOBO on CentOS 8 server.
Install git:
sudo yum -y install git vim
Pull the latest Otobo code:
$ git clone https://github.com/RotherOSS/otobo-docker.git
Cloning into 'otobo-docker'...
remote: Enumerating objects: 244, done.
remote: Counting objects: 100% (244/244), done.
remote: Compressing objects: 100% (131/131), done.
remote: Total 473 (delta 126), reused 189 (delta 83), pack-reused 229
Receiving objects: 100% (473/473), 91.76 KiB | 15.29 MiB/s, done.
Resolving deltas: 100% (269/269), done.
Confirm if the folder contain the files we need:
$ ls otobo-docker
docker-compose etc LICENSE README.md 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 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
Change the following setting inside your .env file:
$ vim .env
OTOBO_DB_ROOT_PASSWORD=<your_secret_password>
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.
Start the Docker containers with Docker Compose
When done with the configurations start the Docker containers using:
$ docker-compose up --detach
.....
Digest: sha256:b0135c94e866953af1db5be72759c5f68f25f756d2673cbe21cbca5ae54adddf
Status: Downloaded newer image for rotheross/otobo:latest
Creating otobo_redis_1 ... done
Creating otobo_elastic_1 ... done
Creating otobo_db_1 ... done
Creating otobo_web_1 ... done
Creating otobo_daemon_1 ... done
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 59 seconds ago Up 55 seconds (health: starting)
otobo-db-1 mariadb:10.5 "docker-entrypoint.s…" db 59 seconds ago Up 57 seconds (healthy) 3306/tcp
otobo-elastic-1 rotheross/otobo-elasticsearch:latest-10_1 "/bin/tini -- /usr/l…" elastic 59 seconds ago Up 57 seconds (health: starting) 9200/tcp, 9300/tcp
otobo-redis-1 redis:6.0-alpine "docker-entrypoint.s…" redis 59 seconds ago Up 57 seconds (healthy) 6379/tcp
otobo-web-1 rotheross/otobo:latest-10_1 "/opt/otobo_install/…" web 59 seconds ago Up 56 seconds (healthy) 0.0.0.0:80->5000/tcp
Listing used volumes:
$ docker volume ls
DRIVER VOLUME NAME
local otobo_elasticsearch_data
local otobo_mariadb_data
local otobo_opt_otobo
local otobo_redis_data
Install and start OTOBO
Run the OTOBO installer at http://yourIPorFQDN/otobo/installer.pl.
Click “Next” to begin installation.
Agree to License agreement.
Choose the Database you’ll be using.
Input the password for root database user as set in .env
Choose “Check database settings“. This will validate if creds work.
Use “Next” to proceed to the next step.
Edit system settings as desired.
When you finish configuration the page URL, User and Password details will be printed in the screen. Save the details in a safe place.
Login by clicking on the URL and inputing username and password
To this point cheers for a successful installation of OTRS (OTOBO) on CentOS 8.
Reference:
More article to read: