Wednesday, March 15, 2017

Konfigurasi FreeNAS untuk Pusat Berbagi Data dengan Network File System (NFS)

  No comments
10:19 PM

Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai bagaimana mengkonfigurasi FreeNAS sebagai Pusat Data untuk keperluan Sharing Data dengan Network File System (NFS).

a. Pengertian
Network File System (NFS) merupakan sebuah protokol Distributed File System yang dapat digunakan User untuk mengakses data mereka melalui jaringan seperti data tersebut berada di komputer User itu sendiri atau lokal.

b. Latar Belakang
Latar belakang melakukan konfigurasi ini adalah karena kami ingin membuat Centralized Storage yang dapat digunakan oleh Dua Web Server kami yang saling fail-over untuk keperluan membaca dan menulis pada data yang sama.

c. Maksud dan  Tujuan
Tujuan dari konfigurasi ini adalah untuk membuat suatu Tempat Data secara Terpusat yang dapat digunakan bersama-sama. Pada kasus kami, ini digunakan agar kedua Web Server kami tetap memberikan data yang sama kepada Client meski salah-satunya dalam keadaan down.

d. Waktu Pelaksanaan
Waktu yang digunakan untuk melakukan konfigurasi ini kurang lebih 5-10 Menit.

e. Langkah Pengerjaan
1. Login ke FreeNAS
Silahkan teman-teman login ke FreeNAS. Artikel ini mengasumsikan bahwa FreeNAS yang teman-teman install masih dalam keadaan baru dan belum ada konfigurasi apapun yang dilakukan dari Web Control Panel.

2. Buat Konfigurasi Storage
Hal pertama yang akan kita lakukan adalah mengkonfigurasi pengaturan Storagenya. Pastikan Harddisk yang kalian gunakan dalam keadaan kosong atau tidak ada data yang penting didalamnya, Karena FreeNAS akan melakukan Format Ulang pada Harddisk teman-teman.

Untuk mengkonfigurasi, silahkan menuju ke menu Storage. Jika memang FreeNAS kalian benar-benar fresh install dan belum menginstall FreeNAS sebelumnya, maka ketika kalian membuka menu Storage maka tidak akan ada apa-apa. Nah disini kita akan mengkonfigurasi Storagenya.

Setelah kalian buka menu Storage, silahkan klik Menu Volume Manager. Disini kalian akan menentukan Berapa Harddisk yang akan digunakan oleh FreeNAS serta Konfigurasi Harddisknya.

Nah disini jika membuat Volume baru maka hal-hal yang harus teman-teman konfigurasi adalah Volume Name dan Volume Layout. Teman-teman bisa isi bebas Volume Namenya, sedangkan untuk Volume Layout mempunyai konfigurasi tersendiri.

Pada FreeNAS, kita akan memakai File System bernama ZFS atau Zettabyte File System. ZFS sendiri dapat dikonfigurasi secara RAID. Nah jika pada RAID umumnya teman-teman akan mengenal RAID 0, 1, 2, 3, 4, 5, dan 6 maka di ZFS teman-teman hanya akan mengenal Stripe (RAID0), Mirror (RAID1), RAIDZ-1 (RAID5), RAIDZ-2 (RAID6), RAIDZ3 (Improvisasi RAID6), Log Device, dan Cache Device. Namun saya tidak akan membahas dua level RAID terakhir.

Untuk menentukan Layout, pastikan teman-teman mempunyai Harddisk yang cukup dan mempunyai kapasitas yang sama apabila menggunakan konfigurasi RAID. Berikut perbedaan singkat level RAID pada FreeNAS.

Stripe (RAID0) : Level RAID ini memerlukan paling tidak 1 Harddisk dengan tipe konfigurasi sama seperti RAID 0 pada umumnya, yaitu fokus pada kecepatan dan kapasitas. Tapi Level RAID ini punya kelemahan yang cukup fatal, yaitu apabila salah satu Harddisk mengalami gangguan atau error maka akan berakibat pada Harddisk yang lainnya dikarenakan Data yang ditulis disebar disemua Harddisk. Sehingga, ketika satu harddisk terkena masalah maka seluruh data akan lenyap.

Mirror (RAID1) : Level RAID ini memerlukan paling tidak 2 Harddisk dengan Dianjurkan Mempunyai kapasitas yang sama. Level RAID ini fokus pada Backup karena pengubahan yang dilakukan pada Harddisk utama akan ditulis juga di Harddisk Backup. Sehingga ketika Harddisk utama mengalami kerusakan maka data tidak akan hilang.

RAIDZ-1 (RAID5) : Level RAID ini memerlukan paling tidak 3 Harddisk. Konfigurasi ini cukup bagus untuk kalian yang menginginkan proteksi dari kehilangan data dengan kapasitas yang memadai karena RAIDZ-1 dapat memberikan toleransi kerusakan dari 1 Harddisk.

