Archive for July 2018

DNS Over HTTPS Cloudflare di Pi-Hole Ubuntu 16.04

Dalam catatan ini saya ingin berbagi, bagaimana Implementasi DNS Over HTTPS Cloudflare di Pi-Hole Ubuntu 16.04

Pihole adalah aplikasi DNS AdBlocking Server dengan antarmuka web yang mudah digunakan. PiHole bekerja dengan mengganti server DNS kita saat ini dan menggunakan beberapa daftar blokir untuk memblokir permintaan DNS berbahaya dan Situs Ads. Pi-Hole menggunakan DNSMasq sebagai Core System DNS Resolver dan dibantu dengan User Interface yang bisa membantu memonitoring statistik Query yang sudah dilakukan oleh DNS Resolver.

Install Pi-Hole di Ubuntu 16.04

- Update dan upgrade server ubuntu kita
sudo apt-get update && apt-get upgrade
-  Install Komponen yang dibutuhkan
sudo apt-get install curl
Install Pi-Hole via curl
sudo curl -sSL https://install.pi-hole.net | bash
Tunggu sampai proses download/install berjalan dan menjawab beberapa pertanyaan, ketika sudah selesai akan ada pemberitahuan untuk mengakses :
http:/ipserverpihole/admin/ dan password untuk login dihalaman admin pi-hole.

Install Cloudflared dan Konfigurasi DNS Over HTTPS

Instalasi cukup mudah, namun kita harus perhatikan arsitektur server kita amd64 atau arm. Download paket instalasi kemudian lakukan apt-get install :
wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb
sudo apt-get install ./cloudflared-stable-linux-amd64.deb
cloudflared -v
Konfigurasi Cloudflared agar berjalan di startup :
sudo useradd -s /usr/sbin/nologin -r -M cloudflared
Membuat sebuah file konfigurasi Cloudflared :
sudo nano /etc/default/cloudflared
masukan baris berikut :
# Commandline args for cloudflared
CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
Update permisi untuk file konfigurasi cloudflared di atas dengan perintah :
sudo chown cloudflared:cloudflared /etc/default/cloudflared
sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared
Membuat script systemd di /lib/systemd/system/cloudflared.service untuk mengontrol berjalannya service cloudflared dan bisa berjalan di startup
sudo nano /lib/systemd/cloudflared.service
Masukan baris kalimat berikut :
[Unit]
Description=cloudflared DNS over HTTPS proxy
After=syslog.target network-online.target

[Service]
Type=simple
User=cloudflared
EnvironmentFile=/etc/default/cloudflared
ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target
Enable systemd service agar run di startup, kemudian start service check service status, dengan perintah berikut :
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared
Konfigurasi DNS
Pertama, buat file konfigurasi /etc/dnsmasq.d/50-cloudflared.conf dengan memasukan baris berikut :
server=127.0.0.1#5053
Kemudian cek semua file yang ada didalam direktori /etc/dnsmasq.d/, dan tambahkan # di depan setiap baris yang dimulai dengan server=, contoh gambar dibawah ini ( /etc/dnsmasq.d/01-pihole.conf ).


kemudian tambahkan # di setiap baris yang dimulai dengan PIHOLE_DNS contoh gambar dibawah ini ( /etc/dnsmasq.d/setupVars.conf ) :


restart service
sudo systemctl restart cloudflared 
Kita dapat check berfungsi atau tidak, dengan mengunjungi layanan tes DNSSEC disini
Kalau sudah seperti gambar di bawah ini berrati DNS Over HTTPS kita sudah berjalan.


Selamat Mencoba, semoga berhasil ...


Read More

Konfigurasi Server Voip Support Video Call dan Chat dengan Asterisk

Setelah kita melakukan install server voip support video call dan asterisk sudah terpasang, kita perlu mengkonfigurasinya sehingga fungsi Asterisk seperti yang kita inginkan.
Semua file yang kita butuhkan untuk mengkonfigurasi disimpan dalam folder: /etc/asterisk

Minimal File konfigurasi yang perlu diedit adalah:
- sip.conf - untuk otentikasi pengguna dengan nomor telepon dan kata sandi.
- extensions.conf - untuk mengatur dialplan.

Konfigurasi SIP.CONF
Buat file sip.conf baru dengan membackup sip.conf aslinya
mv /etc/asterisk/sip.conf /etc/asterisk/sip-asli.conf
Membuat file sip.conf baru :
nano /etc/asterisk/sip.conf
Contoh sip.conf dibawah ini :
;
; SIP Configuration example for Asterisk
;========================

