Sabtu, 29 Agustus 2009

Update Centos 5.3 ke Centos 5.4 dengan Menggunakan bonus DVD Centos 5.4 dari majalah Info Linux

langkah :
1. masukkan DVD Centos 5.4 ke DVD ROM/RW
2. buat direktori baru dengan nama adenuxer di bawah direktori mnt
# mkdir -p /mnt/adenuxer
3. mounting DVD atau 5.4 ke /mnt/adenuxer
# mount -o loop /dev/dvdrw /mnt/adenuxer

4. edit file di /etc/yum.conf
# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1 ==> ubah gpgcheck=1 menjadi gpgcheck=0
plugins=1

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

# Default.
# installonly_limit = 3

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

5. edit 2 file didalam /etc/yum.repos.d/
a. nonaktifkan CentOS-Base.repo dengan cara :
# mv CentOS-Base.repo CentOS-Base.repo.bak

b. lakukan edit ulang didalam file CentOS-Media.repo
# vi CentOS-Media.repo

# CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
# CentOS-5. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c5-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c5-media [command]

[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/adenuxer ==> sesuaikan dengan posisi mounting saat melakukan langkah ke-3
# file:///media/cdrom/ ==> nonaktifkan
# file:///media/cdrecorder/ ==> nonaktifkan
gpgcheck=0
enabled=0 ==> rubah enabled=0 menjadi enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
6. simpan file konfigurasi tersebut diatas dengan menekan :x atau :wq

7. lakukan perintah berikut
# yum -y check-update

# yum -y update

8. oke selamat mencoba

Minggu, 18 Januari 2009



HTTP Web Server Pada Gnu/Linux





Apache HTTP Server adalah sebuah aplikasi web server yang bersifat opensource dan memiliki performa dan security yang cukup baik yang dikembangkan oleh Apache Software Foundation (http://www.apache.org). Sebagian besar web server di internet saat ini menggunakan apache sebagai aplikasi web servernya, hal ini berdasarkan survay pada www.netcraft.com hampir 70% web server di dunia(internet) menggunakan Apache HTTP Server. Sebagian besar distribusi linux menyertakan apache sebagai default aplikasi web server.

Instalasi Apache
Untuk memastikan apakah apache anda sudah terinstall apa belum di distro linux kesayangan anda, maka cek terlebih dahulu dengan perintah berikut ini :

1. Untuk distro Centos 5.2
maka perintahnya :

#rpm -qa | grep httpd
httpd-devel-2.2.3-11.el5_2.centos.4
httpd-2.2.3-11.el5_2.centos.4
httpd-manual-2.2.3-11.el5_2.centos.4

Jika dari perintah tersebut menghasilkan output seperti yang diatas maka apache anda sudah terinstall
tapi jika tidak menghasilkan output seperti yang diatas maka di pastikan apache anda belum terinstall.
Adapun perintah untuk menginstall apache seperti berikut :

a. Jika komputer anda terkoneksi dengan internet maka perintahnya adalah :

# yum -y install httpd

b. Tapi jika komputer anda tidak terkoneksi dengan internet maka perintahnya :

rpm -ivh namapaket-apache

contoh :
# rpm -ivh httpd-x-x.x.i386.rpm

note : x-x.x. Maksudnya adalah versi dari httpd itu sendiri.

2. Untuk distro Debian Lenny
maka perintahnya :

# dpkg -l apache2

Name Version Description
=======================================================
apache2 2.2.9.-10 Apache HTTP Server metapackage

Jika dari perintah tersebut menghasilkan output seperti yang diatas maka apache anda sudah terinstall
tapi jika tidak menghasilkan output seperti yang diatas maka di pastikan apache anda belum terinstall.
Adapun perintah untuk menginstall apache seperti berikut :

a. Jika komputer anda terkoneksi dengan internet maka perintahnya adalah :

# aptitude-y install apache2

b. Tapi jika komputer anda tidak terkoneksi dengan internet maka perintahnya :
rpm -ivh namapaket-apache
contoh :

# dpkg -ivh apache2-x-x.x.i386.rpm
note : x-x.x. Maksudnya adalah versi dari apache2 itu sendiri.

Setelah terinstall, apache secara default telah membuatkan file konfigurasi default yang sudah dapat di gunakan, file konfigurasi tersebut terletak di /etc/httpd/conf/httpd.conf (untuk Centos 5.2) sedangkan untuk Debian Lenny konfigurasinya berada di /etc/apache2/site-available. Untuk itu anda dapat mengaktifkan apache web server dengan perintah sbb :

1. Untuk Centos 5.2

# service httpd restart
atau
# /etc/init.d/httpd restart

2. Untuk Debian Lenny

# /etc/init.d/apache2 restart

Selanjutnya Anda dapat memastikan apakah service web benar-benar sudah bejalan, gunakanlah perintah berikut :

# netstat -tanp | grep :80
tcp 0 0 0.0.0:80 0.0.0.0:* LISTEN 2076/httpd

jika perintah “nststat -tanp | grep :80” tersebut ada output seperti diatas maka web server sudah jalan dan siap menerima request dari client. Silahkan gunakanlah web browser anda (misal mozilla) lalau ketiklah pada bar address http://localhost. Maka akan muncul welcome page.

Konfigurasi Apache
Sebagaimana telah disebutkan sebelumnya bahwa dengan default konfigurasi Apache web server sudah berfungsi, dan jika diperlukan konfigurasi ulang, anda cukup mengedit file konfigurasi apache yaitu file /et/httpd/conf/httpd.conf (Untuk distro Centos 5.2) dan file /etc/apache2/site-available (Untuk distro Debian Lenny). Untuk itu anda harus memahami terlebih dahulu beberapa parameter(directive) konfigurasi apache yang penting dan umum. File konfigurasi apache biasanya di dalamnya menyertakan guide atau keterangan yang menjelaskan fungdi dari masing-masing parameter yang ada pada file konfigurasi apache.

Global Environment :

Server Type
Apache bisa dijalankan dengan dua cara, yaitu sebagai server yang berjalan sendiri atau dijalankan oleh program lain, yang sering disebut dengan super user server. Nilai yang mungkin untuk direktif ini adalah inetd dan standalone.

Server Root

Direktif ini dipakai untuk menentukan top level direktori tree dari file-file konfigurasi, log, dan error log.

PidFile
Untuk menentukan file yang di pakai untuk menyimpan proses ID dari server induk.

TimeOut
Waktu tunggu maksimal dalam detik yang diperbolehkan, baik untuk mengirim atau menerima permintaan ke server.

KeepAlive, MaxKeepAliveRequests, dan KeepAliveTimeOut

Ketiga direktif ini berhubungan dengan “persistent connections”. Jika KeepAlive bernilai On maka server memberi kesempatan untuk menjaga presistensi koneksi dari client ke server. Nilai lain yang mungkin untuk direktif ini adalah Off. Yang dimaksud dengan presistensi adalah Client yang sama akan dilayani oleh proses anak yang sama dari Apache Server. Jadi disini ada mekanisme mengingat koneksi.

MaxKeepAliveRequest menentukan jumlah koneksi maksimum yang diperbolehkan saat terjadi koneksi persisten. Anda bisa memberikan nilai 0 agar jumlah koneksi tidak dibatasi. Waktu tunggu maksimum sebuah koneksi masih bisa dilayani dengan cara koneksi persisten. Satuannya adalah detik.

MinSpareServers, MaxSpareServers, dan StartsServers
Saat pertama server dijalankan proses induk akan membuat proses anak sebanyak yang disebutkan dalam direktif StartServers. Proses anak akan terus diawasi agar tidak kurang dari MinSpareServers dan tidak lebih dari MaxSpareServers.

MaxClients

Membatasi jumlah clients yang dilayani secara bersamaan.

MaxRequestPerChild
Setiap proses anak diperbolehkan melayani paling banyak sejumlah MaxRequestPerChild sebelum mati. Sebagai catatan, dalam proses koneksi persisten dianggap satu koneksi. Nilai 0 dipakai untuk mewakili jumlah tak terbatas.

Listen dan Bind Address
Akan menentukan dimana server Apache melayani permintaan. Contoh :
Listen 8080
Listen 192.168.0.121:80
Artinya apache akan melayani permintaan dari port 8080 dan dari nomor IP 192.168.0.121 pada port 80. Direktif ini sangat bermanfaat untuk membuat virtual host bila server Anda mempunyai beberapa nomor IP yang bisa dipakai.
Bind Address berfungsi sama dengan Listen akan tetapi disini hanya bisa dipakai nomor IP dan nama host saja.

Direktif Main Server :

User dan Group
User dan group yang akan dipakai untuk menjalankan server Apache.

ServerAdmin dan ServerName
ServerAdmin berisi alamat email dari administrator web server. Sedangkan ServerName berisi menentukan nama host dari server utama.
Contoh :
ServerAdmin root@your-server.com
ServerName www.your-server.com

DocumentRoot

Root direktori dari dokumen-dokumen html. Contoh :
DocumentRoot “var/www/html”
Jika kita mengakses url http://www.your-server.com/utama.html, sama dengan mengakses file /var/www/html/utama.html.

Berikut ini adalah contoh konfigurasi Apache HTTP Server di lingkungan Linux :

1. Untuk Keluarga Debian (Debian Lenny)
sekenario disini adalah kita akan membuat webserver lokal dengan nama direktory yang akan muncul di web browser(mozila firefox) bernama “download”.Penulis menganggap konfigurasi DNS SERVER,setingan Ip address beserta nameserver yg ada di /etc/resolve.conf sudah dalam keadaan terkonfigurasi dengan baik. Occe mulai aja dech kita ikutin langkah demi langkah cara konfigurasinya :

a. membuat direktori download dibawah direktori /home/vhost/enuxer.oke/www/download, ketik perintah dibawah ini pada consol atau terminal :
# mkdir /home/vhost/enuxer.oke/www/download

note : enuxer.oke merupakan sebuah nama domain pada DNS server, oleh sebab itu sebelum mengkonfigurasi sebuah apache http server sebaiknya membuat DNS server terlebih dahulu. Tujuanya adalah untuk mempermudah dalam mengonfigurasi apache dan memperkecil potensi error.

b. buat direktori yang bernama “log” dibawah direktori /home/vhost/enuxer.oke/log. Tujuan dari pembuatan direktori “log” ini adalah untuk melihat pesan kesalahan saat terjadi error ketika mengkofigurasi apache http server yang berada pada sebuah file yang bernama error_log dan access_log. Kemudian chmod 755 direktori /home/vhost/enuxer.oke/log. Tujuan dari chmod 755 adalah agar si derektori “log” bisa menulis file yang bernama error_log dan access_log secara otomatis. Untuk mudahnya ketiklah perintah berikut ini pada consol atau terminal :

# mkdir -p /home/vhost/enuxer.oke/log
# chmod 755 /home/vhost/enuxer.oke/log

c. isi skrip dibawah ini pada direktori /etc/apache2/sites-enabled/enuxer.oke

# vi /etc/apache2/site-enabled/enuxer.oke

NameVirtualHost *:80

ServerName www.enuxer.oke
ServerAdmin webmaster@enuxer.oke
DocumentRoot "/home/vhost/enuxer.oke/www"

Options Indexes MultiViews FollowSymlinks
AllowOverride none
Order deny,allow
Allow from all

ErrorLog /home/vhost/enuxer.oke/log/error_log
TransferLog /home/vhost/enuxer.oke/log/access_log


# jangan lupa setelah anda selasai mengetikan perintah diatas simpan dengan perintah :x

d. langkah selanjutnya adalah merestart service apache http server anda, tapi sebelumnya jalankan service a2ensite, jangan lupa pula untuk mengaktifkan service bind (DNS server) anda. Ketiklah perintah dibawah ini pada consol atau terminal :

# a2ensite enuxer.oke
# /etc/init.d/apache2 restart
# /etc/init.d/bind9 restart

e. Bukalah Web Browser (mozila firefox) anda, lalu ketikan http://enuxer.oke maka akan muncul tampilan web server local seperti pada gambar di bawah ini :

Sabtu, 17 Januari 2009



Shell Scripting Pada GNU/Linux





Apa itu shell?? shell adalah program penerjemah perintah yang menjembatani user dengan sistem operasi atau suatu environment yang disediakan untuk user berinteraksi dengan sistem komputer. Shell juga merupakan bahasa pemrograman interpreter yang mengeksekusi perintah-perintah yang dibaca dari perangkat standart input (keyboard) atau file. Kemudian pengertian shell scripting itu sendiri apa seach??? shell scripting itu sendiri adalah sekumpulan perintah(command) yang ditulis dalam sebuah plain text file.
Kegunaan shell scripting bagi seorang network administrator yaitu untuk mengotomatisasi pengaturan backup data, monitoring network LAN, bandwith management dll.
Pada sistem operasi Linux terdapat berbagai macam shell yang digunakan, diantaranya
a) Bourne Shell (/bin/sh)
b) Bourne Again Shell (bin/bash)
c) C shell (/bin/csh)
d) Tenex C Shell (/bin/tcsh)
e) Tcl Shell (/bin/tclsh)
f) Korn Shell (shell /bin/ksh)
g) Public Domain Korn Shell (/bin/pdksh)
h) A Shell (/bin/ash)
i) Z Shell (/bin/zsh)

