Sunday, November 12, 2017

Bypass Internet Positif dengan DNSCrypt

Internet positif, mungkin bagi masyarakat Indonesia sudah tidak asing lagi dengan hal tersebut. Ya, internet positif merupakan sistem untuk memblokir website milik salah satu penyedia layanan internet di Indonesia. Tujuannya jelas, yaitu untuk membatasi akses pengguna internet Indonesia ke situs-situs tertentu terutama situs dengan konten negatif.

Sebenarnya bukan hanya Internet Positif saja sistem pemblokir website yang ada di Indonesia, rata-rata penyedia layanan internet di Indonesia memliki sistem yang serupa.

Bagaimana internet positif mem blok website?, untuk saat ini interpositif dan teman-temannya memblok website berdasarkan domain/nama website nya.

Bagaimana mengatasi internet positif?, memblok website berdasarkan domain hanya bisa berhasil ketika pengguna menggunakan dns server milik penyedia layanan internet terkait. Kalau begitu gunakan saja dns server lain, misal dns server milik google untuk membuka website yang telah di blokir.

Dahulu memang cara tersebut dapat digunakan, namun sekarang, penyedia layanan internet “memaksa” kita menggunakan dns server milik mereka, sehingga mengganti dns server di komputer kita, tidak akan berpengaruh/berhasil. Bisa dikatakan, para penyedia layanan internet ini melakukan dns spoofing.

Salah satu cara yang akan dibahas untuk mengatasi pemblokiran website kali ini yaitu dengan menggunakan DNSCrypt.

DNSCrypt merupakan protokol yang mengontentikasi/memvalidasi antara dns client dengan dns resolver. DNSCrypt memang dirancang untuk menangani/menghindari dns spoofing. DNSCrypt menggunakan kriptografi sebagai “tanda tangan” untuk verifikasinya.

Dikarenakan kriptografi inilah, dns server milik penyedia layanan internet tidak akan tau kita akan mengakses situs apa dan tidak dapat melakukan pemblokiran dikarenakan data yang terkirim sudah ter enkripsi oleh dnscrypt.

Lalu bagaimana cara menginstall DNSCrypt client?, berikut saya jelaskan step-by-step. Sebagai catatan, disini saya menggunakan sistem operasi linux (centos 7 64 bit).
  • extract libsodium: tar -zxvf libsodium-stable-2017-11-12.tar.gz
  • masuk ke dalam direktori libsodium yang sudah di ekstrak: cd libsodium-stable
  • install libsodium, ketikan perintah-perintah di bawah hini:
    • ./configure
    • make && make check
    • sudo make install
  • extract ldns: tar -zxvf ldns-1.7.0.tar.gz
  • masuk ke dalam direktori ldns: cd ldns-1.7
  • install ldns:
    • ./configure --disable-dane-verify
    • make
    • sudo make install
  • khusus untuk fedora, centos dan redhat, ketikan: sudo echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
  • ketikan: sudo ldconfig
  • extract dnscrypt-proxy: tar -zxvf dnscrypt-proxy-1.8.0.tar.gz
  • masuk direktori dnscrypt-proxy: cd dnscrypt-proxy-1.8.0
  • install dnscrypt-proxy:
    • ./configure && make
    • sudo make install
  • jika sudah selesai, secara default dnscrypt-proxy akan tersimpan di : /usr/local/sbin/
  • untuk menjalankannya coba ketikan: sudo ./dnscrypt-proxy -R cisco -d
  • edit /etc/resolv.conf, rubahh isinya menjadi: nameserver 127.0.0.1

Berikut merupakan hasil analisa trafik jaringan menggunakan wireshark, studi kasus mengakses situs reddit.

sebelum menggunakan dnscrypt:


setelah menggunakan dnscrypt:



tambahan, screenshoot ip address reddit:



referensi:
https://github.com/jedisct1/dnscrypt-proxy/wiki
https://download.libsodium.org/doc/
https://www.nlnetlabs.nl/projects/ldns/
https://jaranguda.com/install-dnscrypt-1-4-di-centos-7/

Sunday, September 10, 2017

Auto-mount Samba Share with Autofs (Centos 7)