[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0

relaxdtmf=yes
dtmfmode=rfc2833
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=tcp,udp
srvlookup=yes
t38pt_udptl=yes

tos_sip=cs3
tos_audio=ef
tos_video=af41
tos_text=af41

cos_sip=3                                                           
cos_audio=5                                                               
cos_video=4                                                               
cos_text=3                                                               

maxexpiry=3600                                                                         
minexpiry=60                                                               
defaultexpiry=600                                                              
rtptimeout=60                                                                         
rtpholdtimeout=300                                                                     
allowguest=no                                                              
autocreatepeer=no   

; Codec negotiation
disallow=all
allow=alaw
allow=ulaw
allow=h263p
allow=h264
allow=vp8
allow=h263

canreinvite=no
directmedia=no
callcounter=yes
videosupport=yes
maxcallbitrate=512
use_q850_reason = yes

; SMS Sikomar
textsupport=yes
accept_outofcall_message=yes
outofcall_message_context=sms

; Untuk User SIP SIKOMAR

[10001]
context=sikomar
type=friend
username=10001
secret=test10001
host=dynamic
callerid=[Admin Sikomar]

[1001]
context=sikomar
type=friend
username=1001
secret=test1001
host=dynamic
callerid=[Test Sikomar-1]

Konfigurasi EXTENSIONS.CONF
Tambahkan di /etc/asterisk/extensions.conf paling bawah :
nano /etc/asterisk/extensions.conf
 Contoh extensi
 ; SMS SIKOMAR
[sms]
exten => _X.,1,NoOp(SMS receiving dialplan invoked)
exten => _X.,n,NoOp(To: ${MESSAGE(to)})
exten => _X.,n,NoOp(From: ${MESSAGE(from)})
exten => _X.,n,NoOp(Body: ${MESSAGE(body)})
exten => _X.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
exten => _X.,n,ExecIf($["${ACTUALTO}" != "sip:${EXTEN}"]?Set(ACTUALTO=sip:${EXTEN}))
exten => _X.,n,MessageSend(${ACTUALTO},${MESSAGE(from)})
exten => _X.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _X.,n,Hangup

; Tambahkan Exntensi SIKOMAR
;==========================
[sikomar]
exten => 10001,1,Answer
exten => 10001,2,Dial(SIP/10001,30,tr)
exten => 10001,3,Hangup
;
exten => 1001,1,Answer
exten => 1001,2,Dial(SIP/1001,30,tr)
exten => 1001,3,Hangup
Restart asterisk
service asterisk restart
Cek show SIP users via asterisk CLI
asterisk -rv
sip show peers

Selamat Mencoba 
Baca juga cara Install Server Voip Support Video Call dan Chat

 
Read More

Membuat Server Voip support Video Call dengan Asterisk di Debian 8

Mengenal Voip dan Asterisk
 
Voice over Internet Protocol (VoIP) bukan merupakan teknologi baru. VoIP adalah suatu mekanisme teknologi yang memungkinkan terjadinya percakapan (voice) baik jarak jauh maupun dekat, dengan memanfaatkan internet. Terlepas dari kualitas suara yang tidak sebagus sambungan telepon biasa.

Fungsi VoIP :
1. Signalling – Signalling berfungsi untuk menamkap jaringan yang dituju, sehingga dapat melakukan inisialisasi (penyampaian) pesan/percakapan.
2. Database Service – Layanan database adalah salah satu fungsiVoIP dalam mencari tujuan akhir/endpoint yang harus dituju, sekaligus sebagai penerjemah alamat yang biasanya digunakan dalam duajaringan yang berbeda.
3. Call Connect/Disconnect (Bearer Control) – Bearer Control memungkinkan si penerima panggilan dapat memutuskan panggilan/menerima panggilan.
4. Codecs Operations – Berguna sebagai coder ataupun decoderdalam pengubahan/transmitted suara menjadi sinyal digital/paket data ataupun sebaliknya.

Asterisk adalah software IP Telephone Private Branch Exchange ( IP PBX ) yang digunakan untuk membuat sistem layanan komunikasi telepon melalui internet atau biasa disebut VoIP (Voice over Internet Protocol). Asterisk adalah software Open Source yang berjalan di linux. Asterisk juga memungkinkan komunikasi antar pengguna telepon regular dengan telepon berbasis sip (sip phones).

Asterisk mendukung infrastruktur untuk Video Call. Secara internal adalah satu aliran audio dan satu aliran video dalam panggilan yang sama. Beberapa driver saluran dan aplikasi yang memiliki dukungan video.

Installasi Voip Server ( Asterisk)
Pre-requites installasi asterisk:

Asterisk membutuhkan sistem yang berjalan dengan kernel 2.6 dan file header harus ada untuk menyusun asterisk di sistem. Asterisk ditulis dalam c; dan membutuhkan gcc dengan lib yang mendukung seperti termcap, dan openssl. Add-on Asterisk membutuhkan file header mysql jadi silakan instal mysql lib, mysql client dan header untuk mengkompilasi asterisk-addons.

Langkah-langkah:
1. Pertama kita install terlebih dahulu Debiannya.
2. Jika sudah install kita bisa langsung mulai install

Masuk  ke terminal
apt update
apt dist-upgrade
apt-get install build-essential wget kernel-package fakeroot wget bzip2 g++ libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion openssl libxml2-dev uuid-dev sqlite3 pkg-config libjansson-dev
Download source asterisk via terminal
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/zaptel/zaptel-1.4.12.1.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-sounds-1.2.1.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.4.tar.gz
Extract file hasil download di folder /usr/src
cd /usr/src
tar -zxvf asterisk-14-current.tar.gz
tar -zxvf zaptel-1.4.12.1.tar.gz
tar -zxvf asterisk-sounds-1.2.1.tar.gz
tar -zxvf asterisk-addons-1.6.2.4.tar.gz
tar -zxvf libpri-current.tar.gz
Kita mulai compile
cd zaptel-1.4.12.1
./configure
make
make install
make config
cd ..
cd libpri-1.6.0
make
make install
make config 
cd ..
cd asterisk-14.7.7
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure
make
make install
mae samples
make config
make install-logrotate
cd ..
cd asterisk-sounds
make install 
cd ..
cd asterisk-addons
./configure
make
make install
Jika sudah selesai kita jalankan asterisknya
service asterisk start
Cek status asterisk
service asterisk status
Masuk ke asterisk Cli
asterisk -rv








Selamat Mencoba ...
bersambung ke cara konfigurasi  

 

Read More

Mengatasi Linphone crash di Ubuntu 16.04

Berdasarkan pengalaman saya setelah install linphone di ubuntu 16.04. Setelah linphone terinstall, permasalahannya linphone mengalami crash setelah saya close, dan selanjutnya linphone selalu close sendiri.

saya mencoba untuk install linphone versi terbaru linphone yaitu 4.1.1, cara termudah untuk menginstalnya adalah dengan menggunakan Flatpack

1. Menginstall Flatpack di Ubuntu,
Menginstall Flatpack di ubuntu sangat mudah sekali, dengan perintah berikut :
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
2. Install linphone 4.1.1 dari Flatpak (hanya x86_64), masukan perintah berikut :
flatpak --user install --from https://linphone.org/flatpak/linphone.flatpakref
3. Menjalankan Linphone dari terminal dengan perintah :
flatpak run com.belledonnecommunications.linphone
Untuk konfigurasinya sama seperti linphone versi sebelumnya ...

Selamat Mencoba ...!
Read More

Mengenal Jaringan Wireless LAN

Jaringan Wireless LAN adalah teknologi jaringan LAN dengan media transmisi udara sehingga memberikan layanan fleksibellitas dan relibilitas untuk para pengguna komputer. Standar komunikasi data yang digunakan umumnya adalah IEEE 802.11, dimana IEEE 802.11b mempunyai kecepatan maksimum 11 Mbps, sedang IEEE 802.11a dan IEEE 802.11g mempunyai kecepatan maksimum 54 Mbps. Untuk komunikasi data pada wireless membutuhkan beberapa komponen yang dapat diterjemahkan oleh interface protocol.

Mekanisme Jaringan Wireless LAN

Service Set Identifier (SSID)
SSID adalah sebuah nama network yang dipakai oleh wireless LAN dan merupakan karakter yang unik, case sensitive dan menggunakan alpha numeric dengan nilai karakter 2-32 karakter. SSID dikirimkan dalam beacon, probe request, probe response dan tipe-tipe frame yang lain. Client station harus dikonfigurasikan dengan SSID yang cocok untuk bisa tergabung dengan sebuah jaringan. Administrator akan mengkonfigurasikan SSID pada setiap access point. Point yang terpenting adalah SSID harus benar-benar cocok antara Access point dengan Client.

Beacon
Beacon adalah frame terpendek yang dikirim oleh access point ke station atau station ke station untuk mengatur sinkronisasi komunikasi.

Model Jaringan Wireless LAN

Model Jaringan Wireless LAN Independent (Addhoc)
Model network addhoc adalah model network dimana setiap network saling memancarkan beacon. Sehingga setiap client yang telah memiliki peralatan wireless akan dapat langsung terhubung dengan satu sama lainnya. Artinya pada model ini tidak adanya server ataupun satu komputer yang bertanggung jawab pada beban traffik pada tiap koneksi yang terjadi.
 
Model Jaringan Wireless LAN dengan Access point
Model jaringan yang ada pada penggunaan access point (AP) adalah model yang menjadikan access point sebagai sentral koneksi. Dimana access point itu sendiri dapat berupa hardware atau juga software.
 
- Access point Hardware
Access point dengan hardware adalah Access point yang menggunakan perangkat keras untuk memancarkan sinyal radio melalui antena, sehingga dapat diterima oleh antena client.
 
- Access point Software
Access point tipe ini adalah access point dengan menggunakan software yang telah diinstal pada PC yang dijadikan access point, sehingga masing-masing client yang sudah terdapat wireless interface didalamnya dapat saling terkoneksi jaringan yang terpusat pada access point.


Read More

Mengenal Apa Itu Jaringan LAN dan WAN

Jaringan (network) adalah jaringan dari sistem komunikasi data yang melibatkan sebuah atau lebih sistem komputer yang dihubungkan dengan jalur transmisi dan alat komunikasi membentuk satu sistem. Dengan network, komputer yang satu dapat menggunakan data di komputer yang lain, dapat mencetak laporan di printer komputer yang lain, dapat memberi berita ke komputer yang lain walaupun berlainan area. 

Jaringan (network ) merupakan cara yang sangat berguna untuk mengintergrasikan sistem informasi dan menyalurkan arus informasi dari satu area ke area yang lainnya.

JARINGAN LAN (Local Area Network)

LAN ( Local Area Network ), merupakan suatu Jenis Jaringan Komputer dengan mencakup wilayah lokal. Dengan menggunakan berbagai perangkat jaringan yang cukup sederhana dan populer, seperti menggunakan kabel UTP (Unshielded Twisted-Pair), Hub, Switch, Router, dan lain sebagainya. Contoh dari jaringan LAN seperti komputer-komputer yang saling terhubung di sekolah, di perusahaan, Warnet, maupun antar rumah tetangga yang masih mencakup wilayah LAN.

Keuntungan dari penggunaan Jenis Jaringan Komputer LAN seperti lebih irit dalam pengeluaran biaya operasional, lebih irit dalam penggunaan kabel, transfer data antar node dan komputer labih cepat karena mencakup wilayah yang sempit atau lokal, dan tidak memerlukan operator telekomunikasi untuk membuat sebuah jaringan LAN.

Pada sebuah LAN, setiap node atau komputer mempunyai daya komputasi sendiri, setiap komputer juga dapat mengakses sumber daya yang ada di LAN sesuai dengan hak akses yang telah diatur. Sumber daya tersebut dapat berupa data atau perangkat seperti printer. Pada LAN, seorang pengguna juga dapat berkomunikasi dengan pengguna yang lain dengan menggunakan aplikasi yang sesuai.

LAN mempunyai karakteristik sebagai berikut :
- Mempunyai pesat data yang lebih tinggi.
- Meliputi wilayah geografi yang lebih sempit.
- Tidak membutuhkan jalur yang harus disewa dari operator telekomunikasi.

Jaringan WAN (Wide Area Network)

WAN ( Wide Area Network ), merupakan Jenis Jaringan Komputer yang lebih luas dan lebih canggih dari Jenis Jaringan Komputer LAN. Teknologi jaringan WAN biasa digunakan untuk menghubungkan suatu jaringan dengan negara lain atau dari satu benua ke benua yang lainnya. Jaringan WAN bisa terdiri dari berbagai Jenis Jaringan Komputer LAN dan WAN karena luasnya wilayah cakupan dari Jenis Jaringan Komputer WAN. Jaringan WAN, biasanya menggunakan kabel fiber optic serta menanamkannya di dalam tanah maupun melewati jalur bawah laut.

Keuntungan Jenis Jaringan Komputer WAN seperti cakupan wilayah jaringannya lebih luas dari Jenis Jaringan Komputer LAN, tukar-menukar data informasi menjadi lebih rahasia dan terarah karena untuk berkomunikasi dari suatu negara dengan negara yang lainnya memerlukan keamanan yang lebih, dan juga lebih mudah dalam mengembangkan serta mempermudah dalam hal bisnis.

Kerugian dari Jenis Jaringan WAN seperti biaya operasional yang dibutuhkan menjadi lebih banyak, sangat rentan terhadap bahaya pencurian data-data penting. Jaringan WAN digunakan untuk menghubungkan jaringan area lokal yang satu dengan jaringan lokal yang lain, sehingga pengguna atau komputer di lokasi yang satu dapat berkomunikasi dengan pengguna dan komputer di lokasi yang lain.



Read More

Install Jitsi di Ubuntu 16.04

Jitsi adalah aplikasi Open Source dan multi-platform audio / video telepon Internet dan instant messenger yang ditulis di Java. Jitsi mendukung beberapa pesan instan dan protokol telepon yang paling populer seperti SIP, Jabber / XMPP (dan karenanya Facebook dan Google Talk), AIM, ICQ, MSN, Yahoo! Mesenger. Jitsi juga bisa disebut sebagai pengganti Skype Mesenger.


Install Jitsi Mesenger

Download file .deb Jitsi Mesenger : 
64bit Disini untuk 32Bit Disini

Setelah download selesai Tekan Ctrl+Alt+T untuk membuka terminal di Ubuntu, Masuk ke diretori Download Ubuntu dengan perintah :
cd Download atau cd Unduhan
Jalankan perintah di bawah ini untuk install jitsi sistem 32 dan 64 bit:
sudo dpkg -i jitsi_2.2-latest_*.deb
sudo apt-get install -f
Selamat Aplikasi Mesenger Jitsi sudah terinstall di komputer kita.

Konfigurasi Jitsi Mesenger untuk Client Voip ( Protocol SIP )
Klik Tambahkan Akun


Pilih SIP dan Klil Tombol Advanced atau Mahir



Klik tombol Connections atau Sambungan, dikolom Registrar masukan alamat IP atau Host SIP


Klik Tombol Akun, dan masukan akun SIP, Selanjutnya Klik berikutnya atau next, dan Sig-in


Setelah Sigin 


Silahkan Tambah Kontak atau Melakukan Panggilan

Selamat Mencoba, semoga berhasil ya ...!

Untuk Jitsi Versi Android, silahkan cek Jitsi Android
Read More

Mengatasi Wifi laptop ( Driver Broadcom) yang Tidak terdeteksi pada Linux Ubuntu 16.04

Setelah install ubuntu 16.04, banyak koneksi wifi laptop tidak langsung terdetek, kenapa ? Tutorial dibawah ini adalah salah satu cara termudah diantara banyak cara lain yang lebih ribet.

Cek driver wifi laptop kita 
Sebelum kita menginstall driver wifi, kita harus tahu hardware wireless laptop yang kita gunakan. Ketikkan perintah lspci di terminal untuk mengecek spesifikasi hardware.
lspci

Melihat gambar diatas kita tahu kalau hardware wireless di laptop kita adalah Broadcom dengan seri BCM43288. Seri ini juga sering disingkat menjadi BC43xx.

- Cara pertama adalah dengan menginstall paket instalasi offline ( file extensi .deb ). Download installer offline dengan file extnesi .deb tersebut di Disini
Setelah selesai download, masuk ke folder download kita dengan perintah :
cd Download atau cd Unduhan, 
silahkan ketik perintah berikut :
sudo dpkg -i b43-fwcutter_019-2_amd64.deb
sudo apt-get install -f
Cara kedua dengan menginstall pake instalasi online, memasang driver melalui terminal. Perintahnya
sudo apt-get install b43-fwcutter firmware-b43-installer
setelah instalasi selesai, lakukan modprobe driver baru, dengan perintah :
sudo modprobe b43
silahkan cek kembali koneksi wifi laptop kita ...

Mudah bukan ? Selamat mencoba semoga berhasil ....
Read More

Install Haproxy Load balancing di Ubuntu 16.04


Install Haproxy Load balancing di Ubuntu 16.04

Mengenal HAProxy
HAProxy (High Availability Proxy) adalah perangkat lunak yang banyak digunakan untuk penyeimbang beban aplikasi berbasis TCP, HTTP dan protokol lainnya. Haproxy telah menjadi standar untuk load balancing open source, gratis dan dilengkapi dengan sebagian besar distribusi Linux.

Load Balancing
Kegiatan atau aktivitas untuk menyeimbangkan beban trafik, sehingga tidak tertumpu pada 1 server saja. Mudah dibayangkan kita mempunyai lebih dari satu server, 1 server ( web server ) hanya bisa menahan beban sekitar 100 koneksi atau request pengguna web server kita, sedangkan kita harus menanggung beban sebanyak 200 koneksi, dalam hal ini kita membutuhkan lebih dari 1 server, untuk membagi beban itu kita membutuhkan peran dari load balancing. sebelum kita lebih jauh mempelajari haproxy, kita sebaiknya mengerti apa saja terminologi dalam HAProxy tersebut.

Sebelum memulai install HAProxy, kita harus update system ubuntu server yang akan dijadikan HAProxy Load Balacing dengan perintah :
sudo apt-get update && sudo apt-get dist-upgrade
Install HAProxy
HAProxy sudah termasuk dalam sistem manajemen paket dari sebagian besar distribusi Linux, install HAProxy dengan perintah :
sudo apt-get install haproxy
Konfigurasi HAProxy
1. Lihat file konfigurasi default di /etc/haproxy/haproxy.cfg, yang dibuat secara otomatis saat instalasi. File ini mendefinisikan pengaturan standar dari HAProxy, tanpa load balancing :
global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL). This list is from:
    #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    # An alternative list with additional directives can be obtained from
    #  https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    ssl-default-bind-options no-sslv3

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http
Bagian global mendefinisikan parameter sistem seperti lokasi file dan pengguna dan grup di mana HAProxy dijalankan. Dalam banyak kasus, kita tidak perlu mengubah apa pun di bagian global ini. Pengguna haproxy dan grup haproxy keduanya sudah dibuat selama instalasi.

