Sabtu, 17 Juli 2010

Membangun Apache Web Server (Linux Ubuntu)

Web atau World Wide Web (www) merupakan salah satu layanan internet yang paling popular. Berbagai hal dapat “ditampilkan” dihalaman web. Mulai dari teks, gambar, video, music dan sebagainya. Protocol bernama HTTP (Hyper Text Transfer Protokol) bertanggung jawab menangani proses komunikasi antara client Web (browser) dan Web Server.
Ketika user mengetikan alamat server Web situs pada kotak Address atau URL (Uniform Resource Locator) dan menekan “enter” maka Web Browser akan mencoba melakukan koneksi ke sebuah Web Server. Browser meminta (Request) sebuah halaman web dan kemudian menampilkan hasilnnya.
Pada pembahasan kali ini adalah tentang Apache Web Server. Apache selama bertahun-tahun menjadi pilihan pengguna linux. Disamping bersifat open source, Apache mudah dikonfigurasi, performa dan keamanan cukup baik, dan tersedia berbagai modul tambahan yang dapat menambah kemampuan Apache. Apache memerlukan server DNS karena proses konversi hostname menjadi IP address dilakukan oleh server DNS. Untuk penjelasan selanjutnya tetang bagaimana membagun Apache Web Server akan dijelaskan pada dibawah ini.

Konfigurasi Apache Web Server
Instalasi web server apache dengan perintah berikut:
$ sudo apt-get install apache2
Konfigurasi virtual hosting
$ sudo ln-s /etc/apache2/mods-available/vhost_alias.load\\ /etc/apache2/mods-enabled/
Untuk membolehkan modul untuk bekerja, ada beberapa perubahan yang perlu dibuat untuk /etc/apache2/apache2.conf untuk menonaktifkan nama-nama kanonik, mengubah konfigurasi logfile dan menentukan di mana host virtual Anda akan berlokasi. Menambah atau mengubah pengaturan yang ada untuk mencocokkan berikut:
# Mendapatkan nama server dari Host: header
UseCanonicalName Off
# include nama server dalam nama file yang digunakan untuk memenuhi permintaan VirtualDocumentRoot /var/www/vhosts/www.obc.com/web
VirtualScriptAlias /var/www/vhosts/www.obc.com/cgi-bin
Kemudian edit file di /etc/apache2/httpd.conf dengan kode berikut:
ServerName obc.com
DocumentRoot /var/www/vhosts/www.obc.com/web
ErrorLog /var/log/apache2/error.log

Buat direktori yang akan diteruskan pada virtual host:
$ sudo mkdir /var/www/vhosts
Membuat Kerangka virtual server:
$ sudo mkdir –p /var/www/vhosts/skeleton/cgi-bin
$ sudo cp –a /var/www/apache2-default /var/www/vhosts/skeleton/web
Restart apache2, sehingga perubahan konfigurasi diterapkan:
$ sudo /etc/init.d/apache2 restart
Anda sekarang siap untuk membuat nama-based virtual host dengan cara menyalin kerangka untuk hostname yang anda inginkan untuk meresponnya. Sebagai contoh, untuk membuat sebuah server virtual baru untuk www.obc.com (bisa sesuai dengan nama domain anda), Anda akan cukup menjalankan:
$ sudo cp –a /var/www/vhosts/skeleton /var/www/vhosts/www.obc.com
Setiap koneksi HTTP dilakukan pada server dengan Host: header set ke www.obc.com sekarang akan direspon keluar dari server virtual. Untuk membuat virtual host dapat diakses oleh pengguna lain, Anda akan perlu menambahkan entri yang sesuai di server DNS yang dapat diakses publik dan memiliki domain yang didelegasikan untuk itu, tetapi untuk tes lokal cepat Anda dapat mengedit /etc/ hosts dan tambahkan entri mirip dengan:
127.0.0.1 www.obc.com
siiiiip selesai deh 

FTP

Merujuk pada wikipedia, FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Protokol ini masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut. FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas.

Instalasi vsftpd

Dengan asumsi bahwa Anda telah menginstal Ubuntu, masuk ke terminal kemudian jalankan perintah :

$sudo apt-get install vsftpd

Tunggu hingga selesai kemudian jalankan perintah :

$sudo /etc/init.d/vsftpd start

Untuk menjalankan FTP server