RAIDZ-2 (RAID6) : Level RAID ini memerlukan paling tidak 4 Harddisk. Konfigurasi yang direkomendasikan karena Konfigurasi RAID ini dapat memberikan toleransi kerusakan sampai dengan 2 Harddisk tanpa adanya kehilangan data.

RAIDZ-3 : Level RAID ini memerlukan paling tidak 5 Harddisk. Konfigurasi RAID ini sama seperti RAIDZ-1 dan RAIDZ-2 bedanya RAIDZ-3 memberikan toleransi kerusakan sampai dengan 3 Harddisk tanpa ada kehilangan data.

Nah sudah mendapatkan keputusan akan menggunakan konfigurasi yang mana?
Jika sudah, teman-teman dapat mengalokasikan berapa Harddisk yang akan digunakan dengan cara menggeser Slider ke Kanan dan Kebawah. Jika sudah teman-teman bisa klik Add Volume. Perhatian sekali lagi, Harddisk akan diformat ulang!.

 3. Buat Konfigurasi Dataset
Pada dasarnya setelah kita mengkonfigurasi Storage, maka tidak ada data apapun didalamnya alias bersih. Nah dengan Dataset kita bisa membuat Alokasi-alokasi khusus untuk kita atau orang lain gunakan nantinya, sederhananya Dataset adalah seperti Folder yang dapat dikonfigurasi Kapasitasnya, Tipe Sharing, Izin aksesnya, dan sebagainya.

Untuk membuat Dataset, kita cukup memilih Storage yang sudah kita buat sebelumnya kemudian klik Create Dataset pada Menu yang ada dibawah. Mengenai apa saja yang harus dikonfigurasi seharusnya sudah Self-explanatory. Setelah membuat Dataset, kitapun dapat mengatur Hak Aksesnya dengan mengklik Dataset yang sudah kita buat lalu klik menu Change Permission yang ada dibawah.
4. Konfigurasi NFS Sharing
Setelah Dataset kita buat, selanjutnya kita akan melakukan Sharing pada Dataset tersebut supaya dapat digunakan secara Remote. Target Client kita adalah OS Unix/Linux sehingga kita akan menggunakan Protokol Sharing berbasis Unix yaitu NFS meskipun sebenarnya Client Windows pun dapat menggunakannya.
Untuk mengkonfigurasi silahkan menuju ke Menu Sharing lalu ke Tab UNIX (NFS) kemudian kita klik menu Add Unix (NFS) Share. Hal yang diperhatikan ketika membuat Sharing NFS adalah:
- Path : Arahkan ke Dataset yang ingin kita Sharingkan.
- Comment : Teman-teman dapat isi dengan Nama Singkat untuk memperjelas.
- Authorized Networks : Isikan Subnet Jaringan yang ingin diberikan Akses ke Data Sharing ini.
- Authorized IP Addresses or Hosts : Jika ingin spesifik lagi, teman-teman dapat memasukkan IP yang boleh mengakses data ini.
- All Directories : Umumnya bisa kita berikan checklist agar Subdirectory yang berada didalamnya juga ikut dapat diakses.
- Read-only : Checklist apabila Data yang dishare tidak diperbolehkan untuk dirubah oleh Client.
- Quiet : Berikan checklist apabila ingin mematikan notifikasi error dari Data Sharing tersebut.
- Maproot & Mapall : Ini adalah konfigurasi User Mapping, lebih seperti Hak Akses atas Data Sharing tersebut. Meski sepintas seharusnya semua diisi namun sebenarnya tidak. Isikan hanya salah satu antara Maproot dan Mapall. Jika mengisi Maproot maka Mapall harus dikosongkan begitu juga sebaliknya.
Jika sudah dikonfigurasi silahkan klik OK. Selanjutnya apabila Service masih mati maka teman-teman akan ditanyakan apakah ingin menghidupkan Service NFS atau tidak, kita pilih Tidak saja karena kita akan mengkonfigurasinya terlebih dahulu.
5. Konfigurasi Service NFS
Selanjutnya kita menuju ke Menu Services. Disini kita akan mengkonfigurasi Service NFS sebelum kita aktifkan. Untuk mengkonfigurasi silahkan klik Icon kecil disamping On-Off Switch. Disini kita akan memberikan Checklist pada Allow non-root mount untuk memastikan kompatibilitas dari Client. Jika sudah silahkan klik OK lalu Klik pada On-Off Switch pada Service NFS untuk menghidupkannya.
6. Mounting pada Client
Untuk Client agar dapat mengakses memerlukan Aplikasi NFS Client. Untuk Distro Debian/Ubuntu kita bisa menginstallnya dengan:
~# apt install nfs-common
Jika sudah terinstall, kita dapat mencoba mengecek apakah NFS Client dapat terkoneksi ke FreeNAS dengan perintah:
~# showmount -e <IPFreeNAS>
Jika outputnya menunjukkan Directory Dataset yang kita buat maka tandanya kita bisa terkoneksi ke FreeNAS. Untuk mengkoneksikan, pertama kita buat Directory dimana NFS Share tersebut akan dimount atau diletakkan. Disini saya akan meletakkannya di /var/www/shared_html.
;; Buat Directory
~# mkdir /var/www/shared_html
;; Mount FreeNAS ke Lokal
~# mount IPFreeNAS:/mnt/<Direktori Lengkap> <Direktori Lokal>
Untuk memastikan apakah kita bisa melakukan Baca tulis, teman-teman bisa membuat satu file kosong didalam direktori tersebut dengan menggunakan touch.
~/var/www/shared_html# touch penguinstunnel.txt
Jika tidak ada Permission Error maka Selamat! NFS Sharing sudah berhasil!.
Apabila teman-teman ingin NFS Share otomatis ter-mount setiap kali PC dihidupkan, teman-teman dapat memasukkan Perintah yang sama ketika kalian melakukan mount dari FreeNAS menuju Direktori Lokal kedalam /etc/rc.local.
g. Referensi
- FreeNAS User Guide
- Tecmint - Configuring FreeNAS to Setup ZFS Storage Disks and Creating NFS Shares On FreeNAS
- ZFSBuild - ZFS RAID Levels