Halo guys, kali ini saya akan membahas bagaimana melakukan mount direktori yang di share oleh samba secara otomatis menggunakan autofs. Sebelum melanjutkan tutorial, ada hal yang perlu anda persiapkan yaitu:
Jika kedua hal tersebut sudah siap, berikutnya kita akan melakukan konfigurasi agar direktori yang di share oleh samba ter mount otomatis di client. Konfigurasi hanya dilakukan di sisi client saja, tidak perlu ada konfigurasi tambahan pada server samba yang telah di konfigurasi sebelumnya. Berikut langkah-langkahnya:

  • install autofs : sudo yum install autofs
  • pada artikel ini, saya akan me mount direktori yang di share oleh samba ke /mnt/samba_share
  • selanjutnya edit file /etc/autofs.master, tambahkan di akhir file
    • /mnt /etc/auto.cifs
  • maka, isi dari file /etc/auto.master adalah sebagai berikut:
  • selanjutnya, kita akan menkonfigurasi file /etc/auto.cifs, isinya adalah sebagai berikut: samba_share -fstype=cifs, rw, uid=1000, gid=1000, username=sambauser, password=123456, forceuid, forcegid ://192.168.56.2/secured
  • berikut penjelasan dari konfigurasi di atas:
    • samba_share = mount point
    • -fstype=cifs, jenis file system yang digunakan
    • rw, singkatan dari read dan write, artinya jika kita menambahkan opsi ini user dapat melakukan read dan write
    • uid = 1000, uid yang digunakan sama dengan uid user yang digunakan pada client (user rizal memiliki uid=1000)
    • gid = 1000, gid yang digunakan sama dengan gid user yang digunakan pada client (group rizal memiliki gid=1000)
    • username, username yang sudah terdaftar di server untuk mengakses direktori yang sudah di share
    • note: anda dapat melihat uid dan gid pada file /etc/passwd
  • selanjutnya buat direktori untuk mount point: sudo mkdir -p /mnt/samba_share
  • langkah terakhir, enable dan restart autofs:
    • sudo systemctl enable autofs
    • sudo systemctl restart autofs
  • berikut adalah hasilnya, jika anda restart komputer client, autofs akan langsung melakukan auto-mount.

Demikian artikel kali ini, mohon maaf apabila ada kesalahan. Terima kasih sudah membaca …
referensi:
https://help.ubuntu.com/community/Autofs

Saturday, September 9, 2017

Configure Samba Server di Centos 7 (Part 2)


Halo guys, ini merupakan kelanjutan dari "Configure Samba Server di Centos 7 Part 1". Jika pada artikel sebelumnya kita telah mengkonfigurasi samba untuk anonymous user, disini kita akan mengkonfigurasi samba agar hanya user dan group yang sudah terdaftar di server saja yang dapat mengakses file/folder yang dishare.

