Friday, March 31, 2017

Langkah Mengkonfigurasi Dua MariaDB Server untuk Replikasi Master-Slave

  2 comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai Langkah-langkah Mengkonfigurasi Dua MariaDB Server untuk tujuan Replikasi Database dengan Pengaturan 1 Master dan 1 Slave. Konfigurasi ini termasuk dalam Program Kerja kami SMK Negeri 1 Pedan dan SMK Negeri 1 Sawit dengan Waktu Pelaksanaan 20 Maret - 25 Maret 2017.

a. Pengertian
Replikasi Database merupakan cara yang digunakan untuk menggandakan perubahan data yang terjadi pada Database Server (dalam hal ini MariaDB) untuk menghindari atau meminimalisir kehilangan data akibat kerusakan fisik.

b. Latar Belakang
Konfigurasi ini didasari atas keinginan kami untuk membuat suatu konfigurasi Web Service tanpa adanya gangguan Single Point Failure yang diakibatkan karena salah satu Server mengalami gangguan atau down.

c. Maksud dan Tujuan
Konfigurasi Replikasi Database ini bertujuan untuk mengantisipasi Gangguan yang terjadi pada Server itu sendiri maupun gangguan dalam jaringan yang mengakibatkan tidak berfungsinya layanan.

d. Waktu Pelaksanaan
Waktu yang dibutuhkan untuk melakukan konfigurasi ini kurang lebih 10-15 Menit.

e. Alat dan Bahan
- PC
- 2 Buah Server untuk MariaDB yang saling terkoneksi

f. Topologi
g. Langkah Pengerjan
1. Instalasi MariaDB Server dan Initial Setup
Pertama silahkan lakukan instalasi MariaDB Server pada kedua Server, pada Distro Ubuntu/Debian teman-teman dapat menginstallnya dengan perintah:
~# apt install mariadb-server
Setelah instalasi, silahkan teman-teman lakukan Initial Setup MariaDB nya dengan mengetikkan perintah berikut dan pilih Yes saja ketika diberikan pertanyaan Y/n.
~# mysql_secure_installation
2.  Konfigurasi Binary Logging, Server ID, dan Bind Address pada MariaDB Master
Setelah dilakukan Initial Setup pada kedua server, silahkan login menuju ke Server MariaDB yang akan dijadikan sebagai Master Database.

Hal yang akan kita konfigurasi berada di file /etc/mysql/my.conf untuk Distro Debian dan /etc/mysql/mariadb.conf.d/50-server.conf untuk Distro Ubuntu.

Untuk mengkonfigurasi Binding Address, silahkan teman-teman cari bind_address. Pastikan konfigurasi tersebut dalam kondisi terdapat "comment" atau tanda pagar didepannya, atau Bind Addressnya diset ke 0.0.0.0. Ini diperlukan agar Slave dapat berkomunikasi nantinya.

Kemudian pada section konfigurasi [mysqld] kita tambahkan:
# Mengaktifkan Binary Logging
log-bin
# Memberikan ID Server
server-id = <integer value>
Integer Value silahkan diganti dengan Angka.
Apabila sudah silahkan teman-teman simpan dan restart MariaDB nya.
~# service mysql restart
Kemudian cek apakah Binary Logging sudah aktif ataukah belum dengan:
~# mysqld --verbose --help | grep log-bin
Lalu cek Server ID nya, apakah telah sesuai dengan:
~# mysqld --verbose --help | grep server-id
3. Buat Starting Database dan Akun Khusus Replikasi
Kita akan membuat sebuah database untuk permulaan replikasi. Untuk replikasi, kita membutuhkan satu database sebagai starting point nya. Meski setelah selesai melakukan konfigurasi, database yang bisa direplikasi adalah seluruhnya.
~# mysql -u root -p~# MariaDB [(none)] create database <nama database>;
Kemudian kita buat akun khusus yang akan menangani proses replikasinya.
;; Akun Replikasi untuk Semua Database
~# MariaDB [(none)] grant super, reload, replication slave on *.* to 'username'@'%' identified by 'passwordku';
 ;; Akun Replikasi untuk Database Spesifik
~# MariaDB [(none)] grant super, reload, replication slave on <nama database>.* to 'username'@'%' identified by 'passwordku';
4. Freeze Database Master dan Buat Snapshot
Untuk mensinkronkan database dari Master ke Slave kita perlu melakukan pembekuan sementara pada Database Master untuk memastikan Database yang akan dimuat oleh Slave benar-benar sama dengan yang ada di Master.
;; Membekukan Database
~# MariaDB [(none)] flush tables with read lock;
Apa itu Flush Tables with Read Lock? silahkan baca selengkapnya disini.
;; Menampilkan Status Posisi Database Master
~# MariaDB [(none)] show master status;
Mohon untuk mencatat Nama File serta Posisi nya. Kedua hal ini dibutuhkan ketika kita mengkonfigurasi MariaDB Slave nantinya.

Selanjutnya kita buat Snapshot untuk Database yang sudah kita buat sebelumnya.
~# tar cjvf /home/fajar/snapshotmaster.tar.bz2 /var/lib/mysql/<nama database>
5. Kirim Arsip Snapshot ke Server MariaDB Slave
Kita kirimkan arsip snapshot yang sudah kita buat ke Server MariaDB Slave, disini saya akan menggunakan Tool scp untuk melakukan transfer data. Apabila menggunakan scp pastikan di server remote sudah terinstall SSH Server.
~/home/fajar# scp snapshotmaster.tar.bz2 fajar@192.168.101.4:/home/fajar
6. Konfigurasi Server ID pada MariaDB Slave
Selanjutnya kita akan konfigurasi MariaDB Slave nya. Silahkan teman-teman login ke server tersebut. Kita akan menambahkan Server ID pada Konfigurasi MariaDB nya.
;; untuk Debian
~# nano /etc/mysql/my.conf
;; untuk Ubuntu
~# nano /etc/mysql/mariadb.conf.d/50-server.conf
Tambahkan konfigurasi server-id didalam section [mysqld].
server-id = <integer-value>
Berikan value yang berbeda dengan Server ID milik Master.
Kemudian kita restart dan cek apakah Server ID sudah benar atau belum.
~# mysqld --verbose --help | grep server-id
7. Arahkan MariaDB Slave ke MariaDB Master
Kita arahkan MariaDB Slave agar terkoneksi dan melisten ke MariaDB Master dengan melakukan query:
;; Set Info Master
~# MariaDB [(none)] CHANGE MASTER TO MASTER_HOST='ipmariadbmaster', MASTER_USER='usernamereplikasi', MASTER_PASSWORD='passwordku', MASTER_LOG_FILE='mysqld-bin.xxxxxx', MASTER_LOG_POS=<posisi_log_master>;
;; Menghidupkan Slave Mode
~# MariaDB [(none)] start slave;
Lalu cek apakah Slave sudah terkoneksi ke Master dengan:
~# MariaDB [(none)] show slave status \G;
Apabila Statusnya adalah Waiting for master to send event. Maka Slave siap digunakan, apabila selain pesan tersebut maka silahkan teman-teman cek kembali apakah ada yang salah dengan konfigurasinya atau tidak.

8. Unfreeze Database Master
Agar Database dapat digunakan kembali, kita perlu menghapus status penguncian yang kita lakukan sebelumnya. Silahkan teman-teman login ke CLI MariaDB Master dan ketikkan perintah:
~# MariaDB [(none)] unlock tables;
9. Replikasi Selesai!
Konfigurasi untuk replikasi antar 2 Database Server MariaDB sudah selesai, teman-teman dapat mencoba untuk melakukan pengubahan disisi Master dan hasilnya Slave akan mengikuti perubahan tersebut :)
h. Referensi
- MariaDB Knowledge Base - Setting Up Replication
- HowtoForge - Replicating a master database using MariaDB 10 on Debian 8

