Photo of author

ditulis oleh: Arianto

Cara Membuat Server Chatting Kantor Sendiri

diperbaharui pada:

kategori : Jaringan kantor

tag: linux, server

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.

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:

  1. 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 .
  2. Xabber Android
    Xabber merupakan aplikasi XMPP client untuk platform android yang bisa kamu gunakan bebarengan dengan server chatting yang telah kamu buat.
  3. 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

setting database sql saat membuat server chatting sendiri

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

download openfire  untuk membuat server chatting sendiri

#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

setting database yang akan digunakan openfire

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.

Pembahasan Terkait
cara install dan setting openvpn di ubuntu dan debian
Cara Membuat Server VPN di LInux

OpenVPN untuk Membuat VPN Server Untuk membuat server VPN saya menyewa VPS hosting dan menginstall sistem operasi ubuntu linux server Read more

tutorial cara akses lokal server dari internet
Cara Akses Server Lokal Via Jaringan Internet LENGKAP

Ini adalah tutorial dasar cata mengonlinekan server lokal agar bisa diakses lewat internet. Server lokal disini bisa berupa webserver, email Read more

tutorial lengkap cara membuat server radio streaming dan membuat raspberry pi streaming radio receiver otomatis
Cara Membuat Radio Streaming Server Sendiri di Linux dan Windows

Apa Itu Streaming Server Kamu akan membuat radio streaming server dimana server mu akan  didedikasikan khusus untuk menyediakan konten multimedia Read more

Cara Menyambungkan CCTV ke HP & Komputer via Internet
Cara Menyambungkan CCTV ke HP & Komputer via Internet

Mau Memantau CCTV Lewat Internet? CCTV jaman now sudah online dan bisa dilihat dari HP(android,iOS) atau komputer (PC,laptop) menggunakan jaringan Read more