Uneg - Uneg Ku…

May 2, 2006

Multihoming…?

Filed under: Networking

ADSL………………………………DEDICATED
…..|…………………………………..|
——-eth0— ROUTER —eth1——-
……………………..|
——————– | ——————– NAT
………………….. eth2
……………………..|
………………..CLIENT

Dari bagan tersebut aku ada sedikit masalah tentang routing IP publik untuk mesin router. Pada mesin router rencanya aku tancepin 2 ISP, Untuk eth0 aku tancepin ke ADSL, eth1 aku tancepin ke DEDICATED sedangkan eth2 aku tancepin ke HUB clien dengan sistem NAT. Nah… yang jadi masalah untuk masing masing IP publik dari ADSL dan DEDICATED kan perlu routing default, sekarang pertanyaaku bisa nggak dalam satu PC ada 2 ruting default. soale kalo terhubung ke internet kan berarti tujuan destinationnya routingnya 0.0.0.0/0

May 1, 2006

TCP COMPRESS

Filed under: Networking

TCP COMPRESS…???.
Ehmm… dulu sewaktu kita menggunakan disket, kita sering mendengar yang namanya compress file yang bertujuan untuk memampatkan ukuran file yang akan di simpan. TCP COMPRESS mirip dengan pengkompresan yang terjadi pada file diatas. namun kalo tcp kompres memampatkan ukuran file yang akan dilewatkan kedalam sebuah jaringan TCP/IP. Semisal saya mempunyai koneksi dengan bandwith 64 KBit, maka transfer maksimum kira-kira sebesar 7K/s. Ehm… dengan bandwith sebesar itu sebenarnya udah cukup sih… kalo buat sendiri, apalagi kalo di buat nyalurin hoby saya ( Chating & Browsing). Tapi kadang terasa menjengkelkan juga kalo butuh waktu yang cepat untuk mendowload file dari internet dengan koneksi 64 KBit. Aku kadang berpikir bisa nggak ya…? dengan bandwith kecil tapi koneksi lebih cepet dikit deh… mana mungkin…?. Tapi setelah mengetahui cara kerja SSH, hal itu dapat di wujudkan dan bukan sekedar impian lagi he… he… he…
Selama ini sih… yang aku tahu tentang SSH hanya semacam program remote aja, seperti telnet. Tapi ternyata SSH di sisi lain dapat digunakan sebagai senjata sakti untuk meningkatkan akses koneksi internet kita dengan cara memampatkan file yang akan dilewat kan melalui TCP/IP. Rekan-rekan mau tahu cara nya nih…? Dengan menggunakan metode Algoritma pengkompresan LempleZiv (LZ77), maka file yang akan di lewatkan melalui protocol TCP/IP akan di mampatkan hampir sekelas dengan winzip/pkzip. Gampang kok, Cuma butuh satu baris untuk menjalankannya. Wah ternyata aku udah kebnyakan ngomong nih… padahal Cuma untuk nerangi sebaris peritah aja. Oh ya… satu yang paling penting, waktu kompile SSH jangan di aktifakan proses encrypt nya soalnya itu akan memakan waktu proses CPU untuk menangani proses encrypt dan decrypt dari file yang akan dikirimkan. Agar proses tersebut tidak terjadi maka waktu kopile kasih option “–with-none”

[root@linuxer root]#ssh -l -C -L8080:
:80 -f sleep 10000

= Host dari ISP, Dibutuhkan akses SSH.
= Login Kita ke ISP.

= Proxy web dari ISP.

[root@linuxer root]#ssh -l johan linuxer -C -L8080:ntt.net:80 -f sleep 10000

Oh…ya Untuk Browser kesayanganku (firefox) aku seting proxynya localhost:8080. untuk struktur nya bisa di lihat di bagan berikut deh. Lumayan deh.. setelah setting kayak gitu bisa meningkatkan akses internet kita yang tadinya 7K/s menjadi 30K/s waktu lihat transfer rate di firefox ku.