Bagian default mendefinisikan parameter logging tambahan dan pilihan yang terkait dengan timeout dan kesalahan. Secara default, pesan normal dan pesan kesalahan akan dicatat dalam log.

2. Jika kita ingin menonaktifkan pesan operasi sistem normal dari login, kita dapat menambahkan kalimat berikut setelah opsi "dontlog null":
option dontlog-normal
3. Kita juga dapat memilih untuk memiliki kesalahan log dalam file log yang terpisah :
option log-separate-errors
Konfigurasi Load Balancing
Ketika kita mengkonfigurasi load balancing dengan menggunakan HAProxy, ada dua jenis node yang perlu didefinisikan: frontend dan backend. Frontend adalah node dimana HAProxy mendengarkan koneksi. Node backend adalah yang memungkinkan HAProxy untuk meneruskan permintaan. Jenis node ketiga, node statistik, dapat digunakan untuk memantau load balancer dan dua node lainnya.

1. Buka file /etc/haproxy/haproxy.cfg dalam terminal ubuntu dan tambahkan konfigurasi untuk frontend
nano /etc/haproxy/haproxy.cfg
Tambahkan file dibawah ini :
frontend haproxynode
    bind *:80
    mode http
    default_backend myLB
Konfigurasi diatas menentukan sebuah frontend node bernama myLB, yang terikat ke semua network interfaces pada port 80. HAProxy akan mendengarkan koneksi HTTP ( mungkin untuk menggunakan mode TCP untuk keperluan lain ) dan itu akan menggunakan backend myLB.

