Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Migrasi Email Antar Server yang Berbeda OS dan Panel
Migrasi data antar server akan lebih mudah kalau platformnya sama (terutama OS dan Panel nya). Misalnya migrasi akun antar server cPanel sangat mudah karena difasilitasi oleh cPanel.
Nah, bagaimana kalau beda? Misalnya yang barusan saya lakukan dari sPanel nya MWN ke cPanel. Kalau kita punya akses root ke server sPanel sih mudah karena sPanel memberikan fasilitas migrasi ke cPanel. Lha kalau hanya sebagai user biasa bagaimana?
Kalau untuk file web dan database mudah migrasinya. Untuk file web tinggal download dan masukkan ke server baru. Untuk database bisa di-dump/export dulu baru dimasukkan ke server baru.
Nah, untuk email ini yang kadang masalah, karena bisa jadi beda software dan letak direktorinya. Cara yang paling efektif adalah login dengan protokol yg sudah disepakati semua server misalnya imap. Ada tool yang sangat membantu migrasi email bernama imapsync.
Berikut ini cara install dan menjalankannya. (Saya menggunakan debian based server)
sudo apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl
git clone git://github.com/imapsync/imapsync.git
sudo cpan
cpan> install Unicode::String
cd imapsync
mkdir dist
sudo make install#check
imapsync -v
1.678#jalankan
imapsync –host1 server1 -user1 user@server1 –password1 user1password –ssl1 –host2 server2 –user2 user@server2 –password2 user2password –ssl2
server1 : server asal
user1 : user asal
pass1 : password asal
server2 : server tujuan
user2 : user tujuan
pass2 : password tujuan
Tuning Slow ZFS
Saya telah menginstall ZFS dengan setting default. Ternyata performa untuk write nya sangat lambat sekitar 50 Mb/s, jauh di bawah harapan saya menggunakan ZFS.
Setelah membaca artikel dari https://icesquare.com/wordpress/how-to-improve-zfs-performance/ dan mencoba beberapa sarannya, saya dapat bahwa yang paling berpengaruh adalah kompresi.
Jadi, inilah obat paling mujarabnya:
zfs set compression=lz4 namaPoolAnda
zfs set xattr=sa namaPoolAnda
Setelah itu, performa write menjadi lebih dari 1Gb/s. Mantab.
That’s all folks.
Install Zimbra Collaboration – Open Source Version di Ubuntu 12.04
- Install ubuntu server 12.04 yang 64bit. Bisa install di server fisik atau sebagai virtual server.
- Karena ada bug di systat bawaan, maka kita harus menghapusnya dan mengganti dengan versi yg lebih baru.
sudo apt-get remove –purge sysstat
wget https://launchpad.net/ubuntu/+source/sysstat/9.0.6-2/+build/1453608/+files/sysstat_9.0.6-2_amd64.deb
sudo dpkg -i sysstat_9.0.6-2_amd64.deb
sudo apt-mark hold sysstat
- Hapus semua paket yang bisa bertabrakan dengan zimbra
sudo apt-get remove –purge apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common bind9 bind9-host bind9utils sendmail sendmail-base sendmail-bin sendmail-cf sendmail-doc-sensitive mda rmail samba bsd-mailx
- Install dependencies
sudo apt-get install netcat-openbsd libgmp3c2 sysstat sqlite3 pax
- Download zimbra opensource di http://www.zimbra.com/downloads/os-downloads.html. Pilih yang untuk Ubuntu 12.04 64bit
#nama file bisa berbeda tergantung versi zimbra terbaru.
wget http://files2.zimbra.com/downloads/8.0.6_GA/zcs-8.0.6_GA_5922.UBUNTU12_64.20131203103702.tgz
- Install
tar -xzvf zcs-8.0.6_GA_5922.UBUNTU12_64.20131203103702.tgz
cd zcs-8.0.6_GA_5922.UBUNTU12_64.20131203103702
./install.sh
Hal hal yang perlu dilakkan setelah selesai install:
- Membuat ECDSA key
ssh-keygen -b 521 -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
- Menjalankan zmlog pertama kali
sudo su – zimbra
/opt/zimbra/libexec/zmstatuslog
- Restart
zmcontrol restart
- Check Status
zmcontrol status
- Memulai administrasi zimbra
https://nama-domain-anda::7071/zimbraAdmin/
User: admin
Password: sesuai yang dibuat saat instalasi
- User biasa masuk ke:
https://nama-domain-anda/
MySQL Auto Increment vs PostgreSQL Sequence untuk Distributed System
Di semua engine database yang pernah saya pakai, ada fasilitas untuk membuat sebuah baris data unik dengan cara selalu menambahkan angka secara otomatis dari baris sebelumnya. Biasanya menambahkan 1 dari sebelumnya, walaupun sebenarnya tidak harus tambah 1, bisa tambah 2,5, 10, dan seterusnya. Demikian juga dengan database populer seperti MySSQL dan PostgreSQL yang biasa saya pakai. Di MySQL namanya AUTO INCREMENT sedangkan di PostgreSQL namanya SEQUENCE.
Saya tidak akan menjelaskan bagaimana membuatnya, namun saya ingin menyampaikan pendapat pribadi bahwa SEQUENCE di PostgreSQL lebih “keren” dari pada AUTO INCREMENT di MySQL untuk implementasi sistem yang terdistribusi di mana setiap node server bisa menulis baris data sendiri dan di-broadcast ke node yang lainnya. Diperlukan cara agar tidak bentrok nilainya antara node satu dengan node lainnya.
Pendekatan yang sering dipakai adalah dengan membedakan start dan step increment-nya. Misalnya:
- Node 1: dimulai dari 1 dan step incrementnya 10, artinya akan menghasilkan angka 1, 11, 21, 31, 41, dst.
- Node 2: dimulai dari 2 dan step incrementnya 10, sehingga akan menghasilkan angka 2,12, 22, 31, 41, dst.
Dengan pendekatan tersebut di atas maka antara node 1 dan node 2 tidak akan bentrok nilainya.
Di MySQL hal tersebut hanya bisa dilakukan dengan melakukan setting di konfigurasi server atau di variable global yang akan mempengaruhi semua database dan tabel yang ada. Di PostgreSQL bisa di-setting di sebuah object sequence sendiri.
bagaimana kalau node nya lebih dari 10? bagaimana kalau lebih dari 100? lebih dari 1000? Maka step increment nya jadi semakin lebar. Ini bisa cepat menghabiskan digit angka. Mungkin untuk record database yang sedikit tidak masalah. Tapi kalau menatat jutaan record setiap hari bagaimana?
Saya tidak suka dengan pendekatan tersebut. Saya lebih suka menggunakan key lain yang alhanumeric, misalnya UUID, atau microtime + random number yang harus digabung dengan ID dari node. Dengan demikian, akan selalu unik entah dari node mana record berasal.
Namun ada kalanya kita memang harus membuat sebuah key yang berupa angka, misalnya untuk transaksi pembayaran di bank, di mana di ATM tidak bisa input huruf untuk nomor pembayarannya. Untuk itu, SEQUENCE dari PostgreSQL lebih enak digunakan.
bagimana bisa? Lanjut nanti…
perintah “setup” tidak ada atau hilang di centos
[root@tel ~]# setup
-bash: setup: command not found
Biasanya ini terjadi kalau install centos yang minimal
Solusinya:
yum –y install setuptool
yum –y install system-config-network*
yum -y install system-config-firewall*
yum –y install system-config-securitylevel-tui
yum –y install system-config-keyborad
Ketinggalan Pesawat
Seperti halnya kereta api, pesawat itu punya kesaktiannya sendiri. Jika kita yang telat maka akan ditinggal, tapi jika pesawatnya yang telat kita susah untuk ninggalin tuh pesawat. Penumpang sudah harus check in dan menunggu 1 jam sebelum berangkat. Beberapa maskapai memang menerapkan city check in atau web check in, tapi tetap aja penumpang tidak boleh telat. Karena telat itu lah saya sering hampir ketinggalan pesawat. Bahkan ada pesawat di Jambi yang mau terbang gak jadi karena saya baru dateng. Tangga dipasang lagi. hehehe. Dan karena telat itu juga saya beberapa kali ketinggalan pesawat beneran. Hehehe.
Pertama, pagi hari saat mau ke Surabaya bersama teman saya H. Lima belas menit sebelum keberangkatan baru nyampe bandara. Wal hasil, check in sudah tutup dan terpaksa mencari tiket lagi dan dapetlah sore. Saya mengisi masa penantian dengan mainin laptop di bandara. Dan temen saya H, malah memilih pulang ke Depok dulu. Bayangkan Cengkareng Depok berapa lama. Ajaibnya, 1 jam sebelum pemberangkatan H sudah muncul. Masak di Depok cuman mau numpang kencing doang? hehehe.
Kedua, saat mau ke Palembang malam hari bersama S. Kami sudah 2 jam sebelum pemberangkatan nyampe bandara. Check in lancar sampai di ruang tunggu. Aman kan? Ternyata tidak. Kami berdua asyik ngobrol sampai tidak tahu ada pengumuman pemberangkatan di pindah ke gate lain. Begitu pas jam pemberangkatannya saya tanya ke petugas dan diberi tahu kalau melalui gate lain. Saat kami sampai ke gate tersebut pesawat sudah terbang. Nah loh. Karena tidak ada penerbangan lagi setelah itu akhirnya kami kleleran semaleman di bandara. hehehe.
Ketiga, pagi hari saat mau ke Jember lewat Surabaya bersama rombongan Pak D. karena saya telat bangunnya (ataukah jemputan pak D yang telat) akhirnya kami tiba di bandara 5 menit sebelum keberangkatan. Tentu saja sudah telat. Akhirnya berkat kebaikan hati Pak D yang bapaknya artis itu mbayarin tiket kami bertiga, kami bisa ke Surabaya pada penerbanyan pesawat lain. hehehe.
Keempat, sore hari dari Jember bersama Pak D tadi. Kami hanya berdua saja. Kami sudah membeli tiket secara online dari Jember untuk penerbangan jam lima sore melalui Denpasar Bali. Kami berangkat dari Jember dan sampai bandara Ngurah Rai jam empat sore, satu jam sebelum pemberangkatan. Aman kan? Oh tidak. Ternyata di Bali itu Waktu Indonesia Tengah dan jam kami Waktu Indonesia Barat. Jam 5 di Bali itu harusnya jam 4 di Jawa. Dan akhirnya ketinggalan pesawat lagi. Pak D akhirnya membelikan lagi tiket malam ke Jakarta.
Semoga tidak ada yang kelima. 😀
Sleeping Child – Michael Learns to Rock
The Milky Way upon the heavens
Is twinkling just for you
And Mr. Moon he came by
To say goodnight to you
I’ll sing for you I’ll sing for mother
We’re praying for the world
And for the people everywhere
Gonna show them all we care
[Chorus]
Oh my sleeping child the world’s so wild
But you’ve build your own paradise
That’s one reason why I’ll cover you sleeping child
If all the people around the world
They had a mind like yours
We’d have no fighting and no wars
There would be lasting peace on Earth
If all the kings and all the leaders
Could see you here this way
They would hold the Earth in their arms
They would learn to watch you play
[Chorus]
I’m gonna cover my sleeping child
Keep you away from the world so wild