h. Kesimpulan
Dengan FreeNAS, kita dapat membuat Storage Jaringan kita sendiri dengan cukup mudah namun juga memiliki konfigurasi lanjut. Selain itu FreeNAS juga dapat dikembangkan dan dimanfaatkan untuk keperluan lain dengan skenario penggunaan yang lain juga.

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

Read More

Tuesday, March 14, 2017

Backup Harian MariaDB Secara Otomatis dengan MySQLdump dan Crontab

  No comments
11:16 AM

Illustration Image | Source Image: DominicM
Assalamu'alaikum Wr. Wb.
Diartikel ini saya akan menuliskan tentang bagaimana caranya mengotomatiskan Backup Database Harian MariaDB menggunakan MySQLdump dan Crontab. Ini merupakan salah satu Program Kerja Bersama SMK Negeri 1 Pedan dengan SMK Negeri 1 Sawit (6 s/d 11 Maret 2017).

a. Pengertian
MySQLdump atau mysqldump merupakan sebuah tool yang dapat digunakan untuk melakukan operasi backup atau pencadangan dari sekumpulan atau sebuah database.

Sedangkan Cron sebuah tool berbasis waktu yang dapat digunakan untuk menjalankan perintah secara rutin pada sistem operasi UNIX.

b. Latar Belakang
Dikarenakan saya ingin mencoba mengotomatiskan tugas-tugas harian sistem salah satunya adalah melakukan Backup Database ini. Dan juga saya ingin membuat semua tugas-tugas yang penting berjalan secara Fully Automated dan pada waktu yang tepat dan terjadwal.

c. Maksud dan Tujuan
Percobaan ini bertujuan agar dapat mengetahui, memahami, dan mempraktekkan bagaimana melakukan konfigurasi Backup Database Otomatis dan Terjadwal.

d. Waktu Pengerjaan
Waktu yang dibutuhkan untuk melakukan percobaan ini kurang lebih 10-15 Menit.

e. Alat dan Bahan
- PC
- 2 (Dua) Komputer Server

f. Langkah Pengerjaan
1. Buat Script Bash sederhana yang berisi Perintah MySQLdump
Pembuatan Script Bash dilakukan dengan tujuan memudahkan penulisan di Crontab dan memudahkan penggunaan dilain waktu.
Contoh Script Bash yang saya gunakan:
mysqldump -h localhost -u root -p12345 --databases wordpress > /home/fajar/dump.sql && scp -i /home/fajar/.ssh/id_rsa /home/fajar/dump.sql fajaruslv@192.168.101.2 ; rm /home/fajar/dump.sql 
Script ini akan melakukan backup sebuah database bernama Wordpress apabila dijalankan. Dan akan menyimpannya dengan nama dump.sql yang berlokasi di /home/fajar/ dan kemudian akan ditransfer ke server lain dengan tool scp menggunakan proses autentikasi Key Pair agar dapat login secara passwordless. Setelah transfer selesai, file yang disimpan pada server lokal tersebut (yang bukan server transfer) akan otomatis dihapus.

Jika ingin membackup semua database yang ada, teman-teman dapat mengganti --databases wordpress menjadi --all-database.

2. Memasukkan Script ke Crontab
Seperti biasa, silahkan buka file Schedule Cron kalian dengan perintah crontab -e pada User root. kemudian tambahkan baris berikut di paling bawah.
0   1   *   *   *   cd  /  && sh /home/fajar/backup.sh
Sesuaikan teks yang saya cetak biru dengan konfigurasi teman-teman.