2. Menambahkan konfigurasi backend :
backend myLB
    balance roundrobin
    option forwardfor
    http-request set-header X-Forwarded-Port %[dst_port]
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    option httpchk HEAD / HTTP/1.1\r\nHost:localhost
    server node-1 10.100.2.10:80 check
    server node-2 10.100.2.11:80 check
Konfigurasi tersebut mendefinisikan backend myLB dan menentukan beberapa pilihan konfigurasi :
  • Setting spesifikasi dan strategi load balancing, dalam hal ini load balancing menggunakan strategi roundrobin, dimana strategi ini menggunakan setiap server secara bergiliran tetapi memungkinkan beban diberikan kesetiap server dengan bobot yang lebih tinggi akan digunakan lebih sering. Strategi ini termasuk static-rr yang memungkinkan bobot akan disesuaikan dengan cepat dan akan meneruskan permintaan ke server dengan jumlah koneksi terendah.
  • Baris option forwardfor, memastikan permintaan yangakan diteruskan termasuk IP client yang sebenarnya.
  • Baris http-request pertama memungkinkan permintaan yang akan diteruskan untuk menyertakan port HTTP client. http-request kedua menambahkan proto-header yang berisi https jika ssl_fc, variable HAProxy mengembalikan nilai true, jika koneksi pertama kali dibuat melalui transport SSL/TLS.
  • Baris httpchk mendefinisikan HAProxy akan digunakan untuk menguji apakah web server masih valid untuk meneruskan permintaan, jika server tidak menanggapi permintaan yang ditentukan, itu tidak akan digunakan untuk load balancing sampai melewati tes koneksi.
  • Baris server menentukan node server dan alamat IP server. Server yang di definisikan adalah node-node yang masing-masing akan menggunakan pemeriksaan koneksi yang telah kita seting.
