« Older Entries Subscribe to Latest Posts

20 May 2012

Setup MSQL 5.1 Replication di Centos 6

Posted by M. Iqbal Saryuddin A.. No Comments

KETERANGAN
Ini kalau pakai SSL. Jika ingin tidak pakai SSL, tinggal skip bagian SSL.
PERSIAPAN
  • Cek dulu apakah ssl sudah diaktifkan di mysql server master
    root@server1:~# mysql -u root -p
    mysql> show variables like ‘%ssl%’;
  • Jika belum, maka aktifkan dulu dengan menambahkan string “ssl” (tanpa quote) pada /etc/my.cnf dan restart mysql

KONFIGURASI di MASTER

  • MySQL harus bisa listen all interface. Caranya comment pada bind-address = 127.0.0.1 di file /etc/my.cnf. Untuk test, engan perintah berikut:
    root@server1:~# netstat -tap | grep mysql
    tcp 0 0 *:mysql *:* LISTEN 2166/mysqld
  • Membuat folder untuk log mysql jika belum ada
    root@server1:~# mkdir /var/log/mysql
    root@server1:~#  chown mysql:mysql /var/log/mysql
  • Membuat CA certificate
    root@server1:~# (mkdir /etc/mysql/newcerts) cd /etc/mysql/newcerts
    root@server1:~# openssl genrsa 2048 > ca-key.pem
    root@server1:~# openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem
  • Membuat server certificate
    root@server1:~# openssl req -newkey rsa:2048 -days 1000 -nodes -keyout server-key.pem > server-req.pem
    root@server1:~#  openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem
  • Membuat client certificate
    root@server1:~# openssl req -newkey rsa:2048 -days 1000 -nodes -keyout client-key.pem > client-req.pem
    root@server1:~#  openssl x509 -req -in client-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem
  • Transfer file ca-cert.pem, client-cert.pem, and client-key.pem ke slave di direktori /etc/mysql/newcerts juga
  • Buka /etc/my.cnf lalu masukkan berikut:
    ssl
    ssl-ca=/etc/mysql/newcerts/ca-cert.pem
    ssl-cert=/etc/mysql/newcerts/server-cert.pem
    ssl-key=/etc/mysql/newcerts/server-key.pem
  • Restart mysql
  • Membuat user slave d master
    root@server1:~# mysql -u root -p
    mysql> GRANT REPLICATION SLAVE ON *.* TO ‘slave_user’@'%’ IDENTIFIED BY ‘slave_password’ REQUIRE SSL;
    mysql> GRANT USAGE ON *.* TO ‘slave_user’@'%’ REQUIRE SSL;
    mysql> FLUSH PRIVILEGES;
  • Penomoran server dan penentuan database di /etc/my.cnf
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    expire_logs_days = 10
    max_binlog_size = 100M
    binlog_do_db = exampledb
  • Restart mysql
  • Flush & Lock mysql database dulu dan lihat posisi di master status
    root@server1:~# mysql -u root -p
    mysql> USE exampledb;
    mysql> FLUSH TABLES WITH READ LOCK;
    mysql> SHOW MASTER STATUS;
    +——————+———-+————–+——————+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +——————+———-+————–+——————+
    | mysql-bin.000001 |  3096416 | exampledb    |                  |
    +——————+———-+————–+——————+
    1 row in set (0.00 sec)
  •  INGAT, jangan tutup atau quit dari mysql dulu karena pada pisisi ini harus ngedump database. Buka terminal baru:
    root@server1:~# mysqldump -u root -pyourrootsqlpassword –opt exampledb > snapshot.sql
  • Kirim snapshot.sql ke server slave
  • Dari terminal yang sebelumnya:
    mysql> UNLOCK TABLES;
    mysql> quit;

KONFIGURASI di SLAVE

  • Buka  /etc/my.cnf buat setting server-id, master-connect-retry, replicate-do-db di bagian  [mysqld]
    ssl
    server-id=2
    master-connect-retry=60
    replicate-do-db=exampledb
  • restart mysql
  • membuat database
    root@server2:~# mysql -u root -p
    mysql> CREATE DATABASE exampledb;
    mysql> STOP SLAVE;
    mysql> quit;
  •  memasukkan data awal:
    root#server2:~# mysql -u root -pyourrootsqlpassword exampledb < snapshot.sql
  • set slave:
    root@server2:~# mysql -u root -p
    mysql> CHANGE MASTER TO MASTER_HOST=’192.168.0.100′, MASTER_USER=’slave_user’, MASTER_PASSWORD=’slave_password’, MASTER_LOG_FILE=’mysql-bin.000001′, MASTER_LOG_POS=3096416, MASTER_SSL=1, MASTER_SSL_CA = ‘/etc/mysql/newcerts/ca-cert.pem’, MASTER_SSL_CERT = ‘/etc/mysql/newcerts/client-cert.pem’, MASTER_SSL_KEY = ‘/etc/mysql/newcerts/client-key.pem’;
    mysql> START SLAVE;
    mysql> SHOW SLAVE STATUS \G