i. Kesimpulan
Dengan menggunakan cara Replikasi, kita bisa meminimalisir kehilangan database karena kerusakan Hardware. Replikasi akan terus mengikuti perubahan data yang dilakukan pada Master Server sesuai dengan konfigurasi yang diberikan. Karena Replikasi bersifat Realtime, kita dapat mengkombinasikannya untuk membuat Redundancy Database Server.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Thursday, March 30, 2017

Simple Transparent Proxy dengan MikroTik Web Proxy

  No comments
Illustration | Source Image: ubuntuproxy.co.vu
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai bagaimana membuat Simple Transparent Proxy dengan Fitur Web Proxy yang ada di MikroTik.

a. Pengertian
Proxy merupakan sebuah sistem yang berada di tengah-tengah antara Pengguna dengan Host yang dituju, Proxy berfungsi sebagai penyaring paket dari pengguna. Mirp seperti Firewall namun Proxy lebih bertujuan untuk mengatur bagaimana Pengguna mengakses Jaringan.

b. Latar Belakang
Dikarenakan semakin 'tidak bermanfaatnya' koneksi internet yang ada karena kebiasaan pengguna yang tidak memaksimalkan Internet untuk hal-hal yang lebih postiif, maka penggunaan Proxy akan sangat membantu bagi Penyedia Internet untuk terus mengajak penggunanya menggunakan Internet untuk hal-hal yang positif.

c. Maksud dan Tujuan
Dengan digunakannya Proxy maka diharapkan akan meminimalisir penggunaan Internet untuk hal-hal yang tidak bermanfaat dan cenderung negatif.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan konfigurasi ini kurang dari 2 Menit.

e. Alat dan Bahan
- PC
- 1 Perangkat Mikrotik

f. Langkah Pengerjaan
1. Login ke Mikrotik dengan Winbox
Pertama silahkan teman-teman login ke perangkat Mikrotik masing-masing dengan Aplikasi Winbox.

2. Hidupkan Web Proxy
Setelah masuk, untuk mulai mengaktifkan Web Proxy silahkan teman-teman menuju Menu IP -> Web Proxy. Kemudian berikan checklist Enabled lalu klik Apply. Sampai disini Web Proxy sudah aktif namun belum menyaring apapun dan harus dikonfigurasi manual di sisi Client untuk menggunakan Web Proxy.

3. Konfigurasi Transparent Proxy
Agar kita tidak perlu mensetting satu persatu Client untuk menggunakan Web Proxy, kita bisa mengaturnya menjadi Transparent Proxy, sistemnya adalah dengan me-redirect Port Client ke Port Web Proxy. Untuk membuat Transparent Proxy ini silahkan teman-teman menuju Menu IP -> Firewall -> NAT. Lalu tambahkan Entry dengan mengklik tombol [+].

Hal-hal yang harus teman-teman isi disini adalah:
Tab General:
- Chain : dstnat
- Protocol : 6 (tcp)
- Dst. Port : 80 (Port HTTP)
Tab Action
- Action : redirect
- To Ports : 8080 (Port Web Proxy)

Jika sudah silahkan klik Apply, OK.
Sampai saat ini Web Proxy sudah aktif dan berjalan dengan mode Transparent Proxy. Untuk saat ini kelemahannya adalah teman-teman tidak bisa memblokir situs HTTPS yang dibuka menggunakan Browser tertentu seperti Google Chrome dll.

g. Referensi
- Mikrotik Indonesia - Blokir Website & File Extension dengan Web Proxy

h. Kesimpulan
Dengan menggunakan Proxy, kita akan lebih bisa mengatur apa-apa saja yang diperbolehkan dan tidak diperbolehkan bagi User untuk dapat mengakses sehingga akan lebih sesuai dengan Regulasi atau Peraturan yang sudah ditetapkan.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Wednesday, March 29, 2017

Langkah Membuat Interface Bridge di Ubuntu Server 16.04

  No comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai bagaimana langkah pembuatan Interface Bridge di Ubuntu Server 16.04.

a. Pengertian
Interface Bridge adalah Interface yang biasa digunakan untuk menjembatan suatu jaringan, Interface Bridge biasa atau sering digunakan pada Komputer Server yang difungsikan untuk Virtualisasi supayan VM yang ada pada Server tersebut dapat berhubungan dengan Jaringan Luar melalui Interface Bridge yang dibuat.

b. Latar Belakang
Saya membuat konfigurasi Bridging ini didasari atas keingintahuan saya mengenai bagaimana membuat Interface Bridge yang didalam Bridge ini akan ada Dua Interface Fisik yang akan saling fail-over, namun untuk saat ini saya belum menemukan cara yang tepat agar Fail-over ini bekerja dengan semestinya.

c. Maksud dan Tujuan
Interface Bridge ini saya buat untuk tujuan memberikan akses bagi VM yang saya buat sehingga dapat berkomunikasi dengan Jaringan luar.

d. Waktu Pengerjaan
Waktu yang diperlukan untuk membuat Interface Bridge ini sekitar 5-10 Menit.

e. Alat dan Bahan
- PC
- Server dengan OS Ubuntu Server (Fisik atau Virtual)
- Koneksi Internet
- Ethernet yang Ingin di Bridge

f. Langkah Pengerjaan
1. Update Cache Repository
Sebelum kita beranjak ke Step selanjutnya, kita akan melakukan Update Cache Repository terlebih dahulu untuk memastikan agar List Package kita adalah yang terbaru.

~$ sudo apt update

2. Instalasi Bridge Utilities
Untuk membuat Interface Bridge, kita memerlukan sebuah aplikasi yang bernama bridge-utils. Untuk menginstallnya kita cukup memasukkan perintah:

~$ sudo apt install bridge-utils

3. Konfigurasi Interface Bridge
Selanjutnya kita akan memodifikasi konfigurasi Ethernet kita dan membuat Interface baru yaitu Bridge di /etc/network/interfaces.

Jika di Interface fisik kita sebelumnya disetting Static/DHCP maka sekarang ubahlah menjadi manual. Kemudian dibawahnya kita buat Interface Bridge baru, seperti inilah konfigurasi yang saya pakai pada simulasi ini:

# Ethernet Utama
auto enp0s3
iface enp0s3 inet manual

# Interface Bridge
auto br0
iface br0 inet <dhcp/static>
  bridge_ports enp0s3
  bridge_stp off
  bridge_maxwait 0
 4. Reboot Server
Jika konfigurasi Bridge sudah teman-teman setting dan sesuaikan, silahkan simpan konfigurasi tersebut kemudian lakukan Reboot untuk mendapatkan hasil yang maksimal.

5. Konfigurasi Selesai!
Setelah Reboot teman-teman bisa cek dengan ip a atau ifconfig. Seharusnya Interface Bridge yang sudah kita buat sudah memiliki IP sesuai dengan konfigurasi yang kita berikan, yang artinya sudah dapat digunakan.
g. Referensi
- Ubuntu Documentation - NetworkConnectBridge

h. Kesimpulan
Dengan membuat Interface Bridge ini selain dapat mengamankan koneksi apabila terjadi looping, kita juga bisa menggabungkan Interface lain agar menggunakan konfigurasi yang sama dengan yang ada di Bridge.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Monday, March 27, 2017

Web Server Load Balancing dan Reverse Proxy dengan NGINX

  No comments
NGINX Logo - Source Image:Effendy Edyono
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai Bagaimana membangun sebuah Web Server Load Balancing dan Reverse Proxy dengan NGINX (Engine X).

a. Pengertian
Load Balance merupakan salah satu cara yang dapat digunakan untuk membuat keseimbangan Traffic antar banyak Web Server sesuai dengan yang kita konfigurasikan.

b. Latar Belakang
Konfigurasi ini didasari atas keinginan kami untuk membuat suatu konfigurasi Web Service tanpa adanya gangguan Single Point Failure yang diakibatkan karena salah satu Server mengalami gangguan atau down.

c. Maksud dan Tujuan
Tujuan dari konfigurasi ini adalah untuk membuat Web Server NGINX yang dikonfigurasi sebagai Load Balancer dan Reverse Proxy untuk Web Server-Web Server yang ada dibelakangnya. Reverse Proxy digunakan untuk menscalling penggunaan Web Server yang dari satu menjadi puluhan atau ratusan server.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan konfigurasi ini kurang lebih 10-15 Menit.