Perintah Crontab ini akan berjalan setiap jam 01:00 Pagi. Sekedar info, Saya baru menyadari, bahwa Current Working Directory akan berpengaruh besar pada jalannya Perintah Cron. Jadi bagi teman-teman yang menjalankan perintah Cron yang cukup berbahaya seperti perintah Delete (rm) terutama dengan argumen Force dan Recursive (-rf), saya sangat menyarankan untuk berhati-hati. Penggunaan Chain Command yang tidak tepat dan Gagalnya Pergantian Directory akan membahayakan file teman-teman!

Apabila sudah silahkan simpan konfigurasi tersebut.

3. Backup Otomatis telah Berjalan!
Script akan menunggu sampai waktu yang ditentukan untuk dieksekusi.

g. Referensi
--

h. Kesimpulan
Dengan memanfaatkan Cron dan MySQLdump, tidak hanya cepat dalam membackup database namun juga kita bisa mengotomatiskan prosesnya. Karena dalam Lingkungan Produksi, tidak mungkin kita akan membackup disaat jam-jam sibuk bukan?

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

Read More

Monday, March 13, 2017

Remote Koneksi MariaDB Melalui VPN PPTP Tunnel

  1 comment
11:15 AM

Illustration Image | Source Image: DominicM
Assalamu'alaikum Wr. Wb.
Pada artikel ini saya ingin menuliskan tentang bagaimana saya melakukan Remote Koneksi MariaDB melalui jalur Tunneling VPN PPTP. Ini merupakan salah satu Program Kerja Bersama SMK Negeri 1 Pedan dengan SMK Negeri 1 Sawit (6 s/d 11 Maret 2017).

a. Pengertian
PPTP atau Point-to-Point Tunneling Protocol adalah salah-satu metode lama yang sering digunakan untuk melakukan pembuatan sebuah Jaringan Virtual Pribadi atau biasa kita sebut Virtual Private Network (VPN).

b. Latar Belakang
Kami memilih VPN PPTP sebagai jalur tunneling didasari karena ini merupakan pilihan terakhir dari cara-cara yang terfikirkan oleh kami untuk mengkoneksikan kedua server kami. Karena sebab yang belum diketahui, kami tidak dapat mengkoneksikan kedua server menggunakan cara IP-IP Tunnel, EoIP Tunnel, dan GRE Tunnel.

c. Maksud dan Tujuan
Tujuan dari dilakukannya percobaan ini adalah untuk dapat mengerti dan mempraktekkan bagaimana melakukan Remote Koneksi MariaDB melalui jalur Tunneling VPN.

d. Waktu Pengerjaan
Waktu yang diperlukan untuk melakukan percobaan ini kurang lebih 10-15 Menit

e. Alat dan Bahan
- PC Pribadi
- 2 (Dua) Komputer Server
- 2 (Dua) Perangkat MikroTik Terkoneksi ke Internet

f. Langkah Pengerjaan
1. Buat PPTP Server disalah-satu MikroTik. (Saya memilih Mikrotik yang tidak terkoneksi ke MariaDB Server)
Saya anggap teman-teman sudah mengetahui bagaimana langkah-langkah membuatnya, apabila belum teman-teman dapat membacanya kembali diartikel VPN PPTP saya disini
Karena ini hanya mengkoneksikan 2 buah server, alangkah baiknya dibuat menjadi Static IP Saja.

2. Koneksikan VPN PPTP di MikroTik Client (MikroTik ini terkoneksi ke MariaDB Server)
Untuk melakukan Dial PPTP nya, kita akan membuat satu interface baru yaitu PPTP Client. Menu PPTP Client ini bisa ditemukan dari Menu Interfaces -> Interface -> PPTP Client atau Menu PPP -> PPTP Client. Isikan data yang diminta kemudian klik Apply untuk mulai men-dial.
3. Buat Static Route antar dua Router melalui VPN.
Sebelumnya, apakah ada yang bertanya kenapa kita membuat Static Route meski sudah mencentang Add Default Route? Karena mencentang Add Default Route hanya memberikan akses Client ke Server dan tidak berlaku sebaliknya. Bagaimana kalau dibalik? Bisa saja, tetapi saya lebih suka seperti ini. 

Buat Static Route di Menu IP -> Routes -> Add. Hal yang diisi adalah:
Dst. Address: 192.168.10.0/29 (IP Lokal dari Mikrotik Client / MariaDB)
Gateway: 10.100.10.2 (IP PPTP yang didapat Mikrotik Client)
4. Konfigurasikan MariaDB untuk Akses Remote
Sampai step ini seharusnya MariaDB Server sudah dapat di-ping dengan IP Lokal aslinya, tetapi belum dapat diakses. Kenapa? Karena secara default MariaDB tidak mengizinkan akses dari luar dan hanya boleh mengakses dari Host Lokal (localhost) saja. Maka dari itu kita akan membuatnya dapat diakses dari luar.