Bagaimana menjalankan shell script di linux???
Ada dua cara untuk menjalankan shell script yaitu :
a. Diawali oleh interpreter
contoh : #bash latih1.sh
dengan contoh perintah diatas, pengguna dapat langsung menjalankan programnya tanpa harus menjadikannya sebagai file executable. Hal itu karena file program akan dianggap sebagai input dari perintah bash.
b. Dijalankan langsung
contoh : #./latih2.sh
tanda titik slah (./) diawal perintah menandakan bahwa file tersebut terletak pada direktori aktif.

Berikut ini contoh-contoh soal script sederhana yg pernah penulis kerjakan saat mengikuti pendidikan singkat di lembaga pendidikan komputer di LP3T-NF Bekasi dengan menthor uda z3r0byt3.

contoh 1:
Membuat program sederhana dengan hasil output seperti dibawah ini :
Masukkan Pilihan Anda
1) Input Data
2) Baca Data
3) Keluar

Jika memilih nomor 1
Masukkan nama :
Masukkan email :
Masukkan website :

Jika memilih nomor 2 tampilkan hasil input nomor 1
Jika memilih nomor 3 keluar dari script
jika memilih selain ketiganya, tampilkan pesan kesalahan dan kembali ke menu (tidak exit)

usahakan sebelum menjawab soal diatas jangan terlalu memikirkan bagaimana membuat sintaks programnya, tapi yang perlu diperhatikan adalah bagaimana membuat algoritma program tersebut, sehingga program tersebut bisa di eksekusi oleh perintah-perintah yang dibaca dari perangkat standart input (keyboard) atau file. Kemudian Ingat “lebih baik salah sintaks dari pada salah algoritma di program”.
Dibawah ini adalah hasil algoritma program yang penulis kerjakan untuk contoh soal pertama:
ketik di consol atau terminal
#vi study.sh tekan enter,lalu isi script sederhana dibawah ini
=============================================================
#!/bin/bash
pil()
{
echo “masukkan pilihan anda”
echo “1) Input Data”
echo “2) Baca Data”
echo “3) Keluar”
echo -n “anda memilih nomor : “
read pilihan
case $pilihan in
1) masukkan;;
2) baca;;
3) exit;;
*) echo “Pilihan salah, Silahkan Pilih Lagi” ; pil
esac
}
masukkan () {
echo -n “masukkan nama : “ ; read nama
echo -n “masukkan email : “ ; read email
echo -n “masukkan website : “ ; read website
pil
}
baca ()
{
echo “****************************”
echo “nama : $nama”
echo “email : $email”
echo “website : $website”
echo “****************************”
pil
}
pil
exit 0
#setelah selesai jangan lupa disimpan dengan menekan :x pd keyboard
=============================================================
Kemudian eksekusi(jalankan) script yang telah anda buat diatas dengan perintah sh nama_script.sh pada consol atau terminal
#sh study.sh