64KBit ISDN
My PC———————————–A PC (Unix/Linux/Win-NT) at my ISP
SSH-Client compressed SSH-Server, Port 22
Port 8080 |
| |
| |
| |
|10MBit Ethernet |100MBit
|not compressed |not compressed
| |
| |
My second PC ISP’s WWW-proxy
with Netscape,… Port 80
(Laptop)

Ehmmm sory kalo tulisanku jelek… cos aku nulis sewaktu aku gantuk berat nih…, kapan-kapan kita sambung dengan cara kompres email melalui prtokol TCP/IP.
Kalo kurang jelas… ikuti tip berikut ini.
1. Pada console linux [root@linuxer root]#man ssh
2. Tanya pada Paman Google atau Bibi Yahoo dengan kata kunci TCP COMPRESS

Installasi Replikasi Mysql

Filed under: Networking

Tulisan ini aku khususkan buat temenku kuliah yang bernama ipunk…

Replikasi Mysql…?, mungkin bagi temenku yang satu ini en yang baru denger kata Replikasi Mysql kelihatan angker ya… Sepengetahuan saya replikasi mysql adalah proses penduplikasian atau pengkopian database dari database server satu kedatabse server lainnya, atau yang lebih kerennya sering diartikan sebagai proses penduplikasian database dari database master ke database slave yang berjalan secara otomatis. Ehm… sory aku gak bisa cerita panjang lebar dalam tulisan kali ini, soalnya kasihan tuh… udah ada yang gak sabar untuk mulai proses instalasi replikasi MySQL. Ya udah langsung aja ya….

Langkah install MySQL cara 1:

Yang jelas pada langkah awal ini kamu harus punya source nya punk, jangan install pake RPM ya… cos waktu aku dulu belajar pake rpm ditertawai, soale anak TK aja bisa he he he. Kalo kita install pake sourceball kelihatan kayak hacker deh…
Kalo kamu belum punya file mysql coba download di situs :

http://dev.mysql.com/downloads/

Buat group baru dengan nama myql, dan memasukkan user mysql ke dalam group tersebut.
[root@linuxer johan]#groupadd mysql
[root@linuxer johan]#useradd –g mysql mysql

perintah groupadd en useradd biasnya ada di directory /usr/sbin atau kalo nggak ketemu kamu cari dulu letak directory groupadd / useradd dengan cara

[root@linuxer johan]#locate groupadd

tapi kalo kamu nggak kepingin repot kamu ubah dulu model consolmu dengan cara berikut

[root@linuxer johan]#tcsh

dengan cara ini kamu langsung bisa mengetikkan perintah diatas tanpa harus masuk kedalam directory letak groupadd / useradd.

Masuk kedalam directory dimana source mysql diletakkan, kemudian uncompress dan untar file tersebut dengan memberikan perintah berikut.

[root@linuxer johan]#cd /usr/local/src
[root@linuxer src]#tar –xvzf mysql-4.0.17.tar.gz

Hasil perintah diatas akan membentuk sebuah directory dengan nama mysql-4.0.17. Berikutnya masuk ke direktori yang telah terbentuk tersebut dan lakukan konfigurasi modul sesuai dengan keinginan.

[root@linuxer src]#cd mysql-4.0.17
[root@linuxer mysql-4.0.17]#./configure –prefix=/usr/local/mysql

perintah diatas akan meletakkan data database secara otomatis pada direktori /usr/local/var. jika ingin meletakkan data database pada direktori yang lainnya dan jika computer yang digunakan memiliki memori terbatas, maka pada waktu konfigurasi dapat diberikan perintah seperti berikut.

[root@linuxer mysql-4.0.17]#./configure –prefix=/usr/local/mysql
–with-low-memory –localstate=/usr/local/data/database

Setelah melakukan konfigurasi, akan dihasilkan file-file makefile yang diperlukan untuk langkah kompilasi.

[root@linuxer mysql-4.0.17]#make
[root@linuxer mysql-4.0.17]#make install

Setelah proses instalasi dari source kode selesai dilakukan, untuk dapat menggunakan MySQL server perlu dilakukan beberapa konfigurasi penting. Berikut langkah-langkah yang digunakan dalam konfigurasi tersebut.