- Edit konfigurasi MariaDB
Debian: /etc/mysql/my.cnf
Ubuntu: /etc/mysql/mariadb.conf.d/50-server/my.cnf
Berikan tanda komentar "#" tanpa tanda kutip pada baris bind_address. Atau dapat teman-teman ganti IPnya dengan 0.0.0.0.

- Buat Akun untuk Remote
~# mysql -u root
MariaDB [(none)] use mysql;
MariaDB [mysql]> grant all on namadatabase.* to 'userbaru'@'%' identified by 'passwordbaru';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> \q
Sesuaikan teks yang saya cetak biru. Sedikit penjelasan mengenai simbol "%" diatas, pada MySQL / MariaDB simbol ini menandakan semua atau Wildcard. Yang berarti User dengan Nama Userbaru akan dapat diakses dari IP Manapun. 

- Restart Service MariaDB
~# service mariadb restart
5. Selesai!!
Jika tidak ada masalah, dan sudah tepat langkah-langkahnya. Seharusnya teman-teman sudah dapat terkoneksi ke MariaDB melalui jalur VPN PPTP dan dapat menggunakannya seperti biasanya.

g. Rerefensi
--

h. Kesimpulan
Dengan menggunakan VPN PPTP, kita dapat mengkoneksikan Server satu ke Server lain sehingga kita dapat menciptakan suatu jaringan lokal bagi server-server kita sehingga server-server tersebut akan saling berkomunikasi layaknya berada di jaringan lokal, meski sebenarnya server-server tersebut berada di tempat yang berbeda.

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

Read More

Friday, March 10, 2017

Wordpress Multiple Database Server & Auto Failover dengan Plugin HyperDB

  No comments
10:40 AM

Wordpress Image | Source : Wordpress.org
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai Instalasi dari salah satu Plugin Wordpress yang berhubungan dengan Database Server, yaitu HyperDB.

a. Pengertian
HyperDB merupakan Plugin di CMS Wordpress yang dapat mengganti beberapa fungsi dari Database dasar Wordpress. Perbedaan HyperDB dengan Sistem Database bawaan Wordpress adalah HyperDB mampu menggunakan Banyak Server Database sekaligus, serta cara kerja HyperDB yang tidak akan melakukan koneksi ke Server Database sebelum ada permintaan.

b. Latar Belakang
Penggunaan Plugin HyperDB ini didasari atas keingintahuan saya mengenai bagaimana mengkonfigurasi CMS Wordpress agar dapat menggunakan banyak Server Database sekaligus. Dan solusinya adalah menggunakan Plugin HyperDB ini.

c. Maksud dan Tujuan
Tujuan dari digunakannya Plugin ini adalah untuk menciptakan Website Wordpress yang Stabil serta Minim Downtime, karena HyperDB menggunakan banyak Server Database sekaligus. Sehingga ketika salah satu Server mati, maka Server Database lain yang masuk dalam sistem replikasi akan otomatis membackupnya.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan Instalasi dan Konfigurasi Plugin ini kurang lebih 5-10 Menit.

e. Alat dan Bahan
- PC
- 2 atau lebih Database Server (MySQL/MariaDB)
- CMS Wordpress yang sudah terinstall
- Plugin HyperDB

f. Langkah Pengerjaan
Saya asumsikan Wordpress teman-teman sudah terinstall dan dapat digunakan secara normal. Untuk informasi saya pribadi menggunakan Wordpress Versi 4.7.3 yang berjalan dengan Webserver Apache2 + PHP7.0

1. Download Plugin HyperDB
Silahkan download Plugin HyperDB terlebih dahulu melalui Link yang sudah saya berikan diatas. Kemudian Ekstrak File tersebut ke suatu tempat,

2. Konfigurasi Plugin
Konfigurasi mengenai Database HyperDB berada didalam file db-config.php. Silahkan buka file tersebut menggunakan Text Editor favorit kalian.

Cari konfigurasi berikut, secara default didalamnya kalian akan menemukan dua konfigurasi Database. Satu adalah Master Database yang sudah dikonfigurasi didalam wp-config.php bawaan Wordpress, dan satunya adalah Konfigurasi Database tambahan yang kalian dapat tempatkan Database Server (Slave) kalian disini.
HyperDB dengan Dua Database Server
Karena format konfigurasi berbentuk Array, maka untuk menambahkan Database Server lain teman-teman cukup mengcopy dan mempaste konfigurasi yang sudah ada dan menambahkan dibawahnya.
HyperDB dengan Tiga Database Server
3. Instalasi Plugin HyperDB ke Wordpress
Setelah teman-teman mengkonfigurasi Pluginnya, silahkan teman-teman Install Plugin ini dengan cara mengcopy atau memindahkannya ke Folder dimana Wordpress kalian diinstall. Untuk penempatannya adalah sebagai berikut:
db-config.php : Ditempatkan di folder Root Wordpress atau ditempat yang sama dengan file wp-config.phpdb.php : Ditempatkan didalam folder wp-content
4. Atur Ulang Owner
Karena kita mengekstrak Plugin tersebut atas nama Username kita, Maka owner dari file tersebut akan menjadi menjadi milik kita. Agar owner berpindah ke owner yang 'seharusnya' kita akan mengatur ulang owner dari file-file tersebut dengan chown.