3. Menambahkan pilihan statistik node ( server )
listen stats
    bind :8080
    stats enable
    stats uri /
    stats hide-version
    stats auth admin:password
Statistik node akan listen di port 8080 dan untuk tampilan akan menyembunyikan versi HAProxy, serta untuk mengakses statistik tersebut kita memerlukan login dengan kata sandi "admin:password".

Untuk akses web statistik tersebut silahkan ketika IP server HAProxy dengan port 8080 contoh : 10.100.2.9:8080

4. Dibawah ini contoh file konfigurasi lengkap setelah kita modifikasi :
global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL). This list is from:
    #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    # An alternative list with additional directives can be obtained from
   
defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

frontend haproxynode
    bind *:80
    mode http
    default_backend myLB

backend myLB
    balance roundrobin
    option forwardfor
    http-request set-header X-Forwarded-Port %[dst_port]
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    option httpchk HEAD / HTTP/1.1\r\nHost:localhost
    server node-1 10.100.2.10:80 check
    server node-2 10.100.2.11:80 check

listen stats
    bind :8080
    stats enable
    stats uri /
    stats hide-version
    stats auth admin:password
 5. Menambahkan session cookie di Load balancer HAProxy
Untuk menjaga konsistensi session user agar tidak kehilangan session sehingga user tidak harus login kembali saat proses load balancer.

