Cara Membuat Server Chatting Sendiri Dengan OpenFire

Cara Membuat Server Chatting Sendiri Dengan OpenFire

Diperbaharui Pada Tanggal

Apa itu Server Chatting 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 MEMBUAT SERVER CHATTING
Mempersiapkan Aplikasi Pendukung Openfire

Saat membuat server chatting menggunakan openfire ,ada beberapa aplikasi yang harus diinstall terlebih dahulu diantaranya :

  1. Install epel-repository dan tool standar
     yum install –y epel-release
     yum install glibc.i686 zlib.i686 libstdc++.i686 mc lsof htop net-tools nano
  2. JAVA dan java connector
    karena openfire ditulis dengan java maka pastikan java sudah terinstall untuk mengeceknya cukup keti kan perintah  dibwah ini,

    [[email protected] ~]# 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
  3. 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
  4. 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 MEMBUAT SERVER CHATTING
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
    
    

    cara restore mysql database di linux saat membuat server chatting sendiri

  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.

Leave a Comment