~/var/www/wordpress# chown www-data:www-data db-config.php wp-content/db.php
5. Testing Wordpress!
Apabila tidak ada masalah, seharusnya Plugin HyperDB sudah bekerja. Apabila kalian menemukan pesan error HTTP ERROR 500, cobalah untuk mengecek konfigurasi db-config.php kalian. Pastikan tidak ada konfigurasi atau syntax yang tidak valid yang menjadikan konfigurasi tersebut error.
g. Referensi
- Wordpress Plugin - HyperDB
- DigitalOcean - How To Optimize WordPress Performance With MySQL Replication On Ubuntu 14.04

h. Kesimpulan
Dengan menggunakan Plugin HyperDB ini, kita dapat membangun Website berbasis Wordpress yang memiliki sistem High Availability pada sisi Sistem Databasenya. Terlebih apabila dikolaborasikan dengan High Availability Web Server yang mana akan menghasilkan konfigurasi yang minim atau hampir zero downtime.

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

Read More

Thursday, March 9, 2017

Mengganti Identitas UUID Hard Disk di VirtualBox yang Mengalami Duplikat

  No comments
9:00 AM

Virtualbox Logo | Virtualbox Website
Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai Perbaikan Disk Image atau Hard Disk di Virtualbox yang Mengalami Duplikat.

a. Pengertian
VirtualBox adalah aplikasi perangkat lunak untuk Virtualisasi, yaitu perangkat lunak yang dapat memvirtualisasikan atau mengabstraksi Hardware sehingga Resourcenya dapat digunakan secara bersama-sama.

b. Latar Belakang
Penulisan artikel ini didasari atas permasalahan yang saya hadapi ketika menggunakan Aplikasi Virtualbox, yaitu ketika saya mencoba menduplikat Hard Disk yang digunakan oleh Virtual Machine saya diluar secara manual. Dan hasilnya adalah Hard Disk tersebut tidak dapat dipakai karena mempunyai Identitas atau UUID yang sama dengan Hard Disk yang terpasang lebih dahulu.

c. Maksud dan Tujuan
Tujuan dari artikel ini adalah untuk membagikan bagaimana mengatasi masalah ini dengan cara mengganti Identitas dari Hard Disk tersebut sehingga dapat digunakan kembali di Virtualbox.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan pengerjaan ini kurang dari 1 Menit.

e. Alat dan Bahan
- PC dengan OS GNU/Linux
- VirtualBox
- Akses ke Terminal

f. Langkah Pengerjaan
Sebelumnya akan saya sedikit jelaskan mengenai munculnya masalah ini. Jadi umumnya di Virtualbox penggunaan 1 Harddisk hanya diperbolehkan untuk 1 Virtual Machine (VM). Apabila kita ingin menggunakan Harddisk yang sama tersebut kita harus melakukan Cloning atau Penggandaan seluruhnya beserta Profile VM nya. Nah ketika proses Cloning itulah Virtualbox akan me-reset ulang seluruh Identitas yang dimiliki VM tersebut dan menggantinya dengan Identitas yang baru, maka dari itu tidak akan terjadi error apabila kita memakainya.

Beberapa dari kita mungkin hanya memerlukan Harddisknya saja sehingga kita akan langsung copy paste Harddisk tersebut. Nah disini masalahnya terjadi, karena kita menggandakan Harddisk tersebut secara manual maka secara tidak langsung Identitas Harddisk tersebut tidak berubah alias sama denga Harddisk sebelumnya. Inilah yang sebenarnya terjadi mengapa kita tidak bisa memasukkan Harddisk tersebut ke Virtualbox, karena Virtualbox tidak mengijinkan penggunaan Device yang memiliki Identitas sama.

Solusinya yaitu dengan me-reset identitas tersebut dan menggantinya ke Identitas baru, dengan memasukkan perintah berikut di Terminal:
~$ VBoxManage internalcommands sethduuid "<LokasiHardisk/hardisk>"
Perintah tersebut akan me-reset ulang UUID atau Identitas dari Harddisk dan menggantinya dengan UUID baru, sehingga tidak akan terjadi Duplikat UUID di Virtualbox.

g. Referensi
- Stackoverflow - How to change UUID in virtual box