e. Alat dan Bahan
- PC
- 1 Server untuk NGINX
- 2 Server untuk Web Server Apache2

f. Langkah Pengerjaan
Disini saya mengasumsikan Ketiga Server diatas sudah diinstall OS nya. Untuk konfigurasi pribadi saya menggunakan Ubuntu Server 16.04 untuk NGINX dan Debian 8.6 untuk Apache2

1. Instalasi Apache2
Pertama kita akan melakukan Instalasi Web Server Apache2 di kedua server yang akan dijadikan Backend Web Server.
~# apt install apache2
2. Konfigurasi Port Apache2
Karena Apache2 tidak melayani Client secara langsung dan untuk alasan keamanan, saya mengganti Port Default Apache2 yaitu dari 80 ke 8080. Kita dapat menggantinya dengan mengedit file /etc/apache2/ports.conf
~# nano /etc/apache2/ports.conf
Kita ganti Listen Port dari 80 ke 8080, kemudian kita Save dan Restart Service Apache2 nya.
~# service apache2 restart
3. Instalasi NGINX
Selanjutnya kita lakukan Instalasi Web Server NGINX pada Server Frontend.
~# apt install nginx
Pastikan ketika selesai install, cobalah untuk mengakses IP atau Domain Server tersebut. Apabila muncul "Welcome to nginx!", silahkan lanjutkan konfigurasi. Apabila muncul Connection Refuse, Bad Gateway dsb, silahkan untuk memperbaikinya terlebih dahulu. Cara untuk memperbaiki sayangnya diluar scope dari Artikel ini.

4. Konfigurasi NGINX untuk Load Balancer dan Reverse Proxy
Sebelum melanjutkan, saya akan menjelaskan sedikit mengenai macam-macam Load Balancing yang dapat dilakukan oleh NGINX.
- Round Robin : Tipe Load Balancing ini akan mendistribusikan Traffic ke server-server dibelakangnya dengan sama rata. Tipe ini cocok untuk melayani Website dengan tipe statik dikarenakan cara kerjanya yang mendistribusikan Traffic ke Semua Server. Meskipun memungkinkan untuk diaplikasikan pada Website Dinamis namun teman-teman harus melakukan konfigurasi lebih lanjut karena jika tidak maka kalian akan memiliki masalah pada Sesi Aplikasi.

- Least Connection : Tipe Load Balancing ini akan mendistribusikan Traffic ke Server yang mempunyai beban load yang rendah. Karakteristik dari Tipe ini sama seperti Round Robin, yaitu cocok untuk Website Statik namun akan bermasalah untuk Website Dinamis apabila tidak ada konfigurasi lanjut.

- IP Hash : Tipe Load Balancing ini akan mendistribusikan Traffic berdasarkan IP dari Client. NGINX akan mencocokkan Webserver Backend dengan IP yang dimiliki oleh Client, sehingga apabila seorang Client mendapatkan jawaban dari Server A pada pertama kali, maka request selanjutnya juga akan mendapat jawaban dari Server A dan seterusnya sampai Server tersebut dianggap Down, jika Down maka Client baru akan diarahkan ke Server B dan seterusnya. Karena itu dari ketiga tipe Load Balancing ini, IP Hash adalah tipe yang paling cocok diaplikasikan pada Website Dinamis.

Yap, itu adalah sedikit penjelasan mengenai macam Load Balancing yang ada di NGINX. Untuk membuat konfigurasi Load Balancing dan Reverse Proxy, kita cukup membuat satu file konfigurasi yang dapat diletakkan di /etc/nginx/conf.d/. Isi dari file tersebut kurang lebih adalah seperti ini:
;; Pindah Current Working Directory
~# cd /etc/nginx/conf.d
;; Buat file konfigurasi~/etc/nginx/conf.d# nano loadbalancer.conf
Umumnya, konfigurasi awal untuk Load Balancing dan Reverse Proxy kurang lebih seperti ini:
# Mendaftarkan Server / Grup Server-serverupstream grupserver1 {
server 192.168.101.1:8080;
server 192.168.101.2:8080;
}

server {
# Konfigurasi Port NGINX
listen 80;

location / {

# Konfigurasi Header HOST yang berisi Host yang diminta.
proxy_set_headers HOST $host;
# Konfigurasi Header untuk Server Backend yang berisi Informasi Protokol Client, HTTP atau HTTPS.
proxy_set_header X-Forwarded-Proto $scheme
# Konfigurasi Header yang berisi IP Asli dari Client.
proxy_set_header X-Real-IP $remote_addr;
# Konfigurasi Header yang berisi Server-server yang pernah diakses oleh Client.
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Pass Request dari NGINX ke Upstream
proxy_pass http://grupserver1;
}
}
4. Disable Default Site NGINX
Agar tidak tumpang tindih konfigurasinya, maka kita akan mematikan Default Site NGINX dengan menghapus Symbolic Link yang berada di /etc/nginx/sites-enabled.
~# rm /etc/nginx/sites-enabled/default
5. Restart NGINX
Agar konfigurasinya diterapkan NGINX, kita perlu merestart Servicenya dengan cara:
~# service nginx restart

6. Test!
Jika tidak ada Error pada log /var/log/syslog ataupun ketika merestart NGINX, maka seharusnya Load Balancer dan Reverse Proxy NGINX sudah berjalan!

Untuk sedikit Improvisasi:
- Mengarahkan Traffic ke Server berdasarkan IP Client
Kita akan mengubah sedikit konfigurasinya menjadi seperti ini:
geo $upstream {
default grupserver1;
10.20.30.0/24 grupserver2;
192.168.10.1/29 grupserver3;
}
upstream grupserver1 {
server 10.0.0.1;
server 10.0.0.2;
server 10.0.0.3;
}
upstream grupserver2 {
server 10.1.1.1;
server 10.1.1.2;
}
upstream grupserver3 {
server 10.2.2.1;
}
server {
.........................
proxy_pass http://$upstream;
..........................
}
- Mendistribusikan Traffic berdasarkan Konfigurasi Beban
Kita bisa mengkonfigurasi Server mana yang akan menerima beban yang lebih berat dan lebih ringan dengan menambahkan parameter weight.
upstream grupserver1 {
server 10.0.0.1 weight=15;
server 10.0.0.2 weight=10;
server 10.0.0.3 weight=5;
}
Maksud dari 15,10,dan 5 adalah bahwa Traffic akan disebar ke tiga server tersebut dengan masing-masing server akan menangani sejumlah 15 Request, 10, dan 5 Request.

- Health Check Tweak: Mengatur Max Fail dan Timeout Server
Kita bisa mengaktifkan Health Check pada Server Backend kita untuk mengetahui apakah Server-server tersebut dapat merespon atau tidak. Kita akan menambahkan parameter max_fails dan fail_timeout pada konfigurasi Upstream.
upstream grupserver1 {
server 10.0.0.1 weight=15 max_fails=2 fail_timeout=5s;
server 10.0.0.2 weight=10 max_fails=2 fail_timeout=10s;
server 10.0.0.3 weight=5 max_fails=3 fail_timeout=10s;
}
Max Fail adalah parameter untuk mengindikasikan berapa kali server tersebut diberi kesempatan jika terjadi gagal respon. Dan Max Fail akan dihitung apabila sudah melampaui batas Timeout sejak Server tersebut gagal merespon. Apabila Max Fail sudah tercapai maka NGINX akan mengaggap Server tersebut down yang kemudian NGINX akan mengarahkan Client ke Server lain dan mengantisipasi agar tidak ada Request Client yang mengarah ke Server tersebut. Meski begitu, NGINX akan tetap mencoba untuk memberikan Request ke Server tersebut, apabila sudah mendapat jawaban kembali maka Client yang diarahkan ke Server lain akan diarahkan kembali ke Server tersebut.
Konfigurasi Final Sementara
g. Referensi
- NGINX Admin Guide
- UpCloud - How to Configure Load Balancing with NGINX
- DigitalOcean - Understanding Nginx HTTP Proxying, Load Balancing, Buffering, and Caching