20 May 2012

scp, ssh dan rsync tanpa prompting password

Posted by M. Iqbal Saryuddin A.. No Comments

Dari host asal:

$ ssh-keygen -t rsa

akan menghasilkan file di ~/.ssh/id_rsa.pub

Kirim file tersebut ke host tujuan.

Lalu masuk ke host tujuan dan memasukkan isi dari id_rsa.pub yg tadi ke ~/.ssh/authorized_keys di host tujuan

$ cat id_rsa.pub >>~/.ssh/authorized_keys

$ chmod 700 ~/.ssh/authorized_keys

Jika butuh root login, edit /etc/ssh/sshd_config dan ubah PermitRootLogin dari no menjadi yes, lalu restart sshd.

21 Mar 2012

Salah satu akal-akalan AHA alias ESIA agar membeli pulsa lebih

Posted by M. Iqbal Saryuddin A.. No Comments

Saya adalah pengguna AHA (http://www.aha.co.id) yang sebenarnya puas dengan kualitas jaringannya. Bahkan saya selalu mempromosikan ke orang-orang bahwa AHA bagus dan cepet koneksinya. Tapi akhir-akhir ini saya jengkel dengan AHA. Itu dikarenakan  AHA membuat beberapa hal yang merepotkan dan menjengkelkan bagi saya, yang di antaranya berdampak pada lebihnya pulsa yang harus dibayar. Yang menjengkelkan itu adalah:

  • AHA Mail a.k.a. Google Application

    Mungkin maksud AHA sih baik, memberi hal lebih kepada pengguna AHA. Masalahnya adalah hal tersebut diharuskan oleh AHA. Tidak ada cara untuk menolaknya. Yang menjengkelkan adalah setiap mau cek pulsa  di Customer Area AHA selalu terlebih dahulu diarahkan ke google application. Padahal saya cuma mau cek pulsa lewat internet, karena alat yg saya beli adalah AHA Link yang memang dikhususkan untuk pemakaian internet (tidak bisa dipakai nelpon, paling bisa SMS melalui aplikasi web juga)Saya pakai AHA hanya untuk internet. That’s it. Saya tidak suka menunggu google application yang loading-nya lama hanya untuk ngecek pulsa. Saya sudah punya sendiri dengan domain-domain pribadi. Banyak lagi.

  • Notifikasi AHA saat melewati FUP (Fair Usage Policy)

    Saya sudah tahu dari awal bahwa paket yang saya ambil adalah DINAMIS BULANAN yang quotanya adalah 4 GB dan kalau telah memakai lebih dari itu akan turun kecepatannya.  Itu tidak masalah bagi saya. Awal-awal saya pakai AHA dulu lancar saja, begitu melebihi quota otomatis kecepatnnya berkurang. That’s ok.Tapi kemudian AHA membuat acara lain yaitu jika melewati quota akan masuk ke halaman notifikasi dan saya harus login untuk memilih apakah tetep mau memakai paket dengan kecepatan turun atau membayarRp 1/KB untuk kecepatan yang tidak turun. Walaupun bikin repot, okelah saya lakukan.Yang terakhir ini caranya berubah lagi menjadi lebih menjengkelkan. Ketika melewati quota, maka harus SMS ke nomor 242 dengan pesan BAYAR atau TIDAK. Okelah saya turutin kirim SMS, eh malah mendapat balesan: “Maaf, permintaan Anda tidak dapat diproses. Saat ini Anda tidak dpt memilih krn blm pd kondisi FUP. Paket Anda akan diperbarui pd 27/03/12-15:16“ . Lha, gimana sih? Saya buka internet dapat notfikasi suruh SMS tapi ketika di-SMS jawabannya seperti itu. Saya sampai SMS 2 kali untuk memastikan dan hasilnya sama saja. Wal hasil, pulsa saya kepotong Rp 110 dan tetap tidak bisa pakai internet.Akhirnya saya telpon langsung AHA Care di nomor 021 99714098. Untuk berbicara dengan operator prosedurnya lama banget. Pulsa IM3 saya terus kepotong untuk hal-hal gak penting. Kalau anda telepon AHA Care, sebaiknya langsung pencet 0 (nol) aja untuk berbicara dengan operator. Setelah tersambung dengan operator, baru bisa minta dibukakan akses internetnya secara manual oleh dia. Menurut dia, update data quotanya bisa lebih dari 2 jam, sehingga bisa terjadi hal seperti itu. What? update data saja bisa sampai begitu lama, apa tidak bisa sinkronisasi database?

    Kalaupun metode SMS tersebut berhasil(apalagi gagal) , maka pulsa akan kepotong minimal Rp 55 untuk konfirmasi BAYAR atau TIDAK. Bagi saya yang hanya pakai AHA untuk internet, itu artinya harus membeli pulsa lebih, karena pulsa yang seharusnya pas buat langganan (Rp 110,000) menjadi Rp 109,945. Mana ada yang jual pulsa AHA Rp 55 agar genap menjadi Rp 110,000?  Mau tidak mau harus beli pulsa setidaknya paket terkecil. Nah, karena saya hanya memakai untuk internet Rp 110,000 per 30 hari, berarti akan selalu ada saldo pulsa gak kepakai. Itu adalah akal-akalan AHA untuk mendapatkan duit gratis yang menggantung. Atau setidaknya, akal-akalan AHA agar pengguna membeli pulsa yang sebenarnya tidak diperlukan.

  •  Banner

    Sering kali kalau saya membuka sebuah website akan ada banner AHA yg menyebalkan diinsert otomatis.   Menyebalkan banget bukan?  Sudah bayar masih diganggu sama banner. Ini bannernya:

Bagaimana pengalaman menggunakan AHA dari anda?

Tags: , , ,

11 Nov 2011

Perbandingan Database Engine: MySQL vs PostgreSQL vs Oracle vs Microsoft SQL Server

Posted by M. Iqbal Saryuddin A.. No Comments

Saat ini sedang mikir-mikir database mana yang paling cocok dengan aplikasi yang akan saya buat. Kebutuhan saya adalah: skalabilitas, biaya, dan performa. Skalabilitas menjadi prioritas pertama mengingat database aplikasi tersebut kemungkinan besar akan tumbuh pesat seiring pengguna dan data yang disimpan di dalamnya.

Setelah mengumpulkan dari berbagai sumber, berikut ini rangkuman yang dapat saya peroleh: Read the rest of this entry »

12 Oct 2011

Menjalankan PHP di Infrastruktur Google (App Engine)

Posted by M. Iqbal Saryuddin A.. No Comments

Ketika saya sedang mencari-cari solusi cloud computing untuk aplikasi yang akan saya buat, saya (kembali) menemukan google appengine cukup menjanjikan. Dulu sebenarnya sudah tahu keberadaannya, namun karena dibilang hanya bisa menjalankan java dan python saja, maka saya lewati. Terus terang saya males belajar bahasa pemrograman lain lagi. PHP sudah cukup lah untuk semua hal. Dan setelah mencari lebih jauh, akhirnya menemukan juga cara menjalankan PHP di platform google.  Read the rest of this entry »

6 Feb 2011

Feng Shui Nama Perusahaan dan Produk

Posted by M. Iqbal Saryuddin A.. 3 Comments

Temen saya, Yoki, memberi sebuah konsep itung-itungan fengshui untuk nama Perusahaan dan Produk. Konsep tersebut diadposi dari sebuah buku (lupa judulnya) yang digunakan untuk mengetahui arti sebuah nama dari perusahaan dimana dia menjadi konsultan bisnis. Perusahaan tersebut selama ini dianggap kurang “beruntung” sehingga perlu dicek secara feng shui.

Yoki sendiri sebenarnya tidak begitu percaya dengan itung itungan tersebut. Yang justru concern terhadap hal itu adalah pemilik perusahaan yang membeli buku tersebut  dan bahkan sampai menulis ulang rumusnya di spreadsheet (Microsoft Excel).

Setelah saya mendapatkan file itu, saya mencoba beberapa nama besar seperti “GOOGLE”, loh kok hasilnya jelek (Merusak Keluarga). Tapi memang sih, untuk nama lain seperti “HONDA” hasilnya dalah “MELIMPAH”. Jadi seberapa akurat perhitungannya? Saya sih tidak begitu mempercayainya. Tapi buat iseng-iseng ya boleh lah. Yang jelas, kalau anda memasukkan kata “FENG SHUI” maka artinya adalah “PUSING”. Hahaha.

Karena saat ini saya lagi agak bingung mana yang harus dikerjakan terlebih dahulu dari beberapa tugas yang ada, saya malah membuat program kecil untuk menghitung feng shui dengan menerjemahkan rumus yang telah dibuat dalah spreadsheet tadi. Hehehe. Hasilnya bisa dicoba di:

http://www.iqbal.or.id/fengshui

Please try with your own risk!

5 Oct 2010

Ekonom dan Akuntan yang Makan Katak

Posted by M. Iqbal Saryuddin A.. No Comments

Seorang ekonom dan akuntan berjalan melewati sebuah rawa yang besar. Mereka melihat seekor katak di lumpur. Ekonom secara spontan mengatakan: “Jika Anda makan katak, aku akan memberimu $20.000!”

Akuntan berfikir sebentar, lalu makan katak itu, jadi dia mendapatkan uang taruhan tadi. Mereka melanjutkan perjalanan sepanjang rawa tadi. Beberapa saat kemudian akuntan tadi mengatakan: “Sekarang, jika Anda makan kodok ini saya akan memberikan Anda $20.000.”

Setelah mengevaluasi usulan tersebut ekonom langsung makan katak dan mendapatkan uang.

Mereka mulai berjalan lagi dan akuntan mulai berpikir, “Dengar, kita berdua memiliki jumlah uang yang sama kita miliki sebelumnya, tapi kita berdua makan kodok aku tidak melihat bahwa kondisi kita menjadi lebih baik…”

Ekonom: “Yah, itu benar, tetapi Anda mengabaikan fakta bahwa kita sudah terlibat dalam perdagangan senilai $40.000!”

.

Sumber: ketawa.com

29 Apr 2010

Website sampai hari ini (tulisan ngalor ngidul khusus untuk peluncuran NGINXMP – Engine X, MYSQL, and PHP – untuk windows)

Posted by M. Iqbal Saryuddin A.. 1 Comment

Seiring penggunaan internet yang semakin masif, aplikasi-aplikasi yang berjalan di atasnya juga ikut berkembang serta berevolusi menyesuaikan dengan perkembangan teknologi terkait, kebutuhan dan prilaku penggunanya. Teknologi terasa berlari dan kita terbirit-birit mengikutinya berusaha beradaptasi dengan perubahan. Begitu banyak teknologi (komputer) yang telah menjadi kenangan misalnya bahasa pemrograman cobol yang dulu berjaya sekarang telah menjadi cobolsaurus. Begitupun dengan internet dimana web merupakan basis aplikasi yang paling banyak berjalan.

Tahun 1990-an, orang membuat website kebanyakan hanya menggunakan HTML biasa untuk memenuhi kebutuhan publikasi yang cenderung statis, karena mempelajari CGI merupakan sebuah usaha yang tidak mudah bagi kebanyakan orang (termasuk saya, hehehe). Kemudian lahirlah bahasa interpreter seperti PHP yang kemudian diikuti oleh ASP yang lebih mudah dicerna oleh orang awam seperti saya. Mulai bermunculanlah situs-situs web yang menjadi dinamis karena isinya sudah dikelola dengan menggunakan database. Dewasa ini, bahasa pemgograman berbasis web sangat banyak: PHP, ASP, JSP, CFM, Perl, Phyton, dan lain-lain.

Kalau dulu pengunjung website hanya menerima informasi dari pemilik website, pada perkembangan berikutnya, web bisa mengakomodasi kolaborasi, interaksi yang lebih masif, dan menjadikan pengguna sebagai penggerak website. Contoh paling nyata adalah facebook, dimana hampir sebagian besar isinya dibuat oleh pengguna dan aplikasi pihak ketiga. Konsekuensinya adalah dibutuhkannya infrasruktur yang memadai untuk melayani lalu lintas informasi yang begitu banyak.

Berbicara infrastruktur tentu banyak sekali aspek yang harus dipertimbangkan: teknologi (hardware, software, bandwidth, clustering, security system, dll), orang, biaya, prosedur dan prosesnya. Namun pada kali ini saya hanya ingin membahas sebagian kecil dari infrastruktur pendukung berjalannya aplikasi berbasis web, yaitu: web server.

Ada banyak sekali web server software di dunia ini, baik yang opensource maupun yang closedsource, baik yang gratis maupun berbayar (opensource bukan berarti free loh, ntar dimarahin sama stallman dari Free Software Foundation, hehehe). Dan yang paling banyak dipakai sampai hari ini adalah Apache karena banyak orang dengan suka rela mem-bundle-nya dalam paket-paket yang mudah digunakan bahkan tinggal pakai. Namun dengan keterbatasan hardware resource, apache tidak cocok digunakan untuk situs dengan lalu lintas padat. Cara kerjanya yang selalu membuat instance baru setiap ada koneksi baru bisa membuat penggunaan memori jadi membengkak. Response time dari Apache yang standar juga tidak cocok untuk situs dengan tingkat interaksi pengguna yang tinggi. Memaksakan diri menggunakan Apache untuk situs seperti tersebut, akan berkonsekuensi pada pembengkakan biaya.

Bagi pemilik situs yang trafficnya tinggi, atau yang ingin penggunaan resource komputer yang minimal dengan response time yang minimal, ada alternatif web server yaitu NGINX alias Engine X (http://www.nginx.net). Ada beberapa web server yang mempunyai performa mirip seperti lighthttp, tornado (dikembangkan oleh facebook), cherokee, dsb. Namun, saya lebih suka NGINX karena kemudahannya (setidaknya bagi saya). Situs-situs besar di Indonesia seperti detik.com dan kaskus.us juga menggunakan NGINX.

NGINX bisa berjalan di *NIX maupun windows. Ada banyak tutorial instalasi NGINX di internet. Namun bagi pemula, mungkin saja masih membingungkan, terutama saat mengintegrasikan dengan PHP dan MYSQL. Untuk keperluan development, saya termasuk orang yang sudah nyaman dengan paket yang sudah all in one seperti XAMPP yang langsung bisa jalan di windows. Tinggal download, extract, jalankan, langsung bisa bekerja membuat aplikasi. Untuk membantu temen-temen yang ingin kepraktisan, saya membuat proyek baru bernama NGINXMP (http://sourceforge.net/projects/nginxmp/).

Sebenarnya tidak banyak yang saya lakukan dalam proyek tersebut. Saya hanya menggabungkan NGINX, MYSQL, dan PHP dalam satu paket yang bisa langsung jalan. Saya yakin banyak orang yang bisa install ketiga distribusi software tersebut, karena memang sudah ada petunjuknya. Tapi, jika ingin kepraktisan dan kemudahan, silahkan dicoba paket yang saya buat. Suitable for development purpose.  :-)

2 Jan 2010

Menjadikan Gus Dur Pahlawan Nasional

Posted by M. Iqbal Saryuddin A.. 2 Comments

gus dur

sumber foto: www.gusdur.net

Sesaat setelah berita wafatnya Gus Dur saya terima dari adik saya yang menjadi santri di Ciganjur, seorang teman dari NU meminta saya untuk menginisiasi sebuah group di facebook mendukung Gus Dur menjadi pahlawan nasional. Sebagai pengagum pemikiran dan kiprah beliau, saya tentunya setuju dengan ide tersebut. Namun saya mengatakan tidak mau membuat group tersebut, tapi saya siap join di group tersebut jika dibentuk. Saya jadi ingat saat dulu ada wanita (yang sekarang menjadi istri saya) menyuruh saya untuk membuat group SMA 2 Kediri. Saya tidak membuatnya. Akhirnya dia sendiri yang membuat group yang sekarang telah diisi sekitar 2000 member tersebut. Dan, tentu saja saya ikut join. Hehehe.

Ada beberapa alasan saya tidak bersedia membuat group mendukung menjadikan Gus Dur sebagai pahlawan nasional. Selain saya merasa tidak pantas menginisiasi tugas mulia tersebut, apalagi harus menjadi juru bicara jika ada media yang menanyakan seperti inisiator koin untuk prita (ah, kejauhan kali mikirnya, hehehe), ada sesuatu yang agak mengganjal di pikiran saya. Read the rest of this entry »

26 Oct 2009

BCA = Bank Cyariah Asia

Posted by M. Iqbal Saryuddin A.. 1 Comment

Konon menurut cerita dari seorang “pendekar yang suka bergerilya”, awal tahun 1990-an, Antony Salim bertemu Cacuk Sudarijanto yang saat itu menjadi Direktur Utama Telkom. Antony ingin menyewa transponder satelit milik Telkom. Saat itu Cacuk penasaran (kalau tidak bisa dikatakan curiga) dan tidak serta merta mengijinkan hal tersebut. Antony tidak mau mengatakan untuk apa dia sewa satelit, sebuah mesin vital dan mahal. Tapi Antony menjamin bahwa apa yang akan dia lakukan tidak akan melawan hukum. Akhirnya cacuk setuju. Read the rest of this entry »