contoh 2 :
Buat script sedrhana untuk mengkonfigurasikan alamat IP address, Netmask, alamat gateway dan alamat name server pada kartu jaringan eth0. Dengan tampilan sebagai berikut :

Masukkan alamat IP :
Masukkan netmask :
Masukkan alamat gateway :
Masukkan alamat DNS server :

adapun jawaban pada contoh2, algoritma programnya seperti di bawah ini :
ketik vi setting.sh pada consol atau terminal :

#vi setting.sh ====> tekan ENTER
=============================================================
#!/bin/bash
clear
echo -n "masukkan IPaddress : "
read IPaddress
ifconfig eth0 $IPaddress
echo -n "Masukkan netmask : "
read netmask
ifconfig eth0 $IPaddress netmask $netmask
echo -n "masukkan gateway : "
read gateway
route add default gw $gateway
echo -n "Masukkan alamat DNS Server : "
read DNS
echo "nameserver $DNS" >> /etc/resolv.conf

#setelah selesai jangan lupa disimpan dengan menekan :x pd keyboard
=============================================================
Setelah itu eksekusi(jalankan) script yang telah anda buat diatas dengan perintah sh nama_script.sh pada consol atau terminal
#sh setting.sh

contoh 3 :
Buat Script sederhana untuk mengecek sebuah paket rpm, script tersebut hanya dapat dijalankan oleh root. Adapun output yang dihasilkan oleh script tersebut adalah sebagai berikut :