Masuk kedirektori script untuk membuat dan mengaktifkan table user. Langkah ini dilakukan dengan catatan belum pernah instalasi MySQL server sebelumnya.

[root@linuxer mysql-4.0.17]#cd scripts
[root@linuxer mysql-4.0.17]#./mysql_install_db

Kemudian yang harus dilakukan adalah mengubah ijin kepemilikan user dengan memberikan perintah berikut secara berturut-turut.

[root@linuxer mysql-4.0.17]#chown –R root /usr/local/mysql
[root@linuxer mysql-4.0.17]#chown –R mysql /usr/local/mysql/var
[root@linuxer mysql-4.0.17]#chgrp –R mysql /usr/local/mysql

PENTING BANGET…!!!
Copy file my-medium.cnf dari directory support-file ke direktori /etc, dan ubah namanya menjadi my.cnf
Agar file konfigurasi ini dapat diakses oleh daemon, ubah permisinya menjadi milik group mysql.

[root@linuxer mysql-4.0.17]#chgrp mysql /etc/my.cnf

Langkah terakhir dalam konfigurasi ini dalah melakukan inisialisasi serta pengujian distribusi dengan perintah berikut.

[root@linuxer mysql-4.0.17]#/usr/local/mysql/bin/mysqld_safe –user mysql&

Apabila mendapatkan pesan error setelah menjalankan perintah diatas, buka file /usr/localmysql/var/localhost.localhostdomain.err untuk mengetahui informasi lebih lanjut tentang kesalahan yang terjadi. Ehm… gampang kan punk… perasaan gak ada yang sulit deh. Proses diatas mungkin membutuhkan waktu beberapa menit dalam proses intalasi karena memakai psoses kompilasi, namu kalo ipunk nggak mau lama bisa pake cara yang kedua, cara nya sebagai berikut :

Langkah Install Mysql cara ke 2:

Masuk kedalam directory dimana source mysql diletakkan, kemudian uncompress dan untar file tersebut dengan memberikan perintah berikut.

[root@linuxer johan]#cd /usr/local/src
[root@linuxer src]#tar –xvzf mysql-4.0.17.tar.gz

Terus Ketikan perintah” dibawah ini punk…

[root@linuxer src]#mv mysql-4.0.17 /usr/local/mysql
[root@linuxer src]#cd /usr/local/mysql
[root@linuxer mysql]#groupadd mysql
[root@linuxer mysql]#useradd -g mysql mysql
[root@linuxer mysql]#scripts/mysql_install_db –user=mysql
[root@linuxer mysql]#chown -R root .
[root@linuxer mysql]#chown -R mysql data
[root@linuxer mysql]#chgrp -R mysql .

Untuk memastikan daemon mysql udah jalan apa belum, ipunk bisa kasih perintah sepri dibawah.

[root@linuxer mysql]#ps –ax | grep mysql

nanti akan terlihat proses daemon mysql.

Instalasi Apache Web server

Instalasi paket aplikasi dari source code memerlukan beberapa persiapan yang harus diperhatikan. Setidaknya harus ada program yang digunakan untuk proses kompilasi Apache, seperti C/C++ dan file pendukung lainnya. Hal penting yang perlu diketahui dalam instalasi source code adalah penggunaan option-option pada saat tahap konfigurasi. Selanjutnya untuk langkah-langkah instalasi source kode yang diperlukan adalah seperti berikut :
- Terlebih dahulu meletakkan file source code Apache pada directory penyimpanan sementara, misalnya di /usr/local/src.
- Selanjutnya masuk kedalam direktori penyimpanan source code dan ekstrak paket instalasi apache.

[root@linuxer src]# cd /usr/local/src
[root@linuxer src]# tar –xvzf httpd-2.0.54.tar.gz

Hasil ekstrak diatas akan menghasilkan sebuah directory baru bernama httpd-2.0.54. Untuk melakukan langkah selanjutnya, terlebih dahulu harus masuk ke dalam direktori tersebut.

[root@linuxer src]# cd httpd-2.0.54