Baiklah, tanpa panjang lebar lagi berikut langkah-langkah untuk mengkonfigurasi samba server:
  • install samba server : sudo yum install samba
  • backup konfigurasi default samba: sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
  • buat baru file konfigurasi samba : sudo vi /etc/samba/smb.conf
  • isi dari file konfigurasi adalah sebagai berikut
  • yang perlu diperhatikan pada configurasi diatas adalah konfigurasi setelah tulisan [secured], ini merupakan konfigurasi agar direktori yang di share oleh samba hanya dapat diakses oleh user yang sudah terdaftar di server. Penjelasan mengenai konfigurasi diatas adalah sebagai berikut:
    • path, merupakan lokasi direktori yang akan di share
    • valid users, merupakan user yang dapat mengakses direktori yang akan di share
    • guest ok, ini merupakan konfigurasi untuk menentukan apakah direktori yang di share dapat diakses oleh anonymous user atau tidak
    • writeable, konfigurasi untuk menentukan apakah di dalam direktori yang di share, valid user dapat melakukan “write” atau tidak
    • browsable, konfigurasi untuk menentukan apakah di dalam direktori yang di share, valid user dapat melakukan listring direktori atau tidak (perintah ls atau dir)
  • langkah selanjutnya adalah membuat direktori yang akan di share : sudo mkdir -p /samba/secured
  • selanjutnya enable smb dan nmb service : sudo systemctl enable smb nmb
  • selanjutnya restart smb dan nmb service : sudo systemctl restart smb nmb
  • untuk melihat apakah smb atau nmb sudah running, anda dapat menggunakan perintah sudo systemctl status nama_service untuk melihatnnya, contoh sudo systemctl status smb
  • selanjutnya konfigurasi agar samba akses tidak di blok oleh firewall
    • sudo firewall-cmd –permanent –zone=public –add-service=samba
    • sudo firewall-cmd –reload
  • selanjutnya saya akan membuat group, dimana di dalam group tersebut terdapat user yang dapat mengakses direktori samba yang akan di share.
    • Tambah group : sudo groupadd smbgrp
    • menambahkan user ke dalam group : sudo useradd sambauser -G smbgrp
    • menambkan password untuk user “sambauser” : sudo smbpasswd -a sambauser
  • selanjutnya, kita perlu merubah permission pada direktori yang akan di share: sudo chmod -R 777 /samba/secured
  • kita juga perlu mengganti owner dari direktori yang akan di share: sudo chown -R sambauser:smbgrp /samba/secured
  • selanjut, kita juga perlu mengkonfigurasi agar selinux mengijinkan konfigurasi samba yang telah kita lakukan : sudo chcon -t samba_share_t /samba/secured
  • sampai pada tahap ini, kita sudah dapat me mount direktori yang di share oleh samba
  • anda juga dapat melakukan mount direktori yang di share oleh samba lewat terminal dengan perintah : sudo mount -t cifs -o username=useryangdigunakan, password=passworduser //ipserver/secured mount_point
  • Contoh sudo mount -t cifs -o username=sambauser, password=123456 //192.168.56.2/secured samba_share
  • namun, dengan perintah diatas, kita tidak akan bisa membuat file, dikarenakan uid dan gid nya tidak sesuai dengan user yang berada di computer client. Contoh disini dapat dilihat bahwa uid nya = 1001, dan gid nya = 1002
  • sementara, uid dan gid di komputer client adalah sebagai berikut
  • solusinya adalah, dengan mengganti uid dan gid pada direktori yang di share oleh samba, agar sama dengan uid dan gid pada komputer client, perintahnya adalah sebagai berikut (jangan lupa di umount dulu) : sudo mount -t cifs -o username=sambauser,password=123456,uid=$UID,gid=$GID,forceuid,forcegid //192.168.56.2/secured samba_share
  • berikut hasil dari perintah diatas, nah jika sudah seperti ini, kita dapat membuat file karna uid dan gid nya sudah sama dengan uid dan gid user komputer client.

Demikian artikel kali ini, mohon maaf apabila ada kesalahan dalam penulisan. Terima kasih ...
referensi:
https://www.howtoforge.com/samba-server-installation-and-configuration-on-centos-7

Sunday, August 27, 2017

Configure Samba Server di Centos 7 (Part 1)

Halo guys, kali ini saya membahas bagaimana mengkonfigurasi samba server di centos 7. Samba merupakan software yang berjalan di sistem operasi linux, unix dan windows yang menggunakan protokol smb (server message block). 

Protokol smb (server message block) sendiri merupakan protokol yang berfungsi untuk sharing file atau folder, cifs (common internet file system) merupakan nama lain dari smb.

Pada artikel kali ini, kita akan membuat share folder/direktori yang dapat diakses oleh siapa saja tanpa perlu username dan password (anonymous user)

