Pada tutorial ini, kita akan belajar bagaimana cara untuk menginstal ticketing sistem pada Ubuntu Server 20.04.
Ticketing System adalah sebuah sistem manajemen dan pengelola daftar isu atau masalah yang di request oleh client untuk diselesaikan, tiket ini bisa berupa permintaan, pertanyaan, ataupun keluhan tertentu. Umumnya sistem ini dimiliki oleh instansi atau perusahaan yang memiliki banyak staff karyawan yang membutuhkan seorang Support Staff untuk menyelesaikan masalah teknis yang berkaitan dengan perangkat IT.
Dengan menggunakan sistem tiket ini, semua request dari client dan proses penyelesaiannya bisa dengan mudah di lacak dan tersusun rapih, sehingga tim Support bisa melakukan pengelolaan pada semua tiket tersebut dan menentukan prioritas troubleshooting dari yang low sampai high untuk semua request tiket tersebut.
Disini kita akan mengimplementasikan sebuah aplikasi ticketing berbasis open source pada server kita.
Perkenalkan, osTicket sebuah sistem tiket open source yang sudah banyak digunakan untuk keperluan Support Client. Sistem ini dibuat menggunakan bahasa PHP dan datang dengan web interface yang simple dan mudah untuk di kelola, terorganisir dan bisa dilakukan tracking pada semua permintaan support tiketnya.
Baca juga :
Memahami Server Requirements untuk Proses Deployment Live and Running pada Ubuntu Server 20.04
Server requirements untuk osTicket ini sendiri tidak terlalu rumit, kita diperlukan untuk menginstall :
- PHP versi 8.0
- PHP repositori ppa:ondrej
- Ekstensi PHP imap, apcu, intl, cgi, mbstring, gd, mysql, bcmath, xml
- Database mendukung MySQL dan MariaDB, pada tutorial ini kita menggunakan MySQL versi 5 untuk databasenya.
Dibawah ini adalah skema jaringan yang akan digunakan pada tutorial kali ini :
PC Server dan PC Client terhubung pada sebuah jaringan lokal, terdapat 1 unit router dimana kita buat menjadi bridge pada interface yang menghubungkan ke arah PC Server dan PC Client, kita akan menggunakan "name based virtual host" untuk sistem ticketingnya dan kita buat domain lokal untuk diakses lewat LAN, sehingga untuk sistem Ticketing ini hanya dapat diakses lewat jaringan Lokal. Kenapa dibuat hanya untuk akses lokal?, untuk hal ini sebenarnya menyesuaikan kebutuhan kalian di lapangan, karena umumnya untuk sistem ticketing ini hanya untuk akses lokal saja.
Sebelum masuk ke konfigurasi, pastikan bahwa Ubuntu Server kalian selalu up to date, ketikan perintah dibawah ini untuk memeriksa update yang tersedia :
sudo apt update
Jika terdapat update yang tersedia, ketikan perintah dibawah ini untuk memulai proses update pada server kalian :
sudo apt upgrade
Dibawah ini adalah tahapan yang akan kita lakukan untuk melakukan konfigurasi :
- Create Database for Ticketing System
- Install PHP 8.0, ppa:ondrej Repository and Required PHP Extensions
- Install osTicket Application
- Configuring Apache Virtual Host
- Setting osTicket
- Testing : Access osTicket from Computer Client
Kita mulai saja proses konfigurasi ticketing system ini.
1. Create Database for Ticketing System
Pertama kita buat database baru dengan nama osticket_db, kita masuk dulu pada terminal MySQL dengan mengetikan perintah :
mysql -u root -p
Selanjutnya buat database baru dengan mengetikan perintah :
CREATE DATABASE osticket_db;
Kemudian kita cek database kita menggunakan perintah :
SHOW DATABASES;
Setelah database sudah berhasil dibuat kita lanjut ke langkah berikutnya.
2. Install PHP 8.0, ppa:ondrej Repository and Required PHP Extensions
Selanjutnya kita akan menginstall PHP versi 8, repository ppa:ondrej dan ekstensi PHP yang dibutuhkan.
Pertama kita akan menambahkan repository ppa:ondrej ke dalam sistem, ketikan perintah dibawah ini :
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
Selanjutnya kita instal ekstensi PHP yang dibutuhkan dengan mengetikan perintah :
sudo apt install php8.0 php8.0-common -y
Kemudian kita instal juga package ekstensi dari php versi 8 :
sudo apt install php8.0-imap php8.0-apcu php8.0-intl php8.0-cgi php8.0-mbstring php8.0-gd php8.0-mysql php8.0-bcmath php8.0-xml -y
Kemudian kita cek versi PHP yang terinstal pada sistem server kita :
php -v
Output :
PHP 8.0.19 (cli) (built: May 17 2022 18:48:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.19, Copyright (c) Zend Technologies
with Zend OPcache v8.0.19, Copyright (c), by Zend Technologies
Terlihat pada output diatas, versi PHP yang terinstal pada sistem server kita menggunakan versi 8.0
3. Install osTicket Application
Selanjutnya kita akan install aplikasi osTicket ke dalam server kita, untuk proses ini kalian bisa menggunakan 2 cara menggunakan FTP atau Git Clone.
FTP, kalian bisa mendownload osTicket pada website official mereka disini :
https://osticket.com/download/
Untuk versi download manual ini kalian akan diberikan 2 folder yaitu, scripts dan upload, pindahkan seluruh isi folder upload ke dalam direktori osTicket yang ada didalam server.
Pada tutorial ini, kami akan menggunakan Git Clone, kalian bisa melakukan clone pada alamat repository mereka disini
https://github.com/osTicket/osTicket.git
Sebelumnya kita akses terlebih dahulu directory html pada server dengan mengetikan perintah :
cd /var/www/html
Lakukan clone dari github menggunakan perintah dibawah ini :
git clone https://github.com/osTicket/osTicket.git
4. Configuring Apache Virtual Host
Sekarang kita akan buat file Virtual Host untuk sistem ticketing dengan servername dan alias yang digunakan sebagai berikut :
ServerName it-tiket.webserver.net
ServerAlias www.it-tiket.webserver.net
Sebelum memulai konfigurasi pada virtual host ini, pastikan file default konfigurasi 000-default.conf sudah terdisable dan pada folder /var/www/html tidak ada file index.html.
Kita akses directory apache2 terlebih dahulu, ketikan perintah :
cd /etc/apache2/sites-available/
Lalu kita buat file konfigurasi virtual host untuk sistem ticketing dengan mengcopy file default .conf :
sudo cp 000-default.conf ./osticket.conf
Selanjutnya kita lakukan ubahan pada file konfigurasi virtual host untuk sistem kita :
sudo nano osticket.conf
Lakukan ubahan seperti dibawah ini :
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/osTicket
ServerName it-tiket.webserver.net
ServerAlias www.it-tiket.webserver.net
<Directory /var/www/html/osTicket/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Jika sudah tekan CTRL+X untuk keluar dan ketik Y untuk menyimpan pengaturan yang sudah dibuat.
Selanjutnya kita enable konfigurasi untuk sistem tiketing :
sudo a2ensite osticket.conf
Kemudian kita lakukan ubahan pada settingan hosts :
sudo nano /etc/hosts
Tambahkan string dibawah ini :
127.0.0.1 www.it-tiket.webserver.net
Setelah itu save pengaturan hosts dan restart service apache :
sudo systemctl restart apache2
Pastikan tidak ada error pada service apache server :
sudo apachectl -t
Jika balasan dari sistem adalah "Syntax OK", berarti tidak ada masalah pada apache server.
5. Setting osTicket
Kemudian kita lakukan setting pada aplikasi osTicket yang sudah kita instal, kita bisa mengaksesnya pada web browser menggunakan domain yang sudah kita setting sebelumnya atau menggunakan ip server.
Gambar diatas adalah tampilan awal pada saat kita pertama kali mengakses osTicket yang baru kita instal. Terlihat server kita sudah memenuhi requirements seperti PHP versi 8.0 dan beberapa ekstensi PHP yang diperlukan juga sudah terinstal semua. Kalian bisa klik tombol Continue untuk melanjutkan proses instalasi.
Selanjutnya kita akan diminta untuk membuat file konfigurasi untuk osTicket didalam folder /include, disini kita diberikan 2 solusi :
- Rename file ost-sampleconfig.php menjadi ost-config.php
- Melakukan copy file ost-sampleconfig.php dan menamai filenya menjadi ost-config.php
Disini kita menggunakan opsi yang ke-2, kita akan melakukan copy file ost-sampleconfig.php, kalian bisa mengetikan perintah sesuai dengan petunjuk gambar diatas ke terminal server kalian :
cp include/ost-sampleconfig.php include/ost-config.php
Jika sudah klik tombol Continue.
Selanjutnya kita diminta untuk mengubah permission file ost-config.php agar sistem bisa bisa melakukan ubahan pada file tersebut, ketikan perintah :
chmod 0666 include/ost-config.php
Jika sudah klik tombol Continue.
Terakhir masuk ke tahapan finishing, kita akan diminta menginput nama helpdesk, email, dan membuat user untuk admin. Kemudian di lanjutkan dengan setting database, masukan nama database yang sudah kita buat dan username root dan password mysql kalian, jika sudah klik tombol Install Now.
Setelah itu akan muncul tampilan seperti dibawah ini :
Sampai pada tahap ini, sebenarnya osTicket sudah bisa kita gunakan, kita hanya perlu melakukan sedikit ubahan permission pada file ost-config.php :
chmod 0644 include/ost-config.php
Setelah file permission sudah diubah, osTicket bisa kita gunakan sepenuhnya. Terlihat pada gambar diatas URL untuk sistem tiketing dan URL untuk control panelnya.
Akses URL control panel :
Login ke dalam control panel osTicket :
6. Testing : Access osTicket from Computer Client
Kita test dengan membuka URL osTicket pada komputer client :
Diatas adalah tampilan dari sisi client, kita bisa langsung membuat request tiket menggunakan user guest atau membuat user baru dengan mengklik Sign In.
Kesimpulan :
Penggunaan sistem ticketing berbasis open source ini merupakan solusi mudah untuk para pelaku usaha yang menginginkan sistem ticketing ada pada kantor mereka. Dengan menggunakan sistem open source seperti ini, kita tidak perlu lagi untuk mengeluarkan biaya dengan membeli sistem ticketing yang dijual secara komersial di luar sana. osTicket hadir sebagai solusi untuk memberikan sistem ticketing yang kualitasnya sama dengan sistem ticketing berbayar.
Untuk osTicket ini sebenarnya bisa kita lakukan kustomisasi lebih lanjut, seperti merubah warna, font, dan menyesuaikan logonya dengan logo perusahaan atau instansi terkait.
Seperti itu tadi pembahasan kita tentang cara untuk menginstal ticketing sistem pada Ubuntu Server 20.04. Sekian untuk tutorial kali ini, semoga ilmu yang kalian dapat dari tutorial ini bisa bermanfaat untuk kalian semua. Terima kasih.
0 comments: