Archive

Archive for the ‘Teknologi Maklumat’ Category

Transfering Wordpress to a new URL

October 20th, 2009 md 2 comments

Ahad lepas, aku terpaksa transfer blog pie2020 ke hosting lain sebab disk space dia dah nak sampai limit dah. Ye lah, visitor dia memang tinggi dan ramai yang beri komen di setiap posting yang pie buat. Sekejap je posting-posting di blog pie tu memenuhkan space di webhosting lama.

So, tugas untuk memindahkan data-data dalam blog lama pun dimulakan. Mulanya aku guna tools yang disediakan dalam Wordpress iaitu “Wordpress RSS Export (WRX)”, tapi ada masalah bila nak import ke website baru. Content yang berjaya diimport tak lengkap. Ada sebahagian posting dari bulan 2/2009 sehingga posting terkini bulan 10/2009 tak ada dalam export fail WRX.

Search di google, cari apa punca ada data tak diexport guna tool yang wordpress sediakan. Ada yang cadangkan, kalau data export lebih besar dari 2MB, elok pecah-pecahkan fail utama kepada beberapa bahagian guna program yang dinamakan WPSplitter. WPSplitter akan bahagikan fail utama kepada beberapa fail yang bersaiz 1MB setiap satu. Lepas dah siap proses splitting tu, barulah gunakan Tool Import dari Wordpress untuk select fail-fail tadi.

Malangnya, cara split fail WRX tu masih gagal menyelesaikan masalah. Ada la beberapa posting baru berjaya dimasukkan, tapi masih tak dapat copy kesemua content.

Pencarian diteruskan menerusi Google. Last-last jumpa tips dari support forum Wordpress sendiri. Cara terbaik untuk pindahkan content dari satu laman ke laman baru (URL berubah) ialah dengan backup database wordpress asal menggunakan PhpMyAdmin. Aku ikut je steps yang diberikan dari panduan tu untuk create backup fail content blog asal pie2020.

Memandangkan saiz content blog pie nih besar, utiliti import atau restore database dalam PhpMyAdmin tak boleh digunakan. Error request timeout terhasil sebab data besar sangat menyebabkan browser dan application PhpMyAdmin macam idling. Gagal lagi.

Tiba-tiba aku teringat satu aplikasi penyelesaian untuk restore big database – BigDump. BigDump ialah skrip PHP yang akan membantu kita restore fail backup database MySQL yang bersaiz besar. Teknik dia hampir sama macam WPSplitter di mana kandungan fail asal akan dibaca sedikit demi sedikit semasa proses restoration. Dengan cara ni, skrip BigDump akan memastikan masalah resource/server time out kerana lebih masa tidak berlaku.

Cuma, sebelum kita boleh guna skrip BigDump ke atas fail backup database yang kita ada, semua table dalam database yang kita ingin masukkan data-data baru perlu dihapuskan (empty) terlebih dahulu. Dia nak empty tables, baru skrip tu boleh jalan. Takde masalah, since memang aku nak buat fresh restoration, aku guna PhpMyAdmin untuk empty semua table dalam database blog baru tu.

Settle tugas untuk restore kandungan database. Sekarang kena check content dalam blog baru. Bila aku taip URL blog baru, tiba-tiba page kosong je keluar. Emmm.. apa lagi ni. Aku login ke Admin page wordpress dan check ada apa2 lagi yang aku terlupa.

Oh ya, theme directory kena upload ke website baru. Takpun, just install theme yang sama masa kita backup database di blog asal, boleh jugak. Lepas tu kena update “permalink” setting supaya dia reflect all posting dan komen kepada URL website yang baru.

Satu lagi, ada tips suruh tambah 2 line berikut dalam fail wp-config.php untuk pastikan semua directory dan fail akan menggunakan alamat URL baru.

define('WP_SITEURL', 'http://www.example.com');
define('WP_HOME', 'http://www.example.com');

Kalau masih ada masalah ada page atau directory yang masih tak boleh view selepas korang dah update permalinks, dah edit wp-config.php dan sebagainya, cuba guna plugins berikut untuk update automatically semua URL dalam blog baru. Mungkin berjaya.

Ada satu lagi masalah yang aku notice, ada posting-posting yang mempunyai character  kat dalam dia. Nampak serabut jugak. Nak settle masalah ni, just remark (letak //) pada 2 line berikut dalam fail wp-config.php:

// define(’DB_CHARSET’, ‘utf8′);
// define(’DB_COLLATE’, ”);

Dah selesai semua tu, untuk pastikan semua visitor yang masih belum update URL blog yang baru akan ditransfer secara automatik ke laman web baru, kita boleh masukkan parameter berikut dalam fail .htaccess di laman blog lama:

Redirect 301 /blog/ http://www.newdomain.com/

Selesai!

Rujukan (reference):

1) 10 Steps to move your Wordpress to new domain

2) How to migrate a monster blog

3) How to Move Your Wordpress to new domain

4) Backing-up Your Wordpress Database using PhpMyAdmin

5) BigDump – The Staggered MySQL dump Importer