Tanpa panjang lebar lagi, berikut ini merupakan langkah – langkah untuk konfigurasi samba server di centos 7 untuk anonymous user
  • install samba server = sudo yum install samba
  • selanjutnya, kita akan membuat file configurasi samba yang baru:
    • bakcup file configurasi samba yang lama : sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    • buat file configurasi samba yang baru : sudo vi /etc/samba/smb.conf
    • isinya kurang lebih seperti ini
  • perhatikan tulisan di bawah [Anonymous], ini merupkan konfigurasi untuk share direktori yang dapat di akses oleh siapa saja, tana memerlukan username dan password. Berikut penjelasan mengenai konfigurasi share folder/direktori anonymous:
    • path = direktori yang akan di share, disini direktori yang akan di share merupakan /samba/anonymous
    • browsable = user yang terhubung dapat melihat file atau folder selama file atau folder tersebut di dalam direktori /samba/anonymous
    • writeable = user dapat membuat file atau folder di dalam direktori /samba/anonymous
    • guest ok = mengijinkan guest (anonymous) untuk terhubung tanpa username dan password
    • read only = jika kita menuliskan “yes” artinya user hanya dapat membaca file dan folder di dalam direktori /samba/anonymous, tapi disini kita menuliskan “no” karena saya ingin user dapat membuat file atau folder di dalam direktori /samba/anonymous
  • lankah selanjutnya adalah membuat direktori /samba/anonymous: sudo mkdir -p /samba/anonymous
  • ganti permission untuk direktori /samba/anonymous: sudo chmod -R 755 /samba/anonymous, penjelasan perintah ini adalah sebagai berikut:
    • chmod = perintah untuk merubah pession
    • -R = recursive, artinya setiap file atau folder di salam /samba/anonymous akan memiliki permission yang sama
    • 755 = ini merupakan permission yang akan di terapkan pada direktori /samba/anonymouse, untuk lebih jelas mengenai permission di linux, silahkan kunjungi link berikut: https://www.linux.org/threads/file-permissions-chmod.4124/
  • ganti owner: sudo chown -R nobody:nobody /samba/anonymous, berikut penjelasan perintahnya:
    • chown = perintah untuk mengganti owner
    • -R = recursive
    • nobody:nobody = nobody yang pertama merupakan user, nobody yang kedua merupakan group, untuk lebih jelas mengenai “nobody” ini, silahkan kunjungi https://wiki.ubuntu.com/nobody
  • pada centos 7, firewall-cmd akan mem block akses terdapat samba. Untuk mengatasinya, ketikan perintah berikut:
    • sudo firewall-cmd –permanent –zone=public –add-service=samba
    • sudo firewall-cmd –reload
  • jika kedua perintah di atas sukses, akan muncul tulisan “success” , seperti yang terlihat pada gambar dibawah ini
  • langkah selanjutnya, kita harus membuat SELinux untuk mengijinkan konfigurasi samba yang sudah kita lakukan sebelumnya dengan mentikan : sudo chcon -t samba_share_t /samba/anonymous
  • terakhir, kita akan mengaktifkan smb:
    • sudo systemctl enable smb
    • sudo systemctl enable nmb
    • sudo systemctl restart smb
    • sudo systemctl restart nmb
  • untuk melihat apakah smb dan nmb sudah jalan, anda dapat mengetikan perintah:
    • sudo systemctl status smb (untuk smb)
    • sudo systemctl status nmb (untuk nmb)
  • atau anda juga me mount direktori samba dengan cara: sudo mount -f cifs //192.168.56.2/anonymous mount_point


Demikian tulisan kali ini, untuk artikel selanjutnya saya akan membahas bagaimana membuat share folder/direktori di samba yang membutuhkan username dan password.

referensi:
https://www.howtoforge.com/samba-server-installation-and-configuration-on-centos-7

Monday, August 7, 2017

Merubah Ukuran Partisi di Linux (ext4)

Halo guys, kali ini saya akan membahas bagaimana caranya me resize/merubah ukuran partisi khususnya ext4 di linux. Bagi yang belum tau, ext4 merupakan salah satu jenis partisi di linux yang sering digunakan.

Pada artikel kali ini saya menggunakan dua buah tools yaitu cfdisk dan resize2fs, berikut penjelasan singkat mengenai kedua tools tersebut:
  • cfdisk, cfdisk ini merupakan linux partition editor, mirip dengan fdisk tapi dengan tampilan yang lebih mudah dimengerti oleh pemula.
  • resize2fs, resize2fs ini dapat digunakan untuk merubah ukuran partisi harddisk bertipe ext2, ext3 dan ext4 (dengan syarat kernel yang digunakan versi 2.6 atau lebih)
Jika anda ingin mengetahui lebih jeuh mengenai kedua tools diatas, silahkan kunjungi link dibawah ini:
  • cfdisk = https://linux.die.net/man/8/cfdisk
  • resize2fs = https://linux.die.net/man/8/resize2fs