ganti konfigurasi backend sebelumnya
backend myLB
    balance roundrobin
    option forwardfor
    http-request set-header X-Forwarded-Port %[dst_port]
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    option httpchk HEAD / HTTP/1.1\r\nHost:localhost
    cookie SERVERID insert indirect nocache
    server node-1 10.80.1.30:80 check cookie s1
    server node-2 10.80.1.31:80 check cookie s2
Selamat Mencoba .... semoga berhasil 

Read More

Install Mysql-MariaDB on Ubuntu 16.04

Install Mysql-MariaDB on Ubuntu 16.04

MariaDB merupakan versi open source dari MySQL. MariaDB dirilis setelah rilis terbaru dari MySQL dengan beberapa perbaikan dalam hal penanganan bug, penambahan kapasitas engine, fitur baru serta perbaikan kinerja.

Install MariaDB dari Ubuntu Repository
Menginstal dari repositori default Ubuntu adalah cara yang mudah, tetapi ini mungkin memiliki sedikit versi lama dari MariaDB
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client
Install MariaDB dari Official Mirror
MariaDB menawarkan paket penginstal resmi untuk MariaDB. Kita dapat memilih salah satu mirror dari halaman download MariaDB.
sudo apt-get -y install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/ubuntu xenial main'
Jika kita tidak ingin menggunakan perintah di atas, kita dapat secara manual membuat dan memperbarui file repositori MariaDB di file /etc/apt/sources.list.d/
sudo nano /etc/apt/sources.list.d/mariadb.list
Masukan ke dalam file di atas.
# http://downloads.mariadb.org/mariadb/repositories/
deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/ubuntu xenial main
deb-src http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/ubuntu xenial main
Sekarang, install MariaDB dengan perintah berikut.
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client
Saat install MariaDB, tahap instalasi akan meminta kita untuk mengatur kata sandi untuk pengguna root MySQL.