6) How to move  character from your blog

Selamat mencuba!

Let’s SAMBA!

June 16th, 2009 md 2 comments

Ok, ni sambungan dari posting lepas iaitu berkenaan Unison File Synchroniser.

Setelah berjaya untuk “mirror”kan directory di dua server berlainan, sekarang tiba masanya untuk kita benarkan user/client untuk access kepada directory yang telah kita mirror/copy di local server tadi.

Client2 ni biasanya berada dalam network yang sama dengan local server dan pada kebiasaannya juga, mereka menggunakan Microsoft Windows!. Oh ya, lupa nak bagitau, setup Unison yang saya buat ialah menggunakan Linux. Saya skip part nak install unison on Linux.

Kalau guna Ubuntu Linux just taip “sudo apt-get install unison” di shell prompt. Dia akan download dan install program unison secara automatik. Kalau guna Linux Fedora pulak, boleh run “yum install unison”, dia akan buat benda yang sama.

Berbalik kepada tugas kita untuk “share”kan directory yang mengandungi data-data yang di “mirror” dari server utama di Internet tadi. Memandangkan Windows client lebih familiar untuk “map network drive” untuk share directory2 di PC mereka, kita patut buat solution ni macam tu jugak. Jadi tak payah nak train mereka untuk steps2 aneh how to access the share directory.

SAMBA (berasal dari nama Server Message Block/SMB) pada awalnya telah dibangunkan oleh developer dari sebuah universiti di Australia. Namun sekarang ianya disupport oleh developer dari seluruh dunia. Seperti juga Unison, SAMBA boleh didownload secara percuma dari Internet (Google for the link).

Secara ringkasnya, SAMBA berfungsi menyediakan antaramuka (interface) di antara UNIX/Linux platform dengan Windows users menggunakan Server Message Block/SMB approach yang dipelopori oleh Microsoft.

Jadi dalam tugasan kita kali ini, kita perlu install samba (apt-get install samba atau yum instal samba, kalau belum ada di Linux anda) terlebih dahulu. Selepas itu, edit fail /etc/samba/smb.conf untuk menetapkan parameter-parameter asas untuk Samba server anda.

Sila rujuk manual yang diberikan bersama program Samba. Secara umumnya, anda perlu setkan nama workgroup, Interface (eth0/eth1/eth2 dll) yang akan digunakan, IP address yang dibenarkan mengaccess Samba server anda, Authentication method dan juga directory yang ingin anda kongsikan (untuk kes saya, directory yang saya telah “mirror”kan).

Setelah siap fail /etc/samba/smb.conf kita edit. Restart service samba dengan menaip arahan “/etc/init.d/smb restart”. Uji samada Samba server anda beroperasi atau tidak dengan menaip arahan “smbclient -L localhost”. Tekan ENTER bila diminta password. Sepatutnya, anda akan dapat lihat paparan service dan direktori yang dikongsi kepada pengguna oleh server Samba anda.

Selepas itu, bolehlah anda uji untuk “map” network drive Samba server dari Windows client. Caranya mudah saja, katakan IP address server Samba anda ialah 192.168.1.1, di Windows anda, klik START->RUN dan taip arahan berikut dalam kotak RUN. “\\192.168.1.1″ (double backslash diikuti IP address dan tekan ENTER). Sepatutnya, satu pop-up Windows akan dipaparkan untuk anda memasukkan username & password untuk access Samba server tersebut. Jika berjaya, anda akan dapat mencapai kandungan directory yang dimaksudkan.

Confuse?.. biasalah tu.. kena cuba dan cuba lagi sampai berjaya. Kalau lost jugak, mungkin banyak termakan semut kot akhir-akhir ni :D .. rajin-rajinlah tanya “Pakcik Google” :) Selamat mencuba!

Unison File Synchroniser

June 16th, 2009 md 2 comments

Hari ni nak cerita sikit pasal teknikal hehe.. kita selang seli lah, asyik pasal investment saja pun boring jugak kan..

OK, cerita hari ni pasal Unison File Synchroniser. Apa kebenda pulak ni?. Ha.. ini barang sebenarnya program yang boleh digunakan untuk configure mirroring service untuk auto synchronise data-data dalam direktori PC kita. Tapi dalam kes saya, saya perlu synchronisekan (copy data yang sama dari satu direktori ke direktori lain) data dari 2 server yang tidak berada dalam network yang sama.

Data utama ada di server di Internet dan akan berubah setiap 60 saat. Aplikasi yang nak access data tersebut ada dalam Intranet (network di pejabat). Masalahnya, macam mana aplikasi tersebut nak access data yang berada di Internet seolah-olah data tersebut ada di local directory? (dapat diaccess directly macam terus ke hard disk)

Ada few options untuk selesaikan masalah ni:

1) Guna FTP – buat script untuk auto download file2 yang berada di server di Internet secara berkala

2) Guna NFS – set “export” directory data yang akan di “mount” oleh local server

3) Guna rsync – aplikasi yang hampir sama dengan unison (backup & mirroring)