Berikutnya melakukan proses konfigurasi dengan memberikan perintah ./configure. perintah ./configure dapat di ikuti oleh beberapa option.

[root@linuxer httpd-2.0.54]# ./configure –prefix=/usr/local/apache2 –enable-so –enable-auth-digest

Option diatas berfungsi untuk mengaktifkan dukungan terhadap Dynamic Shared Object (DSO). Option ini sangat diperlukan jika nantinya ingin menggunakan PHP pada Apache web server. Untuk mengetahui option-option lainnya yang tersedia, dapat diberikan perintah ./configure –help

Langkah selanjutnya melakukan kompilasi paket instalasi. Proses ini memerlukan waktu yang cukup lama namun bergantung pada spesifikasi komputer yang digunakan.

[root@linuxer httpd-2.0.54]# make

Langkah terakhir melakukan proses kompilasi sesungguhnya sekaligus mengkopi file-file instalasi yang diperlukan ke directory /usr/local/apache2

[root@linuxer httpd-2.0.54]# make install

Setelah proses instalasi selesai, pada direktori /usr/local akan di tambahkan sebuah direktori baru bernama apache2. Di sinilah dapat di temukan file-file penting Apache Web server, seperti file konfigurasi, daemon apache, serta file-file lain yang diperlukan.

Kompilasi modul PHP dan MySQL

Apache memiliki banyak dukungan terhadap modul-modul lain, baik itu secara built-in maupun terpisah. Selain itu juga tersedia dalam bentuk shared object (so) maupun dynamic shared object (dso). Dalam instalasi ini php yang digunakan adalah versi php-4.3.10.tar.bz2 . Berikut tahap kompilasi php dan mysql :

Letakkan file php-4.3.10.tar.bz2 pada directori penyimpanan sementara, misalnya /usr/local/src. Kemudian lanjutkan dengan memberikan perintah untuk mengekstrak file tersebut.

[root@linuxer src]# tar -jxvf php-4.3.10.tar.bz2

Seperti pada paket-paket instalasi sebelumnya, masuk ke direktori php-4.1.2 dan lakukan konfigurasi dengan menambahkan beberapa option yang diperlukan.

[root@linuxer php-4.3.10]# cd /usr/local/src/ php-4.3.10
[root@linuxer php-4.3.10]# ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql –enable-track-vars –with-gettext –with-config-file-path=/usr/local/apache2/conf –enable-trans-id

Perintah berikutnya digunakan dalam proses kompilasi, yang sekaligus meletakkan file-file penting ke dalam direktori yang telah ditentukan.

[root@linuxer php-4.3.10]#make
[root@linuxer php-4.3.10]#make install

Copy file php.ini-dist ke dalam direktori /usr/local/lib dan ubah namanya menjadi php.ini

[root@linuxer php-4.3.10]#cp php.ini-dist /usr/local/apache2/conf/php.ini

Berikutnya adalah memodifikasi file php.ini. Untuk itu buka file php.ini menggunakan teks editor kemudian ubah pada bagian berikut.
register_globals = off menjadi register_globals = on

Langkah selanjutnya agar apache dapat mengakses modul PHP, buka file konfigurasi /usr/local/apache2/conf/httpd.conf kemudian ubah serta tambahkan baris-baris berikut.

LoadModule php4_module modules/libphp4.so
DirectoryIndex index.html index.htm index.php
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps

Ehm…Sekarang waktu menjalankan Apache Web Server dengan dukungan database MySQL server.

Ehmmm… buat file test.php punk untuk menguji modul php yang kita masukkan ke dalam apache berhasil apa nggak.

[root@linuxer local]#cd /usr/local/apache2/htdocs
[root@linuxer local]#vi test.php
kemudian isikan baris berikut

< ?php
phpinfo();
?>

Nah gampang kan… kalo kita optimis bisa… pasti bisa punk… semangat…!!!, sekarang kita tinggal menjalankan mysql dan apache, untuk menjalankannya dapat diberikan perintah sebagai berikut

[root@linuxer local]#/usr/local/mysql/bin/mysqld_safe — user=mysql &
[root@linuxer local]#/usr/local/apache2/bin/apachectl start