Akses MariaDB dengan perintah berikut :
mysql -u root -p
Masukkan kata sandi root yang telah kita atur saat instalasi.
Setelah memasukkan kata sandi, kita akan mendapatkan shell MariaDB.


Cek Service MariaDB dengan perintah berikut :
sudo systemctl start mariadb
sudo systemctl stop mariadb
Jalankan perintah berikut di terminal untuk memeriksa apakah MariaDB sudah berjalan.
sudo systemctl status mariadb
Selamat Mencoba semoga berhasil ...
Read More

Setting Up Tomcat dengan Nginx Reverse Proxy on Ubuntu 16.04

Apache Tomcat adalah web server open source yang dikembangkan oleh Apache Software Foundation (ASF)

Setting Up Tomcat dengan Nginx Reverse Proxy on Ubuntu 16.04

Tomcat mengimplementasikan beberapa spesifikasi Java EE termasuk Java Servlet, JavaServer Pages (JSP), Java EL, dan WebSocket, dan menyediakan server web HTTP “murni Java” untuk menjalankan kode Java.

Tentang Nginx
Nginx adalah server reverse proxy open source untuk protokol HTTP, HTTPS, SMTP, POP3, dan IMAP, serta load balancer, cache HTTP, dan server web. Proyek nginx dimulai dengan fokus yang kuat pada konkurensi tinggi, kinerja tinggi, dan penggunaan memori rendah.