Langsung saja pada pembahasan utama. Disini saya menggunakan sistem operasi Centos 7 dan akan melakukan penambahan ukuran pada harddisk, berikut step by step melakukan perubahan ukuran harddisk kususnya ext4 di linux:
  • pertama-tama tententunya kita harus memiliki partisi yang akan di resize, disini saya sudah memliki 1 partisi yang akan di resize, yaitu /dev/sda3(nomor 3) dengan ukuran 1GB dan akan di perbesar menjadi 2GB
  • berikut isi dari partisi /dev/sda3 yang sudah saya mount ke direktori /mnt (isinya memang hanya sebuah file text dengan isi 'halloo sayang.. ')
  • langkah selanjutnya adalah kita akan menghapus direktori /dev/sda3 ini kemudian membuat baru dengan ukuran 2GB menggunakan cfdisk
  • untuk masuk ke cfdisk, cuku ketikan: sudo cfdisk 
  • pilih partisi, kemudian pilih delete
  • berikut tampilan cfdisk ketika partisi yang dipilih sudah dihapus
  • selanjutnya, kita akan membuat partisi baru. pilih new, lalu pilih primary lalu kita masukan ukuran partisi yang akan kita buat (disini saya memasukan 2048 atau 2GB)

  • tekan enter, lalu pilih begining
  • setelah itu, kita pilih write lalu ketikan yes

  • selanjutnya, kita akan me resize partisi baru yang sudah kita buat sebelumnya dengan menggunakan resieze2fs, perintah yang digunakan adalah sebagai berikut: sudo resize2fs -f /dev/sda3
  • berikut tampilan partisi setelah dirubah (ukuran partisi menjadi 2GB)
  • kita lihat juga isi dari partisi /dev/sda3 ini
  • ternyata file di dalam partisi /dev/sda3 masih tetap ada :)

Demikian artikel kali ini, mohon maaf apabila ada kesalahan ...

referensi:
https://linux.die.net/man/8/resize2fs
https://linux.die.net/man/8/cfdisk
https://en.wikipedia.org/wiki/Cfdisk
RHCSA Exam Training by Infinite Skills

Saturday, June 3, 2017

Udev (userspace /dev)

Halo guys, berawal dari postingan ane sebelumnya yaitu "Mengatasi USB Modem tidak terdeteksi di Linux" yang ane post di salah satu group fb ternyata mendapat tanggapan berupa pertanyaan "gimana caranya biar modem otomatis ke detect, tanpa repot-repot nulis command nya lagi setiap coloking modem", jawabannya yaitu dengan memanfaatkan udev sebagai trigger.

Jadi, apa itu udev?
Udev merupakan  device manager untuk linux kernel yang fungsi utamanya untuk manajemen devices node di direktori "/dev". Pada saat yang sama, udev juga meng handle semua user space event ketika ada devices yang ditambahkan atau di remove dari system.

Bagaimana udev bekerja?
Saat udev diberi tau oleh kernel tentang adanya device baru, udev mengumpulkan beberapa informasi terkait device tersebut terutama sesuatu yang unik misalkan mac address untuk network card, atau serial number untuk beberapa perangkat USB.

Berdasarkan informasi yang telah didapat, udev kemudian mencari rules yang akan diterapkan, rules-rules tersebut tersimpan di /etc/udev/rules.d/ dan /lib/udev/rules.d/, pada proses ini rules menentukan bagaimana memberikan nama suatu device, symboliclink apa yang akan dibuat (untuk memberikan alternative name), dan perintah apa yang akan dijalankan.

Syntax dari file-file rules cukup sederhana, setiap baris terdapat selection criteria dan variable assignment. Yang pertama digunakan untuk memilih event dan menentukan dimana event akan bereaksi, kemudian menentukan action apa yang akan dilakukan. Semuanya dipisahkan oleh koma (,), untuk selection criteria digunakan comparison operator (seperti ==, !=) atau assignment directive (seperti =, +=, :=). Untuk lebih detail mengenai udev ini, silahkan teman teman mengunjungi dokumentasi distro linux yang digunakan.