NB : tanda “\” diatas artinya, itu diketik terus aja ya… soalnya gak cukup tuh… seperti contoh dibawah.
[root@linuxer mysql]#/usr/local/mysql/bin/mysqld_safe — user=mysql &

Oh…ya ngomong-ngomong udah dijalanin belum MySQL nya… kalo udah kita tinggal mulai konfigurasi replikasi MySQL. Ayo… semangat punk…
Pertama…kamu harus masuk ke dalam directory mysql dulu punk.

[root@linuxer src]#cd /usr/local/mysql

Jalanin mysql nya punk… udah bisa jalanin mysql kan… itu lo.. perintahnya kayak gini

[root@linuxer mysql]#/usr/local/mysql/bin/mysqld_safe –user mysql&

Kalo MySQL udah jalan, saatnya nih… kita berpetualang dengan MySQL. Jalankan mysql client dengan cara sebagai berikut

[root@linuxer mysql]#/usr/local/mysql/bin/mysql mysql
maka akan muncul
mysql> —nah ini yang dinamakan area MySQL–
Untuk perintah diatas belum ada passwordnya punk… kalo u mau pake password u bisa baca-baca buku mysql deh…

Setelah perintah diatas dijalankan, maka kamu akan masuk kelingkungan kerja mysql. Nah sebelum menginjakkan kaki kamu di seluk belukar MySQL. Lebih baik kamu seting dulu deh komputermu, mana yang akan kamu jadikan database master dan database save.
Missal :
Untuk master kamu seting IP nya 192.168.1.1 dengan netmask 255.255.255.240
Untuk slave kamu seting IP nya 192.168.1.2 dengan netmask 255.255.255.240

Ok… kamu udah seting komputermu master dan slave. Didalam area kerja mysql server master, kamu ketikkan perinta berikut:

mysql>GRANT REPLICATION SLAVE ON *.* TO repl@192.168.1.2 IDENTIFIED BY ’slavepass’;

Kalo veri MySQL yang kamu install lebih tua dari versi 4.0.2, kamu ketikkan perintah berikut:
mysql>GRANT FILE ON *.* TO repl@192.168.1.2 IDENTIFIED BY ‘replpass’;
Untuk mengecek ketikkan perintah berikut :
mysql> SHOW GRANTS FOR repl;

Account diatas diperlukan oleh thread replikasi slave untuk membuat koneksi ke mesin master. Thread replikasi slave bekerja berdasarkan update log biner pada master, sehingga update log biner ini harus diaktifkan pada master dengan menambahkan baris berikut pada my.cnf (biasnya ada di directory /etc/my.cnf atau di directory /usr/local/mysql/etc/my.cnf kalo gak ada kamu cari dengan perintah locate my.cnf) master:

[root@linuxer etc]#vi my.cnf
kemudian isi dengan baris berikut
[mysqld]
log-bin
server-id = 1

Kamu ngerti nggak maksud dari baris diatas… kalo gak ngerti gini lo.. maksudku, Baris log-bin mengaktifkan update log biner, dan server-id adalah nomor unik yang digunakan untuk membedakan antara master, slave pertama, kedua, dan berikutnya.

Selanjutnya kita perlu membuat duplikat database yang mau direplikasi dari master ke slave—istilah orang pintar: mengambil snapshot database. Tidak boleh ada operasi penulisan pada database ketika snapshot database tersebut sedang diambil. Maka dari itu biasanya MySQL master (Hanya service MySQL nya aja punk !!!) di-shutdown menjelang pengambilan snapshot. Cara yang sederhana untuk mengambil snapshot adalah menggunakan tar dan mengupload arsip tar yang dihasilkan ke mesin slave. Namun cara ini bermasalah jika ukuran database master sangat besar, karena dengan demikian waktu yang diperlukan menjadi sangat lama, yang berarti downtime yang sangat lama. Jika hal ini tidak dapat diterima, maka diperlukan cara lain untuk






















Get free blog up and running in minutes with Blogsome
Theme designed by Minz Meyer