Langkah-langkah Setting Up

Update Ubuntu 16.04
apt-get update
apt-get dist-upgrade
Install Java
Tomcat membutuhkan JDK (kit pengembangan JAVA) dan kita dapat memilih antara dua implementasi JAVA. Yang pertama adalah JDK JAVA open-source yang termasuk dalam repositori utama Ubuntu dan dapat dengan mudah diinstal menggunakan apt:
apt-get install openjdk-7-jdk
Namun, jika kita lebih suka versi JAVA dari Oracle, kita dapat menginstalnya melalui PPA menggunakan perintah berikut :
apt-get install software-properties-common 
add-apt-repository ppa:webupd8team/java 
apt-get update 
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
Cek apakah kita telah berhasil menginstal JAVA di Ubuntu Server kita menggunakan perintah :
java -version
Install Tomcat8
Install Tomcat8 via apt dengan perintah :
apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin
cek status tomcat8
/etc/init.d/tomcat8 status
set java home di tomcat
nano /etc/default/tomcat8
Tambahkan java_home di file /etc/default/tomcat8
Apabila kita install  openjdk-7-jdk
JAVA_HOME=/usr/lib/jvm/java-7-openjdk
Apabila kita install  versi JAVA dari Oracle
JAVA_HOME=/usr/lib/jvm/java-8-oracle
 Restart Tomcat
/etc/init.d/tomcat8 restart
Akses web server Tomcat
Jika semuanya berjalan lancar kita seharusnya telah berhasil instal Tomcat 8. Untuk memverifikasi ini, kita dapat membuka alamat IP server ubuntu pada port 8080 di mana kita akan disajikan dengan halaman default Tomcat 8 seperti gambar dibawah ini.



Konfigurasi Nginx Reverse Proxy
Kita perlu menginstal Nginx di Ubuntu Server kita dan mengatur reverse proxy untuk Tomcat. Mulai dengan menginstal server HTTP Nginx menggunakan :
apt-get install nginx
Setelah Nginx diinstal, konfigurasi file berikut di /etc/nginx/sites-available/default :
nano /etc/nginx/sites-available/default 
Replace dengan konfigurasi dibawah ini :
upstream tomcat {
    server 127.0.0.1:8080 fail_timeout=0;
}
server {
        listen 80;
        server_name domain_server_kita;

    location / {
        #try_files $uri $uri/ =404;
        include proxy_params;

        # Tambahan
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_connect_timeout      240;
        proxy_send_timeout         240;
        proxy_read_timeout         240;
        proxy_pass http://tomcat/;
    }
}
 Restart service nginx dengan perintah :
/etc/init.d/nginx restart
 Terakhir, silahkan akses aplikasi Tomcat Anda menggunakan IP server ubuntu kita menggunakan port 80 atau tidak menggunakan port.

Selamat Mencoba semoga berhasil ....



Read More

Install Drupal8 via Drupal Console

Drupal Console adalah seperangkat alat yang dijalankan dari antarmuka baris perintah (CLI) untuk menghasilkan kode boilerplate dan berinteraksi dengan instalasi Drupal 8. Ini adalah alat penting bagi siapa pun yang menulis kode untuk Drupal.

Install drupal console via Curl
sudo apt-get install curl
curl https://drupalconsole.com/installer -L -o drupal.phar
mv drupal.phar /usr/local/bin/drupal
chmod +x /usr/local/bin/drupal
Install drupal console via composer
masuk ke directory web root kita, ketikan perintah dibawah ini :
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Install drupal8 Via Console
Drupal Console menyediakan lebih dari satu metode untuk download dan instal Drupal 8. Dalam posting ini saya akan mencantumkan langkah-langkah untuk mencapai proses instalasi.
drupal site:new



Site Install
cd drupal8 (nama folder instalasi)
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
drupal site:install


Tunggu sampai proses instalasi selesai, selanjutnya buka browser ( http://drupal.local)


Drupal sudah terinstall, kita akan di redirect ke Drupal home page.

Selamat Mencoba, semoga berhasill…

Read More