sudo /etc/init.d/vsftpd stop

Untuk mematikan service vsftpd

Konfigurasi vsftpd

File konfigurasinya terletak di /etc/vsftpd.conf untuk membukanya jalankan perintah :

$sudo nano /etc/vsftpd.conf

Bila anda ingin user anonymous dapat menggunakan FTP, tambahkan atau edit baris ini :

anonymous_enable=YES

Sebaliknya bila anda tidak ingin user anonymous dapat menggunakan FTP, ubah nilai baris diatas menjadi NO seperti di bawah ini :

anonymous_enable=NO

Anonymous atau FTP anonim artinya user bisa masuk ke FTP server tanpa harus memasukkan login dan password. Biasanya digunakan oleh FTP server yang menyediakan berkas untuk umum, seperti mirror aplikasi atau server penyedia repositori distro linux.

Secara default konfigurasi vsftpd di Ubuntu sudah membolehkan akses FTP anonim. Dan lokasi home direktori untuk user FTP ada di /home/ftp, dan ini adalah tempat menyimpan berkas yang akan diberikan melalui FTP.

Jika Anda berniat untuk memindahkan lokasi tempat menyimpan berkas untuk FTP anonim tadi, Anda tinggal mengganti lokasi home direktori untuk user FTP.

Misal, kita akan pindahkan ke /data/ftp.

sudo mkdir /data/ftp

sudo usermod -d /data/ftp ftp

Setelah itu, restart service vsftpd

sudo /etc/init.d/vsftpd restart

Konfigurasi FTP untuk user

Bila anda ingin lokal user (user pengguna komputer namun bukan root user) dapat login menggunakan FTP protokol, tambahkan atau edit baris ini :

local_enable=YES

Sebaliknya bila anda ingin lokal user (user pengguna komputer namun bukan root user) tidak dapat login menggunakan FTP protokol ubah nilai baris diatas menjadi NO.

Bila anda ingin mengubah root directory dari user anonymous (default root directorynya ada di /home/ftp ), tambahkan atau edit baris ini :

anon_root=

Bila ingin memberikan pesan selamat datang, tambahkan dan edit baris ini :

ftpd_banner “pesan selamat datang”

Konfigurasi untuk membatasi user

Membatasi jumlah klien, tambahkan dan edit baris ini:

max_client jumlah maksimum klien

Membatasi jumlah klien dengan IP yang sama, tambahkan dan edit baris ini:

max_per_ip jumlah maksimum klien per IP

Mengunci FTP user di direktori home, tambahkan dan edit baris berikut:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

Untuk file /etc/vsftpd/chroot_list tambahkan bila tidah ada. Dengan begitu semua FTP root directory tiap local user ada di home directory masing-masing user. Jika anda ingin membuat pengecualian untuk user tertentu agar root directorynya tetap berada di / anda dapat menuliskan nama user tersebut di file /etc/vsftpd/chroot_list.

Namun jika anda ingin agar hanya user tertentu saja yang FTP root direktorinya pindah ke home direktori masing-masing anda dapat mengubah paramater baris chroot_local_userNO seperti ini chroot_local_user=NO lalu menuliskan user yang ingin dipindah root direktorinya ke dalam file /etc/vsftpd/chroot_list. menjadi

DNS

Konsep & Cara Kerja DNS

Suatu host pada jaringan Transmission Control Protocol/Internet Protocol (TCP/IP) harus memiliki alamat IP agar dapat diakses. Alamat IP yang digunakan sekarang (IP versi 4) dibentuk dalam format angka long integer 32-bit yang dikelompokkan menjadi empat kelompok (untuk setiap kelompoknya masing-masing terdiri dari 8 bit). Bila dalam suatu jaringan TCP/IP memiliki banyak sekali host, maka tidak mudah bagi manusia untuk mengingat alamat-alamat IP yang ada (tentu saja bagi komputer hal ini bukan menjadi masalah). Karena itulah alamat-alamat IP tersebut perlu dipetakan menjadi nama yang dapat diingat manusia secara mudah dengan menggunakan DNS. Misalnya seperti IP Address 192.168.1.4 yang dipetakan menjadi www.iyah.com sehingga lebih mudah diingat. Dalam teknologi internet sekarang ini, DNS pun merupakan jantung yang sangat berperan penting. Setiap kali kita meggunakan internet dalam kegiatan kita sehari-hari, maka setiap kali itu pula secara tidak langsung kita menggunakan DNS (Domain Name System). Pengunaan DNS didalam internet tersebut meliputi aplikasi email (electronicmail), browsing, ssh/telnet, ftp, maupun aplikasi yang lain yang ada kaitannya dengan internet. Oleh karena itu Pengetahuan dan pengertian tentang DNS merupakan hal penting yang harus dimiliki oleh operator maupun pengguna internet.