h. Kesimpulan
Dengan diresetnya UUID yang dimiliki, kita bisa menggunakan Device atau Harddisk yang sama secara bersamaan di Virtualbox tanpa harus mengcloning seluruhnya VM tersebut.

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

Read More

Wednesday, March 8, 2017

Network Gateway Auto Fail-over dengan VRRP di MikroTik

  No comments
10:52 PM

Assalamu'alaikumWr. Wb.
Di artikel ini saya akan menuliskan mengenai bagaimana membuat Redundancy atau Fail-over untuk Gateway Jaringan dengan Protokol VRRP di perangkat MikroTik.

a. Pengertian
VRRP atau Virtual Router Redundancy Protocol adalah sebuah protokol jaringan yang dapat memberikan sebuah IP pada Host-host yang sudah ditentukan. Untuk VRRP, meski satu IP untuk banyak Host hasilnya bukanlah bertabrakan. Namun Host-host tersebut saling membackup satu sama lain, inilah yang dinamakan Redundancy.

b. Latar Belakang
Karena saya terpikirkan bagaimana menciptakan Topologi Jaringan yang mana Jaringan tersebut tidak akan terganggu meski salah-satu komponen utama (dalam hal ini Router) mengalami masalah. Dan akhirnya saya sampai pada protokol VRRP ini.

c. Maksud dan Tujuan
Tujuan dari konfigurasi ini adalah untuk memanfaatkan Protokol VRRP, lebih tepatnya memanfaatkan VRRP ini untuk menciptakan Redundancy di sisi Gateway Jaringan dengan cara memasukkan Dua Perangkat MikroTik kedalam konfigurasi VRRP yang kemudian menjadikan kedua MikroTik tersebut menjadi satu kesatuan Gateway.

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

e. Alat dan Bahan
- PC + Kabel UTP RJ45
- 3 Perangkat MikroTik
- Tool Winbox
- Wine Emulator

f. Topologi

Koneksi yang dibentuk dari Cloud ke CHR menggunakan PPPoE dan tidak ada IP yang diset Manual/DHCP Client pada Ethernet 1 di masing-masing CHR. Semuanya mendapatkan IP dari PPPoE Server setelah men-dialout.

g. Langkah Pengerjaan
Saya menganggap Alat dan Bahan teman-teman sudah siap dan sudah diatur dan dikonfigurasi sedemikian rupa sehingga dapat terkoneksi seperti halnya digambaran Topologi diatas.

1. Login ke CHR1 dan CHR2 dengan Winbox
Pertama silahkan teman-teman lakukan Login menuju kedua perangkat dengan Winbox.

2. Buat Interface VRRP di kedua MikroTik
Interface VRRP di MikroTik dapat kita buat dengan mudah melalui menu Interface -> Add -> VRRP.
Nah disini ada hal yang perlu teman-teman perhatikan yaitu:
Interface = Pilih Interface/Ethernet dimana Interface VRRP ini akan dijadikan Default Gateway nya.
VRRP ID = Kalian bisa masukkan angka bebas namun dengan ketentuan angka tersebut dibawah 255.
Priority = Berbeda dengan Priority yang ada di IP Route, disini Priority dengan nilai yang lebih tinggi yang akan diprioritaskan alias VRRP yang mempunyai nilai tertinggi akan dijadikan Default Gateway Master, disusul dengan VRRP yang punya nilai lebih rendah dan seterusnya.
3. Set IP pada Interface VRRP di kedua MikroTik
Interface VRRP yang telah kita buat tidak akan aktif sebelum kita memberikan IP ke Interface tersebut. Karena VRRP memerlukan proses checking ke perangkat lain yang mempunyai VRRP ID dan IP VRRP yang sama untuk memutuskan perangkat mana yang mempunyai Priority yang tertinggi yang akan dijadikan sebagai Master VRRP.
4. Hubungkan kedua Ether2 MikroTik ke Switch/PC.
Setelah kedua Interface VRRP berubah, salah satu menjadi Master dan yang lain menjadi Backup. Selanjutnya kita coba hubungkan kedua Ether2 dari MikroTik ke sebuah Switch. Kemudian satu Client dihubungkan ke Switch tersebut. Lalu disisi Client cobalah untuk melakukan PING ke Default Gateway yaitu IP VRRP yang sudah kalian setting untuk Interface VRRP.
Apabila tidak ada masalah seharusnya akan menghasilkan Reply. Jika tidak cobalah untuk meneliti ulang konfigurasinya. Jika menghasilkan Reply teman-teman bisa mencoba memutuskan salah satu jalur yang dalam hal ini adalah Jalur dari MikroTik yang berstatus Master. Normalnya, akan ada jeda <1 detik untuk perpindahan Status VRRP. Dan ketika sudah berpindah dari Backup -> Master maka seharusnya PING ke Default Gateway akan menghasilkan Reply lagi.

