BAB III
PERANCANGAN SISTEM
3.1. PERALATAN YANG DIPERLUKAN
3.1.1 HARDWARE
Dalam pembuatan web server ini dibutuhkan hardware minimum sebagai berikut :
Komputer PII – 350Mhz
Memory 192Mb
Hard Disk 40Gb
Lan Card
CDROM
Dan untuk pengetesan digunakan komputer client dengan spesifikasi minimum 486DX,
Lan Card dan software browser.
Untuk menghubungkan antara server dan client digunakan pula :
Hub/Switch, dan
Kabel UTP
3.1.2. SOFTWARE
3.1.2.1. Linux RedHat Advanced Server Ver. 2.
Linux RedHat adalah salah satu distribusi linux yang populer, Disamping
dukungannya dengan sistem RPM (RedHat Package Manager) yang mempermudah
pemakai untuk menginstall software apapun di Linux.
Linux RedHat Advanced Server adalah salah satu distribusi RedHat yang
dikhususkan untuk server.
Meskipun linux dapat diinstall pada berbagai platform processor, namun disini
akan lebih berfokus ke mesin Intel x86, dan untuk Linux RedHat advanced server, mesin
minimum adalah Intel 586 keatas.
3.1.2.2. Apache
15
16
Apache adalah software web server yang paling populer karena memiliki fasilitas-
fasilitas yang cukup lengkap. Fasilitas atau ciri khas dari web server apache adalah :
- Dapat dijadikan pengganti bagi NCSA web server
- Apache web server dalam merespon client jauh lebih cepat dari server NCSA
- Mampu dikompilasi sesuai dengan spesifikasi HTTP yang sekarang
- Apache menyediakan feature untuk multihomed dan virtual server.
- Dapat menetapkan respon error yang akan dikirim web server dengan
menggunakan file atau skrip.
- Web Server apache memiliki level-level pengamanan.
- Performansi dan konsumsi sumber dayanya tidak terlalu banyak, hanya sekitar
20Mb untuk file-file dasarnya dan setiap daemon-nya hanya memerlukan sekitar
950KB memory per child.
- Mendukung secure transaction menggunakan SSL (Secure Socket Layer).
- Mendukung modul-modul tambahan.
3.1.2.3. Bind
Bind adalah software untuk implementasi DNS di mesin *nix atau *bsd. Bind
versi terbaru dapat didownload di http://www.isc.org/products/BIND. Secara default,
setiap instalasi Linux RedHat sudah menyertakan Bind didalamnya. File konfigurasi
utama di bind yaitu :
- /etc/resolv.conf
- /etc/named.conf
- File-file DNS Resource Record :
o /var/named/root.cache
o /var/named/named.local
o /var/named/domain.db
3.1.2.4. Shell Script
Shell merupakan nama yang diberikan untuk suatu program yang berfungsi agar
pemakai dapat berinteraksi dengan sistem operasi. Shell bertindak sebagai selubung
antara user dan Linux. Shell menerima setiap perintah yang diberikan kemudian
17
menjalankan perintah tersebut sesuai dengan fungsinya. Sehingga dalam hal ini shell
dapat dianggap sebagai penerjemah perintah (shell interpreter).
Selain itu, shell juga dapat menjalankan kumpulan perintah Linux dan juga shell
dalam suatu file disebut shell script (setara dengan batch file di dos). Shell script dapat
dikatakan sebagai program yang ditulis dengan menggunakan bahasa pemrograman shell.
3.1.2.5. PHP (PHP Hypertext Language)
PHP adalah salah satu bahasa Server-side yang didesain khusus untuk aplikasi
web. PHP dapat disisipkan diantara bahasa HTML dan karena bahasa Server side, maka
bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke browser adalah
“hasil jadi” dalam bentuk HTML, dan kode PHP anda tidak akan terlihat.
PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada
awalnya dibuat untuk menghitung jumlah pengunjung pada homepagenya. Diawal
Januari 2002, PHP telah dipakai lebih dari 7 juta domain diseluruh dunia, dan akan terus
bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasa Server side
yang lain. Angka sesungguhnya di http://www.php.net/usage.php.
PHP termasuk dalam Open Source Product. Jadi anda dapat merubah source code
dan mendistribusikannya secara bebas. PHP juga diedarkan secara gratis. PHP juga dapat
berjalan diberbagai web server semisal IIS, Apache. PWS, dll.
3.1.2.6. MYSQL
SQL (Structured Query Language) adalah bahasa standar yang digunakan untuk
mengakses server database. Bahasa ini pertama kali dikembangkan oleh IBM. Dengan
menggunakan SQL, proses akses database menjadi lebih mudah, dibandingkan dengan
misalnya menggunakan dBASE atau Clipper.
MYSQL adalah salah satu server database yang mendukung bahasa SQL, MySql
banyak dipakai karena kecepatan proses dan kompatibilitasnya dengan berbagai bahasa
pemrograman yang ada saat ini.
3.2. PERANCANGAN
3.2.1. Setup Hardware
18
Pertama kali Hardware dipersiapkan dengan memasang 1 buah komputer sebagai
server yang terhubung dengan sebuah Hub/Switch yang bertindak sebagai gateway. Dan
kemudian dipersiapkan juga komputer client yang dihubungkan ke hub.
3.2.2. Setup Software
Untuk software ada langkah-langkah yang harus dilakukan, adapun langkah-
langkah tersebut adalah
1. Instalasi Sistem Operasi Linux RedHat Advanced Server
Instalasi sistem operasi Linux Advanced server bisa dilakukan dengan berbagai
cara, salah satunya dengan menginstall melalui CD. CD Instalasi Linux kebanyakan
sudah memiliki system boot, sehingga pengguna tinggal merubah setting di bios
komputer untuk memilih option booting melalui CDROM.
2. Instalasi Bind
Secara default, BIND sudah terinstall ketika pertama kali install sistem operasi
Linux, namun terkadang versi BIND yang dipakai adalah versi yang lama. Jika ingin
mendapatkan BIND versi terbaru bisa didownload di http://www.isc.org/products/BIND.
Pada saat tulisan ini dibuat, versi terbaru BIND adalah 9.2.2
Untuk instalasi BIND versi terbaru langkah-langkahnya adalah (dengan asumsi
mesin linux sudah terhubung dengan Internet) :
1. Download BIND versi terbaru
[root@server root]# wget ftp://ftp.isc.org/isc/bind9/9.2.2/bind-
9.2.2.tar.gz
2. Uninstall BIND versi lama
[root@server root]# for a in $(rpm -qa | grep ^bind); do rpm -e -
-nodeps $a; done
[root@server root]# userdel –r named
3. Install BIND versi terbaru
[root@server root]# tar xvzf bind-9.2.2.tar.gz
[root@server root]# cd bind-9.2.2
[root@server bind-9.2.2]# ./configure –-prefix=/usr/local/named/
[root@server bind-9.2.2]# make
[root@server bind-9.2.2]# make install
19
[root@server bind-9.2.2]# adduser –d /var/named –s /bin/false
named
4. Ganti directory ke home directory named, kemudian mendownload file
named.root yang berisi informasi root-servers dari internic.
[root@server bind-9.2.2]# cd /var/named/
[root@server named]# wget ftp://internic.net/domain/named.root
5. Ubah kepemilikan directory /var/named ke named kemudian jalankan named
[root@server named]# chown –R named:named /var/named
[root@server named]# /usr/local/named/sbin/named –u named –c
/usr/local/named/etc/named.conf
3. Instalasi MySQL
Sebelum instalasi web server, sebaiknya mysql diinstall terlebih dahulu, sehingga
nantinya ketika kita compile PHP kita bisa segera menambahkan modul mysql
didalamnya. Untuk MySQL terbaru bisa didapatkan di http://www.mysql.com
4. Instalasi Apache
Instalasi web server apache dilakukan dengan menambahkan fasilitas suexec,
suexec digunakan agar apache bisa berjalan di userid lain selain userid webserver.
5. Instalasi PHP 4.3.2
PHP diinstall setelah kita menginstall apache, PHP dipasang di apache sebagai
modul tambahan, dalam kompilasi PHP bisa juga ditambahkan modul-modul lain seperti
mcrypt, gd, freetype, imap, ming, dll
6. Pembuatan Program
Pembuatan program disini memanfaatkan perintah-perintah shell dan regular
expression, nantinya shell ini akan diintegrasikan dengan PHP sehingga bisa diakses
melalui WEB, sedangkan database mysql disini berfungsi sebagai data backup, apabila
suatu saat ada kesalahan sistem sehingga file konfigurasi hilang/terhapus.
7. Pengujian Program dan Sistem
Pengujian program disini dengan cara mencoba membuat user melalui interface
program yang telah jadi. Pertama-tama program dipanggil melalui browser, dan sebelum
masuk ke menu utama, ada sistem authentifikasi terlebuh dahulu, authentifikasi ini wajib
diberi, agar tidak adanya penyalahgunaan sistem.
20
Setelah masuk ke menu utama, di sana ada pilihan untuk create user, dan di
halaman create user, variabel yang harus diinputkan adalah :
a. nama domain, misal : mitek.com
b. userid, misal mitek
c. password
d. apakah user ini diberikan akses shell ataukah tidak
Setelah variabel ini dikirim, secara otomatis program akan membuat user sesuai dengan
userid yang dimasukkan, dan dia juga otomatis membuat database zone untuk domain
mitek.com di directory /var/named dan menambahkan baris untuk VirtualHost di
/usr/local/conf/httpd.conf.