Masukkan nama paket : httpd
httpd-2.2.3-11.el5_2.centos.4

jawaban untuk kasus contoh3, algoritma programnya seperti di bawah ini :
ketik vi search.sh pada consol atau terminal :

#vi seacrh.sh
=============================================================
#!/bin/bash
if [[ `whoami` = "root" ]]; then
echo -n "masukkan paket : "
read paket
rpm -qa | grep $paket
else
echo "anda bukan root"
fi

#setelah selesai jangan lupa disimpan dengan menekan :x pd keyboard
=============================================================
Setelah itu eksekusi(jalankan) script yang telah anda buat diatas dengan perintah sh nama_script.sh pada consol atau terminal
#sh search.sh

contoh 4 :
Buatlah script sederhana untuk melakukan pengechekan kapasitas sebuah direktori, dengan tampilan sebagai berikut :

Masukkan path direktori lengkap : /home/enuxer
Kapasitas direktori tersebut adalah : 4 GB

Jika path tersebut tidak ada, maka hasilnya sebagai berikut :
Masukkan path direktori lengkap : /home/LOVIE
Direktori tersebut tidak ada..

oke inilah jawaban dari kasus contoh 4 dengan algoritmanya sebagai berikut :

ketik vi direktori.sh pada consol atau terminal :

#vi direktori.sh ===> ENTER
=============================================================
#!/bin/bash
while true
do
echo -n "Masukkan Path direktori lengkap :"
read direktori
if [[ -d $direktori ]]; then
direktori=`du -sh $direktori`
echo "Kapitas direktori tersebut adalah : $direktori"
else
echo "Direktori tersebut tidak ada.."
fi
continue
if [[ $direktori = "LOVIE" ]]

then

break

fi

done


#setelah selesai jangan lupa disimpan dengan menekan :x pd keyboard
=============================================================
Kemudian eksekusi(jalankan) script yang telah anda buat diatas dengan perintah sh nama_script.sh pada consol atau terminal
#sh direktori.sh