Jika teman-teman hidupkan atau koneksikan kembali Jalur dari MikroTik yang diputus, apabila MikroTik tersebut mempunyai VRRP ID yang lebih tinggi dari yang sekarang aktif maka ketika teman-teman hubungkan MikroTik tersebut maka secara otomatis Status VRRP akan menjadi Master dan Jalur utama akan berpindah ke perangkat tersebut.

h. Referensi
- Mikrotik Wiki - VRRP Examples
- Mikrotik Indonesia - Virtual Router Redundancy Protocol

i. Kesimpulan
Dengan menggunakan Protokol VRRP ini, Koneksi kita akan lebih terjamin karena sudah tidak ada masalah lagi apabila salah satu perangkat Routernya mengalami gangguan atau kerusakan fisik karena dengan VRRP kita akan otomatis diarahkan ke Router lain yang akan menggantikan fungsi Router yang mati tersebut.

Read More

Tuesday, March 7, 2017

Instalasi Aplikasi Ukuu, Ubuntu Kernel Update Utility di Ubuntu 16.04

  No comments
9:00 AM

Assalamu'alaikum Wr. Wb.
Di artikel ini saya akan menuliskan mengenai Instalasi Aplikasi yang bernama Ukuu atau Ubuntu Kernel Update Utility di Sistem Operasi Ubuntu 16.04.2.

a. Pengertian
Ukuu atau Ubuntu Kernel Update Utility merupakan sebuah Tool yang dapat digunakan di Sistem Operasi Ubuntu untuk memudahkan kita dalam melakukan Instalasi atau Penghapusan Kernel Linux.

b. Latar Belakang
Dikarenakan secara default Ubuntu (LTS) menggunakan Kernel yang didukung dalam jangka waktu yang lama atau Long Term Support, sehingga untuk pembaruan dengan cara Upgrade di Ubuntu dengan versi LTS tidak bisa mendapatkan Versi Kernel yang cukup up-to-date. Solusinya adalah dengan melakukan Instalasi sendiri kernel yang kita inginkan.

c. Maksud dan Tujuan
Tujuan dari penggunaan aplikasi ini adalah untuk memudahkan kita dalam melakukan manajemen Kernel seperti instalasi dan penghapusan. Tool Ukuu ini pun juga akan memberikan notifikasi pembaruan apabila terdapat Update terbaru pada Kernel.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan Instalasi Aplikasi ini berkisar antara 2-5 Menit.

e. Alat dan Bahan
- PC dengan OS Ubuntu
- Koneksi Internet
- Akses Super User / Sudo

f. Langkah Pengerjaan
1. Menambahkan PPA (Personal Package Archives)
Secara default, Aplikasi Ukuu tidak terdapat didalam Repository Resmi Ubuntu. Sehingga kita harus memasukkannya melalui PPA.

~# apt-add-repository ppa:teejee2008/ppa
2. Update Cache
Hal wajib yang kita lakukan setelah melakukan pengubahan Repository List, yaitu Memperbarui Cache nya.
~# apt update
3. Instalasi Ukuu
Selanjutnya setelah Cache sudah diupdate, kita dapat melakukan Instalasi Ukuu.
~# apt install ukuu
4. Test Ukuu!
Setelah instalasi selesai, teman-teman dapat menggunakan Aplikasinya yang sudah ada di Dash / Menu Aplikasi teman-teman.
Untuk beberapa kali membuka, teman-teman akan diminta untuk menunggu karena Ukuu akan mengambil Cache List dari Repository Ubuntu. Saya sarankan untuk membuka beberapa kali aplikasi ini sebelum melakukan Instalasi Kernel, karena besar kemungkinan apabila hanya membukanya sekali maka ketika Instalasi Kernel akan terjadi Error.
Untuk penggunaan Ukuu pun cukup mudah, di Ukuu akan muncul semua Versi Kernel yang ada di Repository Ubuntu yang secara default tidak terinstall di Ubuntu kalian. Kernel-kernel tersebut akan terbagi menjadi Kernel Versi Beta dan yang sudah Final. Untuk melakukan Instalasi kernelnya pun cukup mudah, teman-teman hanya tinggal mengklik Versi Kernel yang diinginkan kemudian Klik Install.
g. Referensi
- MakeUseOf - How to Easily Upgrade Ubuntu's Linux Kernel with Ukuu

h. Kesimpulan
Dengan menggunakan Tool Ukuu ini selain memudahkan kita dalam memanajemen Kernel, kita juga akan dipastikan untuk dapat selalu menggunakan Kernel Versi terbaru karena Ukuu secara berkala akan mengecek ke Repository apakah ada pembaruan kernel atau tidak, apabila terdapat pembaruan maka Ukuu akan menampilkan notifikasi Pembaruan ke User dan menunggu persetujuan untuk mendownload dan menginstallnya.

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

Read More