/CodeIgniter-Websocket-Apache-Secure

Pustaka ini berisi demo mengomentari / memposting secara realtime menggunakan CodeIgniter + Ratchet Websocket + Apache dengan Koneksi Aman.

Primary LanguagePHPMIT LicenseMIT

project-logo

CodeIgniter-Websocket-Apache-Secure

Pustaka ini berisi demo mengomentari / memposting secara realtime menggunakan CodeIgniter + Ratchet Websocket + Apache dengan Koneksi Aman.

Persyaratan

Anda harus mengerti kegunaan dari ke 4 hal di bawah ini:

Needs Detail
Framework CodeIgniter
Websocket Ratchet
Apache XAMPP (Recommended!)
SSL Lets Encrypt (Recommended!)

(Jika anda tidak mengerti 4 hal tersebut anda bisa mencarinya di google)

Pustaka ini sudah di uji dan bekerja 100% pada server localhost yang kemudian dilakukan Port Forwading agar bisa di akses online dengan "Secure Connection Active"

(Untuk hosting belum teruji)

Pustaka ini dibuat ?

  • Saya tidak menemukan paduan antara CodeIgniter + Ratchet Websocket dengan "Secure Connection". Saya menemukan pustaka tetangga sebelah namun tidak disertakan "Secure Connection". anda bisa kunjungi disini
  • Karena saya mencari Ratchet Websocket dengan "Secure Connection" di sumber mana saja, bahkan di situs resmi Ratchet saya masih tidak menemukan sumber yang jelas mengenai "Secure Connection" untuk Ratchet Websocket.
  • Tidak ada panduan jelas bagaimana cara menggunakan Apache sebagai jembatan "Secure Connection" untuk Ratchet Websocket
  • Mempermudah developer untuk bermigrasi dari Long Polling ke Websocket untuk penghematan bandwitch
  • Menjadikan aplikasi menjadi realtime tanpa bermigrasi ke NodeJS yang rumit

Bagaimana cara menggunakan ?

  1. Unduh kode di atas
  2. Buka file assets/js/main.js dan gulir ke baris 15
    ubah domain example.domain.com
    var conn = new WebSocket("wss://example.domain.com/wss2/NNN");
    dengan domain anda
  3. pastikan anda menggunakan apache, disini saya menggunakan apache yang disertakan oleh XAMPP
    • buka file httpd.conf yang berada di
      Linux: /opt/lampp/etc/httpd.conf
      Windows: xampp/apache/conf/httpd.conf
      MacOS: saya tidak memakai MacOS
    • enable mod_proxy.so
      search mod_proxy.so
      • Jika mod_proxy ada {
        hapus tanda '#' pada
        #LoadModule proxy_module modules/mod_proxy.so
        menjadi
        LoadModule proxy_module modules/mod_proxy.so
      • }else{
        tambahkan sendiri
        LoadModule proxy_module modules/mod_proxy.so
      • }
    • enable mod_proxy_wstunnel.so
      search mod_proxy.so
      • Jika mod_proxy ada {
        hapus tanda '#' pada
        #LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
        menjadi
        LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
      • }else{
        tambahkan sendiri
        LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
      • }
  4. Restart apache
  5. Jalankan 'chat-server.php' di terminal linux atau cmd windows
    • Linux
      contoh: code saya ada di berkas /opt/lampp/htdocs/mydirectory
      maka anda menjalankanya seperti ini di terminal
      php /opt/lampp/htdocs/mydirectory/application/third_party/secure_ratchet/bin/chat-server.php
      atau anda masuk ke berkas alamat di atas kemudian klik kiri open terminal, kemudian masukan kode dibawah
      php bin/chat-server.php
    • Windows
      contoh: code saya ada di berkas E:xampp/htdocs/mydirectory
      anda masuk ke eplorer dan menuju ke alamat berkas di atas kemudian (klik shif + mouse klik kiri) pilih (open command window here)
      kemudian masukan kode dibawah php bin/chat-server.php

Kini anda telah selesai dalam proses konfigurasi pustaka ini

Lisensi

Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detailnya