h. Kesimpulan
Dengan konfigurasi diatas, kita dapat membangun sebuah Server Load Balancing untuk meminimalisir Single Point Failure yang diakibatkan oleh Down-nya Webserver. Ini masih belum dapat disebut Anti-Single Point Failure sepenuhnya dikarenakan untuk menggunakan lebih dari satu Load Balancer kita memerlukan Infrastruktur Cloud yaitu IP Floating.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Friday, March 24, 2017

Melihat Keseluruhan Informasi BIOS Komputer Dengan Melalui Terminal

  No comments
BIOS Illustration | Source Image : www.ikeni.net
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai bagaimana cara kita bisa melihat keseluruhan informasi dari BIOS pada komputer kita hanya dengan menggunakan aplikasi biosdecode & dmidecode yang dijalankan melalui Terminal.

a. Pengertian
biosdecode adalah Aplikasi Utility yang berbasis CLI yang dapat digunakan untuk mem-parsing Data BIOS dan menampilkan informasinya mengenai semua yang dapat aplikasi ini ketahui.
dmidecode atau SMBIOS/DMI Decoder adalah aplikasi yang dapat digunakan untuk men-dump atau mengambil tabel informasi yang berisi informasi Hardware dari SMBIOS.

b. Latar Belakang
Karena terkadang kita perlu mencari tahu spesifikasi dari Hardware kita untuk mencocokkannya dengan Software yang kita gunakan, Daripada harus masuk ke BIOS mengapa tidak kita lihat saja informasinya dari sisi OS?

c. Maksud dan Tujuan
Tujuan dari penggunaan aplikasi-aplikasi ini adalah agar kita dapat melihat data yang ada yang tersimpan dalam memori BIOS kita yang selanjutnya kita dapat manfaatkan informasi data tersebut.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan pengerjaan ini tidak sampai 5 Menit, karena kita hanya perlu memasukkan satu perintah saja.

e. Alat dan Bahan
- PC
- Akses Sudo/Super User ke Terminal

f. Langkah Pengerjaan
1. Buka Terminal
Pertama silahkan teman-teman buka Terminal kalian kemudian masuk dengan Akun Root, atau apabila tidak memiliki akses tersebut pastikan Akun yang kalian gunakan memiliki akses ke Sudo.

2. Penggunaan SMBIOS/DMI Decoder
Untuk kita dapat melihat informasi dari BIOS, disini saya akan menggunakan Aplikasi Utility dmidecode, Meskipun kita juga dapat menggunakan biosdecode namun Output dari biosdecode tidak dapat dibaca dengan mudah oleh manusia, sedangkan dmidecode mempunyai output yang cukup mudah dimengerti.

Untuk menggunakan dmidecode, kita cukup memasukkan perintah berikut di Terminal:
~$ sudo dmidecode --type <kode>
Ubah <kode> dengan Angka yang merujuk ke Identitas masing-masing tipe Hardware. Untuk kode-kodenya sendiri teman-teman dapat melihat dibawah ini:

0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
g. Referensi
- Servernoob - Get Information About Your BIOS / Server Hardware From a Shell Without Opening Chassis ( BIOS Decoder )

h. Kesimpulan
Dengan menggunakan Aplikasi Utility diatas, kita dapat melihat Informasi BIOS ataupun Hardware yang kita gunakan di PC kita tanpa harus membongkar atau membuka PC tersebut. Tentu ini akan efisien daripada kita harus membongkar semuanya hanya untuk mengerti merk atau produk apa yang dipakai.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Thursday, March 23, 2017

