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.
Accept License agreement terms to proceed.
Choose the Database you’ll be using – I’ll go with MySQL. For install type choose “Create a new database for OTOBO“
Input the password for root database user as set in .env. In our guide we used Str0ngPassw0rd
Check database settings to validate if provided root user credentials are working.
Use “Next” to proceed to the next step. If successful you should get output like in the screenshot below.
In the next step, you can 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.
Use provided username and Password to login.
Reference:
Conclusion
Thanks for using our guide to install Latest release of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.
Similar guides: