Jika kamu bekerja di sebuah kantor yang karyawan nya begitu banyak, biasanya kantor atau perusahaan tersebut punya aplikasi chatting sendiri.
Mereka tidak menggunakan aplikasi chatting yang biasa digunakan oleh public untuk urusan perusahaan dan memilih untuk membangun dan menggunakan server chatting sendiri dengan alasan keamanan data.
Kamu juga bisa membuat server chatting yang bisa kamu gunakan untuk komunitas atau untuk kantormu dengan mengikuti tutorial ini.
Daftar Isi :
Membuat Server Chatting Gratis Dengan OpenFire
Kamu akan menggunakan aplikasi openfire untuk membuat server chatting,Openfire adalah Real Time Collaboration (RTC) server yang berlisensi Open Source Apache Licence dan digunakan secara luas untuk open protocl seperti XMPP (open protocol Instant messaging) atau yang sering disebut Jabber.
Open fire juga bersifat opensource dan 100% gratis dan biasa digunakan oleh perusahaan dari skala kecil hingga besar untuk membaut server chatting guna menghandle komunikasi antar karyawan dalam lingkunangan kantor.
Ada banyak versi XMPP client yang tersedia untuk berbagai device dengan menggunakan server chatting dengan protokol XMPP(kit amenggunakan Openfire) akan memberikan keuntungan lebih dimana aplikasi server Chatting yang akan kita bangun bisa digunakan untuk semua device seperti Android,Windows,macOS,Linux dll.
Openfire juga mempunyai fitur keren seperti:
- mendukung berbagai jenis database seperti MariaDB,MySQL,Oracle,PostgreSQL
- Mendukung LDAP
- Mendukung SSL (legacy) dan TLS (versi terbaru SSL)
- Openfire mempunyai front end berbasis web sehingga sangat mudah dikonfigurasi dan diakses darimanapun
- Spark IM clinet integration , memudahkan mengontrol permision untuk aplikasi chatting spark
- Tersedia banyak Plugin utuk server openfire
- Mendukung Clustering untuk menghindari kegagalan sistem jika menggunakan server terpusat atau hanya untuk menghubungkan openfire server antar cabang perusahaan
Aplikasi Client untuk Chatting di HP dan PC
Untuk bisa menggunakan server chatting yang telah kamu buat,kamu harus menginstall aplikasi XMPP client di HP,laptop ataupun PC.Ada banyak aplikasi XMPP client tapi saya menyarankan aplikasi dibawah ini untuk kamu pakai:
- Spark untuk Windows
alasan mengapa menggunakan spark untuk windows adalah, client spark dapat dikontrol permision nya dari openfire server , kita terkadang perlu membatasi akses secara ketat untuk aplikasi yang digunakan di kantor agar tidak terjadi penyalahgunaan ,atau hanya untuk membuat aplikasi yang digunakan di kantor simple sehingga tidak membingungkan user awam . - Xabber Android
Xabber merupakan aplikasi XMPP client untuk platform android yang bisa kamu gunakan bebarengan dengan server chatting yang telah kamu buat. - Gajim Linux
Gajim menjadi pilihan karena aplikasi ini bisa muncul pada system tray dan relatif stabil
Langkah Pertama #1
Meyiapkan Aplikasi Pendukung Server
Saya menggunakan linux server CentOS yang merupakan distro turunan redhat, jika kamu menggunakan ubuntu atau distro debian kamu bisa menyesuaikan package manager yang digunakan.
Saat membuat server chatting menggunakan openfire ,ada beberapa aplikasi yang harus diinstall terlebih dahulu diantaranya :
Install epel-repository dan tool standar
Kamu memerlukan beberapa library dan package pendukung yang tersedia di epel-repository CentOS, kamu bisa ikuti dengan mengetikan perintah dibawah ini secara berurutan
yum install –y epel-release
yum install glibc.i686 zlib.i686 libstdc++.i686 mc lsof htop net-tools nano
Install JAVA dan java connector
karena openfire ditulis dengan java maka pastikan java sudah terinstall untuk mengeceknya cukup keti kan perintah dibwah ini
[root@SparkFly ~]# java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
# Jika tidak ada keterangan seperti diatas mana kamu perlu menginstal java ketikan perintah dibawah ini
yum install java libldb.i686 mysql-connector-java
Install Database MariaDB
Openfire memerlukan database untuk proses membuat server chatting,saya akan menggunakan Mara DB ,Maria DB adalah versi terbaru dan pengganti untuk MySQL.
MariaDB memberikan performa lebih dan keamanan serta kemampuan untuk membuat database kelas enterprise.
Walaupun kamu menggunakan mariaDB tetapi console /perintah/syntac tetap sama dengan mysql (karena maria db hanya versi terbaru dari mysql)
#instal mariaDB dengan perintah dibawah ini
yum -y install mariadb-server mariadb
Mengamankan database MariaDB
Kita perlu merubah agar sql server hanya listening /menerima koneksi dari localhost (komputer itu sendiri) dan memberi password untuk mysql root user , karena secara default kosong!!
SET LISTENING/BIND ADDRESS TO 127.0.0.1
#Edit bind address maria DB agar hanya listening di localhost (127.0.0.1) untuk alasan keamanan
nano /etc/my.cnf
#dan ubah bagian bind-address menjadi bind-address=127.0.0.1 (tidak ada tanda pagar)
#file konfigurasi akan terlihat seperti ini !
[mysqld]
datadir=/var/lib/mysql
bind-address=127.0.0.1 #<------------lihat bagian ini
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
_______________________________
#Enable service mariadb ,agar mariadb berjalan otomatis ketika linux restart
systemctl enable mariadb
# menjalankan service mariaDB
systemctl start mariadb
MERUBAH PASSSWORD ROOT
Lakukan prosedur dibawah ini dengna mengetikan command # mysql_secure_installation
Langkah KeDUa #2
Menginstall Openfire XMPP Server di Linux
Untuk membuat server chatting saya menggunakan CentOS RHEL 7 (Redhat Family), jika kamu menggunakan distro turunan Redhat maka command yang digunakan untuk installasi akan sama seperti di tutorial ini, tetapi jika kamu menggunakan distro lain silakan pilih package yang sesuai untuk distro linux server mu .
#1 Download openfire package sesuai distro linux yang digunakan
Karena saya menggunakan linux Redhat family maka saya pilih rpm
#jika aplikasi wget belum terinstall silakan install aplikasi wget dulu
wget http://download.igniterealtime.org/openfire/openfire-4.1.1-1.x86_64.rpm
#2 Install Openfire Server Chatting
#-->> Install menggunakan yum package manager
yum localinstall openfire-4.1.0-1.noarch.rpm
#-->> Install dengan rpm package manager
rpm -ivh openfire-4.1.0-1.noarch.rpm
#--> Ingat nama package disesuaikan dengan nama package yang kamu download
3# Mempersiapkan Database untuk Openfire(server chatting)
Login ke mysql menggunakan user root dan password yang telah kamu set tadi
mysql -u root -p
mysql> CREATE DATABASE openfire CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON openfire.* TO 'openfire'@'localhost' IDENTIFIED BY 'setpasswordmu';
mysql> flush privileges;
mysql> use openfire;
mysql> source /opt/openfire/resources/database/openfire_mysql.sql;
mysql> exit
#
pada bagian passwordmu ganti dengan password yang akan digunakan oleh openfire untuk login ke database mysql(silakan ditentukan dan jangan sampai lupa)
#4 Enable service dan menJalankan Openfire
service openfire start
chkconfig openfire on
#5 Setting Database Openfire via web interface
Setelah service mysql/mariaDB dan openfire dijalanan maka kamu bisa mengakses openfire xmpp server mu lewat browser tinggal ketikan di browser http://ip-server-hostname:9090 misalnya http://192.168.2.6:9000
Pada bagian Database URL isikan : jdbc:mysql://127.0.0.1/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
Masukan username dan password sesuai dengan data yang kamu set pada step nomer 3 sebelum nya.
Untuk cara konfigurasi / mengelola user silakan dilihat lihat UI nya agar familiar, bersabar adalah kunci dalam belajar ^_^
Cara Upgrade Server Chatting Openfire
Server chatting openfire yang telah kamu buat harus diupdate secara berkala begitu versi baru release,hal ini perlu kamu lakukan agar server chatting mu selalu fresh dengna fitur baru dan terbebas dari vulnerability yang dapat membahayakan keamanan servermu.
#1 Stop Openfire Service
systemctl stop openfire.service
systemctl disable openfire.service
#2 Backup Database Openfire
mkdir /root/openfire-backup
mysqldump -u root -p openfire > /root/openfire-backup/openfire.sql
Dimana root adalah admin user untuk mysql/mariaDB dan openfire adalah nama database yang akan dibackup
#3 Backup Openfire Config File
cd /opt/openfire/conf
cp {openfire.xml,security.xml} /root/openfire-backup/
#4 Download Versi baru Openfire dan Update Openfire
cd /root/openfire-backup
wget https://alamat-download-openfire/versi-baru-openfire.rpm
rpm -Uvf versi-baru-openfire.rpm
#5 Restore Openfire Config Files dan Database (Jika perlu)
cd /opt/openfire/conf
mv openfire.xml openfire.xml-bak
mv security.xml security.xml-bak
cp /root/openfire-backup/{openfire.xml,security.xml} /opt/openfire/conf
chown daemon:daemon *
daemon adalah user dan group yang menjalankan proses openfire , silakan cek owner dari file openfire dengan perintah ls -la untuk memastikan owner dari openfire.
Jika kamu perlu merestore database bisa dilakukan dengan cara berikut ini
mysql -u root -p
MariaDB[(none)]> use openfire;
MariaDB[openfire]> source /root/openfire-backup/openfire.sql
MariaDB[openfire]> exit
#6 Start Openfire Service
systemctl daemon-reload
systemctl enable openfire.service
systemctl start openfire.service
#7 Finish
Jika Semua lancar maka server chatting openfire akan up dan running dalam waktu kurang dari 1 menit setelah service dijalankan, untuk mengecek status openfire service bisa menggunakan perintah
systemctl status openfire.service
TROUBLE SHOOTING
Jika terjadi error atau openfire tidak bisa diakses menggunakan browser kamu bisa mengecek nya dengna perintah $ sudo netstat -tulpn ,lihat apakah port 9090,5222,5223,5229,dll sudah listening apa belum, jika belum cobalah untuk mengecek file log openfire yang berada di /usr/share/openfire/logs/ dengan mengetikan $ cat /usr/share/openfire/logs/error.log
KESIMPULAN
Untuk membuat server chatting sekarang semakin mudah dan bisa kamu buat sendiri,server chatting ini bisa kamu aplikasikan di kantor tempat kamu bekerja atau bisa juga digunakan untuk komunitas jika kamu menjunjung tinggi privasi dan kamu tidak mau isi percakapan mu dimonitor pihak lain.