Pemilihan Band Serta Frekuensi Yang Tepat Pada Wireless

  No comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan dan membagikan mengenai Pemilihan Band Serta Frequency Yang Tepat Pada Wireless Interface di Perangkat MikroTik yang saya bagikan dari Website Mikrotik Indonesia (http://mikrotik.co.id/)

a. Pengertian
Band (Frequency Band) adalah rentang frekuensi tertentu dalam frekuensi Spektrum Radio (RF), yang dibagi antara berkisar dari frekuensi sangat rendah (VLF) ke frekuensi sangat tinggi (ehf). Setiap band memiliki batas frekuensi atas dan bawah yang ditetapkan.

b. Latar Belakang
Saat ini teknologi wireless banyak diterapkan, terutama dengan alasan jarak jangkau. Teknologi wireless cukup membantu terutama untuk menjangkau area yang jauh/luas. Daripada harus membangun jaringan kabel untuk menghubungkan perangkat yang jauh, akan lebih mudah dan lebih hemat jika menggunakan wireless. Akan tetapi dibalik keuntungan tersebut, ada faktor-faktor yang membuat penerapan wireless tidak semudah ketika menggunakan kabel.

c. Maksud dan Tujuan
Wireless LAN menggunakan radio frekuensi yang membutuhkan media rambat yang juga harus bersih atau tanpa gangguan. Gangguan bisa berupa halangan seperti pohon,gedung,tembok,kaca atau interferensi frekuensi dari perangkat lain di sekitarnya. Agar terbentuk link wireless yang bagus, gangguan ini harus dihindari.

d. Pembahasan
-- Band
Memilih band merupakan cara untuk menentukan standart protokol yang akan digunakan oleh wireless interface. Selain menentukan standart protokol, band juga menentukan data rates yang bisa dilewatkan, channel frequencies dan lebar channel. Ada beberapa band di router mikrotik.
- 2Ghz-b, bekerja di frekuensi 2,4Ghz. Menggunakan protokol 802.11b dengan data rate maksimum 11 Mbit/s.
- 2Ghz-b/g, juga bekerja di frekuensi 2,4Ghz. Menggunakan protokol 802.11b dan 802.11g. protokol - 802.11g hampir sama seperti 802.11b akan tetapi melakukan transmisi dengan basis OFDM seperti - 802.11a sehingga protokol 802.11g bisa mencapai 54 Mbit/s.
- 2Ghz-b/g/n, bekerja di frekuensi 2,4Ghz. Menggunakan protokol 802.11b, 802.11g dan 802.11n. Pengembangan dari standart protokol 802.11, ditambah dengan kemampuan multiple-input multiple-output (MIMO). Dengan tambahan fitur MIMO ini, secara teori maksimal data rate yang bisa dicapai adalah 300 Mbit/s.
- 2Ghz-only G, bekerja di frekuensi 2,4Ghz, hanya menggunakan protokol  802.11g.
- 2Ghz-only N, bekerja di frekuensi 2,4Ghz, hanya menggunakan protokol  802.11n.
- 5Ghz-a, bekerja di frekuensi 5 Ghz. Menggunakan protokol 802.11a, maximum data rate yang bisa dicapai adalah 54 Mbit/s.
- 5Ghz-a/n, bekerja di frekuensi 5 Ghz. Menggunakan protokol 802.11a dan 802.11n.
- 5Ghz-only N, bekerja di frekuensi 5 Ghz dan hanya menggunakan protokol  802.11n.

Jika kita perhatikan, ada beberapa pilihan band yang menggunakan lebih dari satu protokol. Jika kita setting sebuah interface wireless dengan band yang menggunakan lebih dari satu protokol, maka interface wireless tersebut memberikan pilihan kepada client, protokol mana yang support dengan perangkat client tersebut.

-- Frekuensi
Alokasi frekuensi sudah diatur dalam regulasi di setiap wilayah dan negara. Di Indonesia, untuk keperluan wireless LAN sudah dalokasikan dalam ISM Band pada frekuensi 2,4GHz dan 5,8GHz. Lebih detail nya, untuk 2,4GHz dibagi dalam beberapa channel dengan lebar channel masing - masing 22MHz.
Begitu juga dengan yang 5GHz. Frekuensi 5Ghz juga dibagi menjadi beberapa channel.
Di Mikrotik, tiap channel ditampilkan dengan nilai tengah frekuensi-nya. Misal pada band 2,4GHz, channel1 = 2412 ,dsb
Kembali ke masalah interferensi. Di mikrotik ada beberapa tool yang bisa digunakan untuk melakukan scanning frekuensi.
- Tool Scanner, double klik interface wlan > atur mode=station, band, dan frekuensi > klik scan .
- Tool Snooper, double klik interface wlan > atur mode=station, band, dan frekuensi > klik snooper.
- Tool Frequency Usage, double klik interface wlan > atur mode=station, band, dan frekuensi > klik Freq. Usage

Dari hasil survey tersebut,kita bisa menentukan penggunaan frekuensi pada perangkat kita agar tidak interferensi dengan yang lain. Berdasarkan pembagian channel pada 2,4GHz, dengan lebar channel standard, bisa dilihat ada beberapa channel yang saling overlapping. Hal ini lah yang harus dihindari agar tidak saling mengganggu dan wireless link terbentuk dengan baik. Misal, dari hasil scan ternyata sudah banyak yang menggunakan frek 2412 (channel 1) , maka kita bisa gunakan frek 2437 (channel 6). Kenapa tidak menggunakan 2417 (Ch.2) saja ? bukankah 2412 (Ch.1) dan 2417 (Ch.2) sudah beda.?

Nah, kalo untuk frek 2484 (Ch.14) merupakan channel yang tidak standard. Perangkat seperti gadget,laptop biasanya tidak support.
Mikrotik support untuk 2484 (ch.14). Akan tetapi kita tetap tidak boleh menggunakan frekuensi tersebut dengan sembarangan. Walaupun secara teknis perangkatnya support, tapi penggunaan frekuensi di luar alokasi jelas menyalahi aturan. Jadi mari gunakan frekuensi sesuai regulasi yang ada. Agar tidak saling mengganggu di frekuensi lain.

e. Sumber Artikel / Referensi
- Mikrotik Indonesia - Pemilihan Band & Frekuensi Pada Implementasi Wireless

Cukup sekian yang dapat saya bagikan, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

----
Sebagian besar material yang ada di post ini diambil dari sumber artikel diatas dengan penambahan ataupun pengubahan untuk tujuan penyesuaian artikel sumber ke struktur posting di blog ini.

Wednesday, March 22, 2017

Mengenal Sistem BIOS didalam Perangkat Routerboard

  No comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan membagikan tulisan mengenai Pengenalan Sistem BIOS didalam Perangkat MikroTik Routerboard yang saya bagikan dari Website Mikrotik Indonesia (http://mikrotik.co.id/)

Seperti yang kita ketahui bersama, bahwa RouterBoard merupakan sebuah PC, yang juga memiliki processor, RAM, storage, dan lain - lain, akan tetapi dengan dimensi yang cukup kecil. Di desain untuk memenuhi kebutuhan jaringan secara optimal. Seperti halnya PC pada umumnya, di dalam RouterBoard juga terdapat system BIOS sederhana. Kira - kira apa fungsi dari BIOS tersebut ?. Salah satunya, sistem bios ini cukup berguna ketika kita mengalami permasalahan pada RouterBoard, misalnya RouterBoard tiba-tiba mati dan tidak kembali menyala. Langkah troubleshooting sederhana bisa kita lakukan dengan mengamati proses yang terjadi dengan akses pada RouterBoot atau bootloader RouterBoard. Akses bios RouterBoard bisa dilakukan via serial port dengan kabel RS232/DB9.

Jika kita mencoba akses ke console router melalui PC/laptop yang tidak memiliki port serial, maka kita bisa kombinasikan dengan converter serial to USB.

Topologi sederhana, kita hubungkan port USB pada laptop ke port serial pada RouterBoard menggunakan kabel serial. Jika topologi sudah terbangun, siapkan aplikasi seperti HyperTerminal, Putty, atau sejenisnya. Program ini yang akan kita gunakan untuk melihat proses booting RouterBoard via console. Caranya setting hyperterminal pada baudrate 115200 dan pastikan port yg digunakan sudah benar. Jika kita tidak yakin, kita bisa cek di Device Manager pada Windows.

Untuk proses booting normal, artinya router tidak mengalami permasalahan atau kerusakan secara hardware, maka akan terlihat proses berikut :
Pada sistem bios ini kita juga bisa melakukan konfigurasi selayaknya bios pada PC. Misal, mengubah boot device, boot protokol, cpu mode ,dan masih banyak lagi. Kasusnya, jika tiba - tiba RouterBoard tidak dapat booting dengan normal. Maka kita bisa cek proses booting RouterBoard menggunakan kable serial, misal ternyata proses boot berhenti. Contoh gagal booting karena kernel rusak atau hilang.
Dengan kerusakan kernel seperti diatas, kita bisa melakukan troubleshooting dengan cara install ulang RouterBoard menggunakan Netinstall. Pada saat proses booting pertama kali, tekan sembarang tombol untuk masuk setting bios.
Tekan tombol "o" untuk mengubah boot device yang sebelumnya via NAND, akan kita ganti menjadi via ethernet. Jangan lupa jalankan program netinstall pada PC/Laptop yang akan digunakan untuk meng-install ulang RouterBoard.
 
Kemudian hubungkan juga Router ke PC/Laptop dengan kabel ethernet. Jika RouterBoard berhasil booting via ethernet akan muncul tampilan berikut :

Pada saat bersamaan, MAC-Address RouterBoard akan muncul pada aplikasi Netinstall. Lakukan langkah Netinstall sperti biasa. Selain itu, ada beberapa tampilan proses booting yg bisa dijadikan untuk analisa kerusakan. Misalnya tampilan "kernel panic", artinya kernel RouterOS mengalami kerusakan sehingga router gagal booting. Jika kita menemui error seperti ini, solusinya adalah dengan melakukan Netinstall. Atau misal Tidak ada tampilan proses booting, solusi yang bisa kita coba lakukan misal dengan  downgrade, kemudian coba Netinstall, jika tetap masih belum bisa, cek hardware. Misalnya pada saat remote console, yang tertampil malah karakter tidak terbaca. Hal ini bisa menjadi indikator kerusakan hardware, biasanya RAM yang bermasalah. Solusinya kita bisa klaim garansi melalui proses RMA. Selain itu, pada bios juga dapat dilakukan beberapa setting seperti mengubah boot delay,memory testing dan sebagainya. Sayangnya, tidak semua RouterBoard memiliki serial port. Mungkin juga tidak banyak yang sadar akan fungsinya.

-- Sumber Artikel / Referensi
- Mikrotik Indonesia - Mengenal System BIOS di Routerboard

Cukup sekian yang dapat saya bagikan, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

----
Sebagian besar material yang ada di post ini diambil dari sumber artikel diatas dengan penambahan ataupun pengubahan untuk tujuan penyesuaian artikel sumber ke struktur posting di blog ini.

Tuesday, March 21, 2017

Mengenal Maximum Transmission Unit (MTU) dan Perhitungannya di MikroTik

  No comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan membagikan tulisan mengenai Pengenalan serta Perhitungan MTU atau Maximum Transmission Unit di Perangkat MikroTik yang saya bagikan dari Website Mikrotik Indonesia (http://mikrotik.co.id/)

a. Pengertian
Maximum Transmission Unit adalah istilah dalam teknologi informasi yang merujuk kepada ukuran paket data terbesar yang dapat ditransmisikan melalui sebuah media jaringan.

b. Latar Belakang
Ukuran MTU adalah bervariasi, tergantung teknologi jaringan yang digunakan. Contohnya adalah dalam jaringan berbasis teknologi Ethernet, ukuran MTU maksimum adalah 1500 bytes.

c. Alat dan Bahan
- PC
- Perangkat MikroTik

d. Langkah Kerja
Adalah tugas lapisan data-link yang harus menentukan ukuran MTU.
Setting MTU biasanya dilakukan pada perangkat networking semacam switch, router dan sebagainya. Sangat jarang melakukan setting MTU secara manual pada workstation atau host. Jika ip layer menerima paket yang akan diteruskan ke dalam jaringan, maka perangkat akan mengkalkulasi ukuran paket jika ditambahkan dengan 20 bytes ip header. Jika ternyata paket yang akan dikirimkan memiliki ukran MTU yang lebih besar dari MTU perangkat yang menerima paket tersebut, maka paket akan difragmentasi, atau dipotong menjadi ukuran yang lebih kecil.

Nilai MTU yang besar memungkinkan untuk mengirimkan data lebih cepat, bayangkan jika Anda punya banyak data kemudian dikumpulkan jadi satu box besar. Maka kita cukup mengirimkan semua data satu kali menggunakan satu box besar. Namun jika ukuran box kecil, maka kita perlu mengirim beberapa kali. Nilai MTU besar tidak kemudian selalu berefek baik. Semakin panjang MTU, semakin tidak reliable proses pengiriman data. Jika ada kerusakan paket dalam pengiriman maka seluruh paket yang rusak akan dikirim ulang oleh protokol TCP (Transmission Control Protocol).

Begitu juga pada sistem di MikroTik yaitu RouterOS yang mana memiliki ukuran standart dari besar MTU masing-masing interface. Pada RouterOS untuk MTU ini dibagi ke beberapa tipe yaitu L3 MTU (IP/Layer-3), L2.5 MTU (MPLS/Layer2.5), L2 MTU (MAC/Layer-2), Full Frame MTU. Dari tipe-tipe MTU tersebut memiliki nilai standart yang berbeda-beda.
L3 MTU = 1500 (Data: 1480 + IP:20),
L2.5 MTU = 1504 (Data: 1480 + IP: 20 + MPLS: 4)
L2 MTU = 1508 (Data: 1480 + IP: 20 + MPLS: 4 + VLAN:4)
FULL Frame MTU = 1522 (Data: 1480 + IP: 20 + MPLS: 4 + VLAN: 4 + ETH:14).

Perbedaan besar nilai setiap tipe MTU tergantung pada jenis trafik yang akan di handle. Jika ukuran MTU hanya dipatok di nilai 1500 (L3 MTU) tanpa menambahkan tipe MTU Yang lain maka untuk trafik dengan service VLAN, MPLS, tidak akan bisa lewat. Pada kondisi normal paket data yang memiliki ukuran terlalu besar akan di fragment oleh perangkat secara otomatis. Terlalu banyak paket yang difragment akan mengakibatkan antrian paket yang juga panjang, kemudian perangkat yang menerima paket juga harus menyusun kembali paket yang diterima.
Terlebih jika ada aplikasi yang membutuhkan nilai paket data yang statis, maka admin jaringan harus mampu menentukan ukuran paket data yang akan dilewatkan agar paket dapat diterima dengan baik. Beberapa service yang mengirimkan data lewat jaringan biasanya akan menambahkan header pada paket data, misalnya ping.

Pada saat data keluar dari perangkat, paket data akan ditambah dengan beberapa header, antara lain IP Header 20bytes, dan ICMP header 8bytes. Untuk melakukan test, Anda bisa gunakan perintah ping -f -s pada OS windows, ping -M -s pada Linux, atau ping -D -s pada Mac OSX. Misal kita coba ping dengan ukuran paket 1500, tanpa melakukan fragmentasi.
 
Yang terjadi perangkat yang dituju tidak dapat menerima karena ukuran paket terlalu besar. Kenapa bisa demikian, padahal perangkat lawan memiliki setting MTU 1500 ?. Ukuran 1500 adalah ukuran paket data sebelum ditambahkan header. Maka kita bisa hitung berapa ukuran data tepat agar paket ping bisa diterima.
1500 = 20 (IP header) + 8 (ICMP header) + Data
Data = 1500 - 20 (IP header) - 8 (ICMP header)
Data = 1472
Jika kita coba ping dengan size 1472, maka paket bisa diterima dengan baik

Service lain biasanya juga menambahkan header dengan nilai tertentu, misalnya VPN PPTP dan PPPOE. Service ini akan menambahkan pptp header dan checksum, sedangkan PPPoE menambahkan PPPoE header, PPP ID, DST & SRC Address.

PPTP : Data = 1500 – 20 (IP Header) – 28 (PPTP Header) – 2 (Checksum) = 1450
PPPOE : 1500 – 6 (PPPoE Header) – 2 (PPP ID) – 12 (DST & SRC Adress) = 1480

Perhitungan seperti diatas juga berlaku ketika menggunakan service lainBisa disimpulkan bahwa dengan bertambahnya ukuran ip header, maka ukuran data pada yang ditrasmisikan juga semakin kecil. Ukuran miminum MTU adalah 576 bytes.

MTU Path Discovery
Untuk mengetahui nilai MTU perangkat lawan, perangkat yang terkoneksi ke jaringan memiliki mekanisme yang disebut dengan MTU path discovery. Mekanisme ini sama sekali tidak membuthkan fitur atau service khusus, namun menggunakan cara yang cukup sederhana yakni dengan memanfaatkan mekanisme error reporting pada ICMP.

e. Sumber Artikel / Referensi
- Mikrotik Indonesia - Menghitung MTU pada MikroTik

f. Kesimpulan
Besarnya MTU akan sangat berpengaruh pada Traffic Jaringan kita karena MTU akan menentukan seberapa besar packet yang akan ditransmisikan, terlalu besar dan terlalu kecil nilai MTU efeknya tidak baik karena jika terlalu kecil packet yang ditransmisikan akan dipecah-pecah yang mengakibatkan banyaknya antrian packet yang harus ditransfer sehingga akan memakan waktu lebih lama bagi Router untuk memecah dan menggabungkan ulang Packet di Router Tujuan.

Cukup sekian yang dapat saya bagikan, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

----
Sebagian besar material yang ada di post ini diambil dari sumber artikel diatas dengan penambahan ataupun pengubahan untuk tujuan penyesuaian artikel sumber ke struktur posting di blog ini.

Monday, March 20, 2017

Langkah Instalasi FreeNAS 9.10 dengan 5 Harddisk

  No comments
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai percobaan Instalasi FreeNAS di VirtualBox dengan 5 Harddisk.

a. Pengertian
FreeNAS merupakan Sistem Operasi Populer berbasis FreeBSD yang dikhususkan untuk tujuan penyimapan atau Data Storage yang digunakan oleh banyak orang (pusat data).

b. Latar Belakang
FreeNAS digunakan karena saya ingin membuat sebuah Server yang dikhususkan untuk Pusat Data Universal yang dapat digunakan dan diakses oleh orang-orang dan juga data-data tertentu yang hanya bisa diakses sesuai pengaturan, Nah agar Resource yang saya miliki dapat digunakan semaksimal mungkin maka saya memilih FreeNAS yang mana adalah OS yang dikhususkan untuk Data Storage Jaringan.

c. Maksud dan Tujuan
Tujuan dari dituliskannya artikel ini adalah untuk dijadikan referensi bagi teman-teman yang ingin menginstall FreeNAS di Servernya.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan Instalasi FreeNAS bervariasi, berkisar antara 5-15 Menit.

e. Alat dan Bahan
- PC
- 1 Server (dapat berupa Fisik atau Virtual)
- ISO FreeNAS 9.10
- VirtualBox (apabila Virtual)

f. Langkah Pengerjaan
0. Persiapkan Bootable Drive
Jika teman-teman menginstall FreeNAS di Server Fisik maka teman-teman membutuhkan Medium atau Bootable Drive yang dapat digunakan untuk melakukan Instalasi FreeNAS.

1. Hidupkan Server, Set First Boot ke Bootable Instalasi FreeNAS
Hal pertama yang akan kita lakukan tentu mengubah Boot Order, silahkan teman-teman arahkan First Boot nya ke Flashdisk/CD Drive/atau Drive apapun yang sudah teman-teman masukkan Bootable Instalasi FreeNAS

2. Tahap Install Pertama
Jika Boot Order sudah benar, maka ketika kalian Restart kalian akan melihat Menu GRUB yang memiliki satu pilihan "FreeNAS Installer". Pilih Opsi tersebut untuk masuk ke Instalasi FreeNAS.
2.1 Mulai Instalasi
Setelah memilih FreeNAS Installer dan menunggu beberapa saat maka teman-teman akan disambut dengan tampilan Instalasi yang secara sekilas mirip Instalasi Debian. Untuk menginstall FreeNAS maka kita akan pilih Menu Nomer 1 kemudian OK/Enter.
2.2 Pilih Disk
Kemudian kita harus menentukan Harddisk mana yang akan dijadikan sebagai Root Filesystem dari FreeNAS. Dikarenakan FreeNAS yang ukurannya sangat kecil maka teman-teman bahkan bisa menginstall FreeNAS didalam Flashdisk, Dan karena operasi FreeNAS yang lebih sering ke operasi Read/Baca maka untuk kecepatan maksimal disarankan teman-teman menggunakan SSD atau Solid-State Drive untuk tempat instalasi FreeNAS nya.
Setelah memilih, teman-teman akan ditanyai apakah yakin dengan pilihan Disknya sebelum benar-benar diformat total? Jika iya silahkan pilih Yes dan apabila ingin mengubahnya silahkan pilih No.
2.3 Set Password Root
Selanjutnya kita akan diminta untuk memasukkan Password untuk akun Root. Password ini juga yang akan digunakan untuk login ke Web Panel FreeNAS nantinya. Jika sudah diisi silahkan klik OK
2.4 Instalasi Tahap Pertama Selesai!
Setelah memberikan Password Root dan menunggu beberapa saat maka Instalasi FreeNAS tahap pertama sudah selesai. Dan teman-teman akan diminta untuk me-reboot, tekan saja OK/Enter untuk me-reboot.
3. Tahap Install Kedua
Nah ditahap kedua ini sebenarnya kalian tidak akan diminta untuk memberikan Masukan atau diminta untuk melakukan suatu aksi, karena ditahap kedua ini FreeNAS hanya melakukan Finishing instalasi beserta pembuatan sebuah Key yang mana akan memakan waktu kurang lebih 3-5 Menit.
4. Instalasi Selesai!
Jika tahap kedua sudah selesai maka teman-teman akan otomatis disambut dengan Tampilan seperti ini:
5. Konfigurasi via Web Panel
Jika FreeNAS teman-teman sudah mendapatkan IP maka teman-teman bisa mengaksesnya melalui Web Panel yang dapat dibuka melalui Browser masing-masing dengan mengetikkan IP FreeNAS. Dan enaknya adalah hampir semua konfigurasi yang menyangkut Server tersebut dapat dikonfigurasi melalui Web Panel tanpa menyentuh CLI nya sedikitpun.

g. Referensi
--

h. Kesimpulan
Dengan menggunakan FreeNAS, selain ringan fiturnya pun cukup lengkap dan bahkan pemaksimalan fungsinya apabila dilakukan akan menghasilkan sesuatu yang luar biasa.

Cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Friday, March 17, 2017

Mail Server Postfix + Mail Client (Squirrelmail & Thunderbird) Debian 8 Jessie

  No comments
Assalamu'alaikum Wr. Wb.
Kita akan melakukan percobaan praktek Konfigurasi Mail Server dengan Postfix sebagai Mail Transport Agent dan Mail Delivery Agent serta Mail Cient dengan menggunakan Squirrelmail dan Mozilla Thunderbird.

a. Pengertian
Email merupakan kependekan dari Electronic-Mail yang apabila diterjemahkan adalah Surat Elektronik (Surel). Seperti Surat konvensional lainnya yang menggunakan kertas, Email juga membutuhkan sebuah Mail Server dimana Server ini bertugas sebagai pengantar Emailnya.

Dalam hal Mail Server sendiri, didalamnya ada Mail Transport Agent (MTA) dan Mail Delivery Agent (MDA). Teman-teman juga pasti sering mendengar POP (Post Office Protocol) dan IMAP (Internet Message Access Protocol), nah apabila MTA dan MDA adalah sistem yang mengurus bagaimana Email akan sampai antar user, maka POP dan IMAP adalah metode bagaimana Email akan diakses oleh User.

b. Latar Belakang
Dengan semakin wajibnya sekarang untuk memiliki paling tidak satu alamat Email perorang, maka dibutuhkan juga suatu sistem pengantar Surat yang baik, handal, dan dapat dimanajemen penuh. Terutama untuk Email yang memang hanya dikhususkan untuk digunakan di Area Lokal seperti Sekolah dan Perusahaan.

c. Maksud dan Tujuan
Untuk mempelajari bagaimana Email akan diolah dan disampaikan antara satu pengguna dengan pengguna lain.

d. Jangka Waktu
Waktu yang dibutuhkan untuk melakukan Percobaan ini kurang lebih 1-2 Jam.

e. Hal yang dipersiapkan
- OS Debian
- Repository Debian (bisa menggunakan 3 DVD Debian)
- Koneksi Internet (apabila menggunkan Repository luar)

f. Langkah Kerja
1. Saya anggap Repository List teman-teman sudah disetting dan dapat digunakan, entah itu Repo Luar atau Repo Lokal.
2. Update cache Aptitude dengan
~# apt update
3. Install komponen Postfix untuk MTA dan MDA nya dan Courier untuk POP/IMAP.
~# apt install postfix courier-imap courier-pop
Ketika instalasi kita akan diminta untuk memilih Tipe Konfigurasi dari Postfixnya. Pilih Internet Site
Kita juga akan diminta untuk memasukkan Nama Domain yang akan digunakan untuk Email kita nantinya. Contoh apabila ingin membuat email user@contoh.com maka yang kita masukkan adalah contoh.com

4. Setelah Instalasi awal Postfix selesai, selanjutnya kita konfigurasikan Home Directory yang akan digunakan oleh masing-masing pengguna Email nantinya.
~# maildirmake /etc/skel/Maildir
*Linux sangat Case-Sensitive, yang berarti Besar Kecil akan berpengaruh. Maildir dengan maildir adalah Folder yang berbeda.

5. Setelah direktori Home dibuat, selanjutnya kita buka konfigurasi Postfix dan memberitahu Postfix untuk menggunakan direktori Home baru yang sudah kita buat.
~# nano /etc/postfix/main.cnf
Tambahkan baris berikut dipaling bawah dari file konfigurasinya lalu Save:
home_mailbox = Maildir/

6. Setelah itu kita setting ulang Postfixnya
~# dpkg-reconfigure postfix
Setting seperti sebelumnya, namun pada kali ini akan ada beberapa tambahan yang sebelumnya tidak ditanyakan.
Root and postmaster mail recipient:
<Dapat teman-teman masukkan Email Lokal>
Other destinations to accept mail for (blank for none):
<Biarkan default>
Force Synchronous Update on Mail Queue?
<Bisa Yes atau No, tapi apabila teman-teman yakin Servernya Stabil ketika dipakai. Maka bisa pilih No>
Local networks:
<Isikan 0.0.0.0/0 agar Mail Server me-relay atau meneruskan semua Mail yang masuk dari semua IP dan Subnet>
Use procmail for local delivery?
<Pilih No>
Mailbox Size Limit:
<Biarkan default (0)>
Local Address Extension Character:
<Biarkan default (+)>
Internet protocols to use:
<Karena kita hanya memakai IPv4 maka kita hanya akan pilih IPv4>


7. Kemudian kita Restart semua Service Mail Servernya
~# service postfix restart
~# service courier-imap restart
~# service courier-pop restart
8. Install Web Mail Client Squirrelmail dengan perintah
~# apt install squirrelmail
Secara default, Squirrelmail tidak langsung masuk sebagai VirtualHost di Web Server (dalam kasus saya Apache2 Debian). Sehingga kita harus memasukkannya secara manual, ada 3 opsi yang saya rekomendasikan.

- Memasukkan file konfigurasi VirtualHost yang sudah dibuat oleh SquirrelMail ke /etc/apache2/apache2.conf
- Membuat Symbolic Link ke /var/www/html
- Membuat VirtualHost sendiri dan mengarahkan Webroot nya ke /usr/share/squirrelmail

Namun saya hanya akan menunjukkan Cara 1 dan 2 karena Cara yang ketiga praktis tinggal mengkopi yang sudah dibuat SquirrelMail ke /etc/apache2/sites-available lalu mengenablenya dengan a2ensite

Cara pertama:
Edit file /etc/apache2/apache2.conf
~# nano /etc/apache2/apache2.conf
Lalu tambahkan baris konfigurasi berikut di paling bawah konfigurasinya.
IncludeOptional /etc/squirrelmail/apache.conf
Kemudian Restart Apache

Cara Kedua:~# adduser namaku
Buat Symbolic Link dari /usr/share/squirrelmail ke Webroot Default VirtualHost Apache2 atau yang sudah kalian buat sendiri
~# ln -s /usr/share/squirrelmail /var/www/html/squirrelmail
9. Setelah itu teman-teman dapat membuat akun untuk user baru yang akan dapat digunakan untuk Login Email nantinya dengan:
~# adduser namaku
Kemudian masukkan data-data yang diminta.

10. Apabila sudah, teman-teman dapat masuk ke Akun Email masing-masing melalui Webmail di
http://IP_atau_Domain_Server/squirrelmail
Atau menggunakan Mozilla Thunderbird, apabila teman-teman ingin menginstallnya dapat dengan mudah diinstal dari Software Manager atau dengan perintah
~# apt install thunderbird
Setelah terinstall, teman-teman dapat langsung menggunakannya dengan:
- Klik Email
- Klik Skip this and use my existing email

- Kemudian isikan form-form yang ada lalu Klik Continue

- Thunderbird akan mencoba melakukan Konfigurasi Otomatis berdasarkan Mail Server yang digunakan, lalu akan menampilkan konfigurasi yang didapat sebelum akhirnya dipakai. Apabila dirasa konfigurasinya salah, teman-teman dapat mengklik Manual Configuration, namun apabila benar teman-teman klik saja Done.
- Setelah itu apabila Mail Server kita tidak menggunakan Enkripsi alias tidak menggunakan SSL (dengan sertifikat resmi dan bukan self-signed), maka Thunderbird akan menampilkan peringatan bahwa Mail Server kita tidak menggunakan enkripsi alias tidak aman.
Ini memang tidak aman apabila kita tidak menggunakan SSL untuk Level Produksi, namun apabila sekedar percobaan, kita dapat mengabaikan pesan ini.
- Klik saja I understand the risks. Lalu Klik Done.
- Apabila konfigurasi di sisi server tidak ada yang salah maka seharusnya teman-teman sudah dapat terkoneksi melalui Thunderbird :)

g. Referensi
- Wikipedia - Post Office Protocol
- Wikipedia - Internet Message Access Protocol
- E-Book Konfigurasi Debian Server ver BLC Telkom oleh Mas Aji Kamaludin

h. Kesimpulan
Dengan menggunakan Mail Server yang kita buat, kita dapat memiliki kendali penuh atas Mail Server tersebut. Sehingga apabila suatu saat terjadi apapun kita dapat segera menelusuri dan mencari solusinya. Namun kekurangannya apabila kita menggunakan Mail Server sendiri adalah SysAdminnya haruslah mau repot untuk mensetting, mengoptimalkan, memfilter spam, dan selalu menutup celah-celah agar tidak dapat diretas dengan mudah oleh pihak yang tidak bertanggung jawab.

Mungkin cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya :)
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

Thursday, March 16, 2017

Cara mudah membuat tampilan Hotspot MikroTik versi sendiri

  No comments

Illustrasi Login Hotspot (Source Image)

Assalamu'alaikum Wr. Wb.
Halo teman-teman! Kali ini saya ingin menulis tutorial cara memodifikasi tampilan Hotspot MikroTik kalian dari yang biasa-biasa menjadi luar biasa hehe.

a. Pengertian
Hotspot MikroTik merupakan salah satu fitur yang ada di perangkat lunak RouterOS dari MikroTik yang memiliki fungsi sebagai Pintu Gerbang dan Autentikasi bagi User sebelum akhirnya User tersebut mendapatkan akses kedalam Jaringan.

b. Latar Belakang
Mempelajari cara mengganti tampilan standar Hotspot MikroTik menjadi lebih menarik.

c. Maksud & Tujuan
Dapat mengganti, mengkustomisasi, dan membuat sendiri tampilan Hotspot MikroTik.

d. Jangka Waktu
Waktu yang digunakan untuk melakukan praktek pembuatan ini kurang lebih 2 Jam apabila membuat tampilan sendiri. Dan kurang lebih 5 Menit apabila hanya mengganti tampilannya saja.

e. Hal yang dibutuhkan
1. Mengetahui dasar HTML + CSS
2. Perangkat MikroTik yang sudah disetting menjadi Hotspot
3. Text Editor / Code (IDE) Editor kesayangan. (cth Atom, Brackets, Lime Text, Sublime Text)
4. Template Basic Hotspot MikroTik. Download Disini [Opsional]
5. Sedikit Kesabaran dan Ketelitian

Sedikit Info, ketika teman-teman mengedit tampilan Hotspot MikroTik, teman-teman akan menemukan kode-kode pendek yang jika dilihat akan terlihat sama seperti kalian menggunakan Kode Pemrograman Khusus yang diberikan oleh Framework-framework bahasa pemrograman seperti di PHP (Laravel, CodeIgniter, Symphony, dll). Nah kode-kode itu hanya bekerja ketika File HTML diload oleh MikroTik, apabila kalian membukanya melalui Webserver biasa maka yang terjadi adalah kode-kode tersebut tidak akan ter-eksekusi melainkan akan ditampilkan dan dianggap seperti String (Text) biasa.

Oleh karena itu, tipsnya adalah jangan bingung atau takut apabila tampilan Hotspot kalian akan berantakan apabila kalian buka melalui Webserver diluar perangkat MikroTik.

f.  Langkah Kerja
1. Yang pertama, kalian bisa Download Template Standar Hotspot MikroTik yang dapat kalian Download langsung dari Winbox ketika kalian mengakses perangkat MikroTik kalian. Filenya bertempat di Menu Files -> [Folder] Hotspot. Atau kalian dapat mendownload dari Link yang sudah saya sediakan diatas yang sudah saya pangkas kode-kode yang tidak dibutuhkan (Termasuk Kode Iklan, jadi Template link diatas tidak menyertakan Advertising Code dari Perangkat MikroTik).
2. Folder tersebut dapat didownload dengan cara Klik Kanan pada Folder Hotspot kemudian Klik Download. Atau cara mudahnya kalian dapat men-drag Folder Hotspot keluar Winbox dan menuju Folder di PC teman-teman.
3. Dari file-file yang ada, di Tutorial ini kita hanya akan mengedit 3 file ini, antara lain:
a. login.html
Ini adalah Halaman Login utama ketika teman-teman melakukan koneksi ke Hotspot MikroTik.
b. status.html
Ini adalah Halaman Pasca Login setelah teman-teman memasukkan Username dan Password, yaitu Halaman Status
c. logout.html
Ini adalah Halaman Logout ketika teman-teman mengklik Tombol Logout saat berada di Status Page Hotspot.
4. Teman-teman dapat membuka file-file diatas menggunakan Code Editor kesayangan teman-teman dan mulai berkreasi membuat Tampilan Login Hotspotnnya :)
5. Jika sudah, teman-teman dapat mensave dan menguploadnya ke Perangkat MikroTik melalui Winbox -> Files. atau menggunakan Protocol FTP (Port: 21) dan diletakkan di dalam folder hotspot

g. Referensi
MikroTik Wiki - Manual:IP/Hotspot
MikroTik Indonesia - Memodifikasi Tampilan Hotspot MikroTik

h. Kesimpulan
Dengan mengetahui cara mengganti tampilan hotspot dan mengenal pemrograman dasar HTML dan CSS maka kita dapat mengubah dan bahkan membuat sendiri tampilan Hotspot MikroTik menjadi lebih menarik.

Mungkin cukup sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semua :)
Wassalamu'alaikum Wr. Wb.