Sekarang, bagaimana caranya agar ketika modem usb dicolokan akan langsung mengeksekusi perintah yang kita inginkan (dalam kasus ini membuat usb terdeteksi sebagai modem) ? untuk menjawab pertanyaan tersebut, teman-teman dapat mengikuti langkah-langkah berikut ini:
  • pertama colokan modem usb, untuk melihat ATTR{product} yang akan digunakan di file rules
  • selanjutkan kita harus tau, dimana usb modem di mount. Caranya dengan mengetikan: lsusb
  • pada gambar diatas terlihat bahwa modem sudah ter mount di /dev/bus/usb/003/004
  • selanjutnya kita akan menggunakan path dari usb modem untuk bertanya kepada udev bagaimana udev melihat device (modem usb) tersebut, caranya dengan mengetikan: udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/003/004) 
  • hasilnya kurang lebih akan terlihat seperti ini (perhatikan ATTR{product} nanti akan digunakan di rules)
  • langkah selanjutnya adalah membuat file rules di direktori /etc/udev/rules.d/, format penamaan sebuah file rules yaitu: angka-namafile.rules (harus diawali angka, kemudian dash, dan ber extension .rules)
  • disini saya membuat file rules dengan nama 100-local.rules, dengan isi sebagai berikut: 
    • ACTION=="add", SUBSYSTEM=="block", ATTRS{product}=="Qualcomm CDMA Technologies MSM", RUN+="/usr/local/bin/modem_ane.sh"
    • penjelasan untuk isi file rules diatas adalah sebagai berikut:
      • ACTION = add, rules akan dijalankan ketika usb dicolokan/ditambahkan ke system
      • SUBSYSTEM = block, kernel subsystem yang akan me generate request/permintaan
      • ATTR{product} =  Qualcomm CDMA Technologies MSM, product name usb device milik kita
      • RUN = /usr/local/bin/modem_ane.sh, path script yang akan kita jalankan
  • selanjutnya kita akan membuat script untuk membuat usb terdeteksi sebagai modem di direktori /usr/local/bin/ dengan nama modem_ane.sh, agar lebih readable contoh script dapat dilihat disini
  • jangan lupa untuk menambahkan permission execute pada shell script yang telah dibuat, dengan cara: sudo chmod +x file_name.sh 
  • restart udev service dengan cara: sudo /etc/init.d/udev restart atau sudo service udev restart
  • saatnya melakukan uji coba. Seharusnya ketika usb modem dicolokan/ditancapkan, script modem_ane.sh akan otomatis tereksekusi
  • untuk melihat apakah script yang telah kita buat sedang jalan atau tidak, dapat menggunakan perintah: ps -aux | grep modem, berikut hasilnya

 
Sekian artikel kali ini, mohon maaf apabila ada kesalahan ...
 
referensi:
https://debian-handbook.info/browse/stable/sect.hotplug.html
http://manpages.ubuntu.com/manpages/wily/man7/udev.7.html
http://weininger.net/how-to-write-udev-rules-for-usb-devices.html
https://en.wikipedia.org/wiki/Udev

Saturday, May 6, 2017

Resiko Menggunakan ElasticSearch Sebagai Database Utama

Halo gengs, kali ini saya akan sedikit membahas mengenai resiko ketika menggunakan elasticsearch sebagai database utama.

Bagi yang belum tau apa itu elasticsearch, berikut saya jelaskan secara singkat:
elasticsearch, merupakan open source "search and analytics engine", yang biasa digunakan untuk log analysis, real time application monitoring, click stream analytics, text search dll.

Perlu diketahui juga, elasticsearch menyimpan datanya dalam bentuk json (insert data pada elasticsearch disebut indexing).

Teman teman mungkin sudah tau performa elasticsearch dalam melakukan full text search sangatlah mumpuni, ditambah berbagai feature yang sangat membantu seperti tokenizing, stemming dll pun terdapat dalam elasticsearch.

Tapi, apakah menggunakan elasticsearch sebagai database utama adalah pilihan bijak?, untuk beberapa kasus ternyata jawabannya adalah tidak.

Beberapa forum diskusi seperti quora, stackoverflow dll menyarankan untuk tidak menggunakan elasticsearch sebagai database utama dikarenakan mungkinnya kelihangan data lebih tinggi dibanding database lain (misal mongodb). Berikut video yang menjelaskan mungkinnya kehilangan data pada elasticsearch (mulai pada 13:55): link