Domain Name System

Beberapa pengertian mengenai Domain name system adalah sebagai berikut:

  • Merupakan sistem database yang terdistribusi yang digunakan untuk pencarian nama komputer di jaringan yang menggunakan TCP/IP. DNS mempunyai kelebihan ukuran database yang tidak terbatas dan juga mempunyai performa yang baik.

  • Merupakan aplikasi pelayanan di internet untuk menterjemahkan domain name ke alamat IP dan juga sebaliknya.

  • Komputer yang terhubung dan memiliki tanggung jawab memberikan informasi zona nama domain anda, merubah nama domain menjadi alamat IP dan juga memiliki tanggung jawab terhadap distribusi email di mail server yang menyangkut dengan nama domain.

Aplikasi yang membantu memetakan host name sebuah komputer ke IP address pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail.

Fungsi utama dari sebuah sistem DNS adalah:

  1. menerjemahkan nama-nama host (hostnames) menjadi nomor IP (IP address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet.

  2. memberikan suatu informasi tentang suatu host ke seluruh jaringan internet.


DNS memiliki keunggulan seperti:

  1. Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).

  2. Konsisten, IP address sebuah komputer boleh berubah tapi host name tidak berubah.

  3. Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.

DNS Zone

Terdapat dua bentuk Pemetaan DNS Zone, yaitu:

Forward Lookup Zone: Melakukan pemetaan dari nama menuju IP address

Reverse Lookup Zone: Melakukan pemetaan dari IP address menuju nama

Konfigurasi DNS







DHCP

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sama halnya dengan yang terjadi pada sistem operasi Windows Server, hanya saja caranya yang berbeda untuk melakukan konfigurasi DHCP server. DHCP memungkinkan setiap client dalam jaringan mendapatkan alamat IP secara otomatis, serta default gateway dan DNS server.

Setting IP :
/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.30.10
network 192.168.30.0
netmask 255.255.255.0
broadcast 192.168.30.255
gateway 192.168.30.11

arti :
auto:dinyalakan otomatis ketika booting
address: menentukan IP address yang digunakan suatu komputer.
network: menentukan Network Address komputer.
netmask: menentukan subnet mask network komputer.
broadcast: menentukan alamat broadcast yang digunakan komputer untuk memperkenalkan diri pada jaringan.
gateway: menentukan default gateway yang digunakan apabila komputer tersebut mengirimkan paket data ke luar jaringan anggotanya.

/etc/init.d/networking start

DHCP SERVER

setting interface untuk melayani client
#sudo vi /etc/default/dhcp3-server
cari
INTERFACES=”"
ganti dengan
INTERFACES=”eth0"
simpan dan keluar

setting pool :
#sudo vi /etc/dhcp3/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 202.188.0.133, 202.188.1.5;
option domain-name "warnet.my";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}

Artinya :
- Server DHCP menyiapkan IP address antara 192.168.0.100-192.168.0.200,
- Gateway 192.168.0.1,
- DNS 202.188.0.133 dan 202.188.0.5


Berdasarkan MAC Address :

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name “yourdomainname.com”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.200;
}
host client1{
hardware ethernet 00:1b:63:ef:db:54;
fixed-address 192.168.1.20;
}
host client2{
hardware ethernet 00:0a:95:b4:d4:b0;
fixed-address 192.168.1.21;
}
host client3{
hardware ethernet 00:16:cb:aa:2a:cd;
fixed-address 192.168.1.22;
}
host client4{
hardware ethernet 00:0a:95:f5:8f:b3;
fixed-address 192.168.1.23;
}

sudo /etc/init.d/dhcp3-server restart


Client :
#sudo vi /etc/network/interfaces

Edit dan sesuaikan dengan ini
auto lo eth0
iface eth0 inet dhcp
iface lo inet loopbacksdsd

#sudo /etc/init.d/networking restart
#dhclient