4) Guna unison – file synchroniser service (tak perlu FTP, aplikasi ni akan tau untuk download fail2 yang baru)

Selepas series of trial and error, setakat hari ni, saya pilih Unison berbanding options lain kerana “kesempoi-annya” hehehe.. ditambah pulak, unison boleh digandingkan dengan SSH untuk menjamin keselamatan (secure) hubungan di antara client dan server bila berhubung menerusi Internet.

Yang paling best sekali ialah unison dan SSH ni FREE. Ya betul, percuma saja bang.. tak payah beli pun. Tapi pada yang terkehel-kehel tak tahu nak configure, mungkin boleh upah orang yang tau buat hehehe…

Cuba tengok steps ringkas (ambik dari manual Unison) camne kita boleh synchronise dua directory di server berbeza:

———-

First, test that we can invoke Unison on the server from the client. Typing

        ssh remotehostname unison -version

should print the same version information as running

        unison -version

locally on the client. If remote execution fails, then either something is wrong with your ssh setup (e.g., “permission denied”) or else the search path that’s being used when executing commands on the server doesn’t contain the unison executable (e.g., “command not found”).

Create a test directory a.tmp in your home directory on the client machine.

Test that the local unison client can start and connect to the remote server. Type

          unison -testServer a.tmp ssh://remotehostname/a.tmp

Now cd to your home directory and type:

          unison a.tmp ssh://remotehostname/a.tmp

The result should be that the entire directory a.tmp is propagated from the client to your home directory on the server.

After finishing the first synchronization, change a few files and try synchronizing again. You should see similar results as in the local case.

If your user name on the server is not the same as on the client, you need to specify it on the command line:

          unison a.tmp ssh://username@remotehostname/a.tmp

Kalau nak tau lebih detail, boleh baca dekat sini:

http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html

----------

OK, bab nak mirror directory dah selesai.. Next task ialah menjadikan directory yang berjaya di “mirror” tadi tu dapat diaccess direct dari PC client. Camne nak buat tu?..

OK saya bagi hint dulu, kita boleh guna SAMBA. Apa kebenda pulak SAMBA ni?.. nak menari pulak ke? hehehe.. nanti saya cerita pasal SAMBA pulak, baru lengkap cerita ni..

Selamat mencuba! :)

MySQL – How to Import (dump) big SQL backup file

September 10th, 2008 md No comments

Pernahkah anda ingin membuat salinan kandungan laman blog atau forum anda ke web hosting baru atau laman web mirror (salinan)?. Pernahkah anda menghadapi masalah untuk menyalin kesemua database dari laman utama yang besar menggunakan kemudahan PhpMyAdmin?.

Kali ini, saya ingin kongsikan tips untuk anda Restore backup MySQL database dengan menggunakan BigDump script. Saya perolehi panduan ini hasil pembacaan dari Internet. Tips ini mungkin berguna jika anda melanggan perkhidmatan webhosting dengan aplikasi cPanel dan PhpMyAdmin untuk mentadbir laman web anda.

Senarionya ialah, anda telahpun membuat backup database aplikasi anda seperti Forum atau Blog, sekarang anda ingin menggunakan PhpMyAdmin untuk “restore” kembali fail backup tersebut (mungkin ke laman lain atau setelah ada masalah database corrupt), tetapi ianya gagal!.

Biasanya masalah akan timbul untuk restore database yang besar saiznya. Puncanya, kekurangan memory yang diperuntukkan kepada PhpMyAdmin untuk melakukan operasi membaca setiap baris “query” dan “insert” daripada fail SQL yang besar.

Read more…

How to Repair MySQL table using PhpMyAdmin?

September 4th, 2008 md No comments

Dapat SMS pagi-pagi lagi, “Salam, forum ERU crash” – ringkas tapi padat!.

Masa dapat mesej tu masih dalam perjalanan ke office. Jadi tak boleh nak balas untuk beri feedback sebab tak tau situasi sebenar. Sampai je kat office, satu lagi masalah timbul, cPanel webhosting tak boleh dicapai dari belakang firewall. Sebab cPanel guna unprivillege port, bukan standard port 80 untuk website biasa.

Puas fikir macam mana nak access cPanel. Mula-mula cuba access dari Free web proxy di Internet. Tak boleh. Guna pulak tunnelling application (Freegate). Tak boleh. Last-last baru perasan, cPanel boleh access guna virtual server. Cuma perlu add satu record dalam DNS setting untuk IP address virtual server tersebut.

Read more…

Unix – How to remove control ^M character in text file

August 27th, 2008 md No comments

OK, kalau anda yang guna Unix, tips ni saya harap dapat membantu. Pernah tak anda dapati text file yang anda FTP dari Windows/DOS ke server Unix mempunyai banyak ^M character dihujung setiap baris?

Ini adalah disebabkan format fail DOS/Windows telah menambah aksara berkenaan. Apabila kita FTP/upload fail teks berkenaan (contoh skrip PHP) dan terus cuba untuk “execute” skrip berkenaan, kadangkala ralat akan diberikan oleh pelayan web.

Read more…