Berikut juga beberapa diskusi yang menjelaskan, mengapa sebaiknya anda tidak menggunakan elasticsearch sebagai database utama:
  • https://www.quora.com/Why-shouldnt-I-use-Elasticsearch-as-my-primary-datastore
  • https://www.quora.com/What-are-the-advantages-of-ElasticSearch-over-Database-I-know-its-fast-and-I-have-used-its-API-for-searching-but-why-should-I-completely-move-from-DB-to-ES
Jadi dapat disimpulkan sebaiknya penggunaan elasticsearch hanya sebatas searching, analytics dan indexing saja, untuk masalah CRUD sebaiknya menggunakan database lain karna sebenarnya elasticsearch bukanlah sebuah database, tetapi search and analytics engine. 

Salah satu solusi yang dapat dilakukan untuk mengatasi masalah ini adalah, kita melakukan insert data ke database kemudian melakukan replikasi data yang ada di database tadi ke elasticsearch.

Berikut ini merupakan contoh replikasi data dari mongoDB ke elasticsearch menggunakan mongo-connector yang dokumentasinya bisa dilihat di sini.
Data yang digunakan merupakan hasil scraping tari tribun jabar. Script nya dapat anda lihat di sini 
jumlah data yang ada di mongoDB
index yang ada di elasticsearch


tampilkan data di mongoDB

tampilan data di elasticsearch

Demikian artikel kali ini, terima kasih telah membaca tulisan saya sampai selesai. Mohon maaf jika ada kesalahan.  ...

Thursday, January 19, 2017

Mengatasi USB Modem tidak terdeteksi di Linux


Assalammualaikum gan & sis. Kali ini ane bakalan ngebahas bagaimana caranya menangani modem usb yang ga ke detect di linux, khususnya ubuntu. Cerita ini berawal ketika ane memutuskan beli modem 4G karena desakan ekonomi yang ga memungkinkan lagi terus terusan pake kuota 3G dikarenakan harga nya yang mahal. Inilah panampakan modem yang baru ane beli (advan DT-100)
 
Setelah ane googling kesana kemari, ternyata penyebab modem ga ke detect adalah gagal nya proses usb_modeswitch (ini yang nanti yang bakalan merubah usb kita dari storage ke modem). Gagal nya proses usb_modeswitch ini dikarenakan id vendor dan dan id product yang tidak terdeteksi. Ternyata usb_modeswitch ini memiliki sekumpulan data modem beserta file konfigurasi nya agar dapat melakukan switching dari usb storage ke modem, jadi nanti kita akan download data tersebut.

Langsung saja, berikut ini merupakan langkah – langkah agar modem usb terdeteksi sebagai modem :
  • colokan usb modem
  • buka terminal ketikan : lsusb
  • hasilnya akan terlihat seperti di bawah, bagian yang ditandai merupakan modem usb.
  • 05c6 merupakan id vendor dan f000 merupakan id product
  • ekstrak usb modeswitch data : tar jxf usb-modeswitch-data-20160803.tar.bz2
  • file hasil ekstrak saya taruh di ~/Downloads/usb_modeswitch
  • sekarang, kita lihat apakah modem usb kita terdapat pada usb modeswitch data
  • terminal, ketikan : ls -l ~/Downloads/usb_modeswitch/usb-modeswitch-data-20160803/usb_modeswitch.d/ | grep '05c6:f000'
  • 05c6 merupakan id vendor dan f000 merupakan id product, hasil dari perintah di atas adalah sebagai berikut
  • modem saya ternyata terdaftar di usb modeswitch data. Sekarang kita ketikan usb_modeswith yang akan merubah usb kita dari storage ke modem dengan perintah : sudo usb_modeswitch -W -c ~/Downloads/usb_modeswitch/usb-modeswitch-data 20160803/usb_modeswitch.d/05c6\:f000 -v 05c6 -p f000
  • hasilnya kurang lebih seperti ini :
  • tunggu beberapa saat, nantinya usb modem akan terdeteksi di network manager. contoh nya seperti ini, kita ingin membuat koneksi baru, modem qualcomm terdeteksi :


Sekian artikel kali ini, mohon maaf apabila ada kesalahan. Sampai ketemu pada artikel selanjutnya ...

Bagi anda yang ingin melakukan hal-hal di atas secara otomatis ketika pertama kali menancapkan modem, silahkan baca juga : udev

referensi : http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=742