Senin, 27 Februari 2012



Web Server

Pengertian & Fungsi Web Server
Web Server adalah Suatu program (dan juga mesin yang menjalankan program) yang mengerti protokol HTTP(HyperText Transfer Protocol) dan dapat menanggapi permintaan-permintaan dari web browser yang menggunakan protokol tersebut. sedangkan WEB itusendiri adalah Suatu sistem di internet yang memungkinkan siapapun agar bisa menyediakan informasi. Anda mempunyai banyak pilihan di dunia open source, tergantung pada keperluan Anda. Salah satu web server yang sangat terkenal dan menjadi standar de facto setiap distribusi Linux, yaitu Apache.Apache adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server leluhurnya, yaitu web server NCSA. Sesuai namanya, web server NCSA dibuat oleh National Center for Supercomputing Applications. Tidak seperti poryek leluhurnya yang dibiayai oleh pemerintah Amerika, web server Apache dikembangkan oleh sekelompok programer yang bekerja tanpa dibayar oleh siapapun. Mereka mengerjakan proyek ini dengan berbagai macam alasan, akan tetapi alasan yang paling mendasar adalah mereka senang jika perangkat lunak mereka digunakan oleh banyak Apache adalah web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh melebihi para pesaingnya. Sesuai hasil survai yang dilakukan oleh Netcraft, bulan Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang berjalan di Internet. Ini berarti jika semua web server selain Apache digabung, masih belum bias mengalahkan jumlah Apache. Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Anda bisa menggunakan salah satu dari keduanya. Tapi sangat dianjurkan Anda memakai versi 2.0.

Fitur Apache Mengapa kita harus memilih Apache? Tentu itu pertanyaan yang terfi kir dalam benak Anda. Ya, tentu saja kita harus mempunyai alasan untuk segala hal, termasuk memilih Apache sebagai web server pilihan. Mungkin daftar berikut bisa menjadi jawabannya :
• Arsitektur modular.
• Mendukung banyak sistem operasi, termasuk di dalamnya adalah Windows NT/2000/XP dan berbagai varian Unix.
• Mendukung IP versi 6 (Ipv6).
• Mendukung CGI (Common Gateway Interface) dan SSI (Server Side Include).
• Mendukung otentifi kasi dan kontrol akses.
 • Mendukung SSL (Secure Socket Layer) untuk komunikasi terenkripsi.
 • Konfi gurasi yang mudah dipahami.
• Mendukung Virtual Host.
• Pesan kesalahan multi bahasa dan bias dimodifikasi.

Contoh web server
Contoh Web Server yang paling banyak dikenal yaitu apache dan IIS (Internet Information Services)
Adapun keterangan singkatnya sebagai berikut :
Apache
Apache HTTP Server
Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP.
Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah.
Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.
Sejarah apache
Pada awal mulanya, Apache merupakan perangkat lunak sumber terbuka yang menjadi alternatif dari server web Netscape (sekarang dikenal sebagai Sun Java System Web Server). Sejak April 1996 Apache menjadi server web terpopuler di internet. Pada Mei 1999, Apache digunakan di 57% dari semua web server di dunia. Pada November 2005 persentase ini naik menjadi 71%. (sumber: Netcraft Web Server Survey, November 2005).
Asal mula nama Apache berasal ketika sebuah server web populer yang dikembangkan pada awal 1995 yang bernama NCSA HTTPd 1.3 memiliki sejumlah perubahan besar terhadap kode sumbernya (patch). Saking banyaknya patch pada perangkat lunak tersebut sehingga disebut sebuah server yang memiliki banyak patch (”a patchy” server). Tetapi pada halaman FAQ situs web resminya, disebutkan bahwa “Apache” dipilih untuk menghormati suku asli Indian Amerika Apache (Indé), yang dikenal karena keahlian dan strategi perangnya. Versi 2 dari Apache ditulis dari awal tanpa mengandung kode sumber dari NCSA.
IIS
Internet Information Services
IIS atau Internet Information Services atau Internet Information Server adalah sebuah HTTP web server yang digunakan dalam sistem operasi server Windows, mulai dari Windows NT 4.0 Server, Windows 2000 Server atau Windows Server 2003. Layanan ini merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung protokol TCP/IP yang berjalan dalam lapisan aplikasi (application layer). IIS juga menjadi fondasi dari platform Internet dan Intranet Microsoft, yang mencakup Microsoft Site Server, Microsoft Commercial Internet System dan produk-produk Microsoft BackOffice lainnya.

IIS telah berevolusi semenjak diperkenalkan pertama kali pada Windows NT 3.51 (meski kurang banyak digunakan) hingga IIS versi 6.0 yang terdapat dalam Windows Server 2003. Versi 5.0 diintegrasikan dalam Windows 2000, sedangkan Windows XP Professional memiliki IIS versi 5.1. Windows NT 4.0 memiliki versi 4.01 yang termasuk ke dalam add-on Windows NT Option Pack. Dalam Windows NT 4.0 Workstation atau Windows 95/98, IIS juga dapat diinstalasikan sebagai Microsoft Personal Web Server (PWS).
Fitur
• Terintegrasi dengan Windows NT secara penuh (sistem keamanan, auditing, dan izin akses NTFS)
• Mendukung penuh protokol HTTP versi 1.1
• Sudah mencakup protokol FTP
• Dukungan terbatas untuk protokol SMTP
• Dukungan untuk protokol NNTP
• Dukungan untuk protokol keamanan SSL
• Dapat digunakan sebagai platform di mana aplikasi web berjalan, yakni dengan menggunakan Active Server Pages (ASP), ASP.NET, Internet Server API (ISAPI), Common Gateway Interface (CGI), Microsoft .NET Framework, Microsoft Visual Basic Scripting (VBScript), JScript, dan beberapa bahasa skrip yang dapat diinstalasikan seperti Perl atau PHP.
• Mengizinkan aplikasi web untuk dijalankan sebagai proses yang terisolasi dalam ruangan memori yang terpisah untuk mencegah satu aplikasi membuat crash aplikasi lainnya.
• Dapat diatur dengan beberapa cara: Microsoft Management Console, via web browser, atau menggunakan skrip Windows Scripting Host.
• Bandwidth throttling yang dapat mencegah sebuah situs web memonopoli bandwidth yang tersedia.

Instalasi Anonymous FTP
Struktur Layanan Internet
Salah satu ciri yang menonjol dari Internet adalah bahwa banyak dari layanan-layanan yang berjalan diatasnya diimplementasikan menggunakan  arsitektur client/server. Pengertian dari client dan server itu sendiri adalah sebagai berikut :
Client merupakan  pihak yang bertanggung jawab untuk berinteraksi dengan user; sebagai contoh, dengan menerima masukan dari keyboard dan menampilkan data ke user. Sedangkan Server, merupakan pihak yang bertanggung jawab untuk menangani tugas-tugas yang diminta client; sebagai contoh, mengakses data atas nama client, menangani perhitungan, menyediakan data atau tanggapan sederhana pada client, dan sebagainya.
Pengenalan Layanan Informasi di Internet
Layanan informasi di Internet yang akan dikenalkan disini mencakup antara lain layanan e-mail, telnet, finger, FTP, WAIS, dan World Wide Web (WWW).
E-mail atau electronic mail, sesuai dengan namanya adalah layanan Internet yang berupa pengiriman mail (surat) yang datanya diubah ke bentuk data elektronik dan dikirimkan melalui jaringan komputer. E-mail melalui internet dapat mencapai tidak hanya orang-orang yang terhubung langsung  ke Internet tapi juga  user  dari jaringan komersil seperti CompuServe,  America Online , dsb, serta jaringan komputer lain yang telah tersebar di seluruh dunia (Wide Area Network).
Telnet dan Finger adalah  dua layanan yang datang bersama kebanyakan  sistem operasi, sehingga keduanya digunakan secara luas meskipun  service tersebut  sederhana. Telnet   mengizinkan seseorang untuk login ke dalam sebuah sistem melalui jaringan seakan-akan orang tersebut  login dari terminal pada sistem tersebut.  Finger didesain untuk menyediakan informasi mengenai user dari lokal maupun remote sistem (seperti nama lengkap yang berhubungan dengan alamat e-mail user)
FTP (File Transfer Protocol)  merupakan layanan yang paling banyak digunakan oleh pemakai Internet untuk mengambil atau meletakkan file dari atau ke mesin lain di Internet. FTP sama seperti login ke suatu mesin, tapi disini user dibatasi pada sejumlah command tertentu, dan untuk anonymous FTP user, dibatasi hanya pada direktori tertentu. Arsip yang di-set agar dapat diakses oleh  publik  disebut arsip anonymous FTP, karena sebarang orang dapat  login (hanya alamat e-mail orang tersebut diminta sebagai identifikasi). FTP client terdapat pada hampir semua jenis komputer, dari palmtop sampai supercomputer. Setelah e-mail, FTP adalah layanan Internet yang paling umum digunakan.
Jika anda mempunyai sebuah database yang sangat besar dan anda sedang mencari cara  untuk memberikan kemudahan pada user untuk melihat isi seluruh database maka WAIS adalah jawabannya. WAIS atau Wide Area Information Server, menyediakan layanan akses ke suatu database melalui  jaringan TCP/IP . Software WAIS yang terbaru memungkinkan pembuatan indeks yang mudah untuk database yang sangat besar. Server mengizinkan user untuk meminta pencarian di database  untuk keyword yang  sederhana atau ekspresi boolean yang lebih kompleks.
World Wide Web atau lebih sering dikenal  sebagai  Web adalah layanan Internet  yang paling banyak memiliki tampilan grafis dan kemampuan link yang sangat bagus. Keistimewaan inilah yang telah menjadikan Web sebagai service yang paling cepat pertumbuhannya. Web mengizinkan  pemberian highlight  (penyorotan/penggaris bawahan) pada  kata-kata atau gambar dalam sebuah dokumen untuk menghubungkan  atau menunjuk  ke media lain  seperti dokumen, frase, movie clip, atau file suara. Web dapat menghubungkan dari sebarang tempat dalam sebuah dokumen  atau gambar ke sebarang tempat di  dokumen lain. Dengan sebuah browser yang memiliki  Graphical User Interface (GUI), link-link dapat dihubungkan ke tujuannya dengan  menunjuk link tersebut  dengan mouse dan menekannya.
Dibawah ini akan  dibahas proses instalasi server dari dua layanan Internet yang umum digunakan yaitu server untuk layanan FTP dan WWW pada UNIX FreeBSD.

Instalasi FTP Server


Ada dua tipe akses yang FTP server sediakan yaitu user FTP dan anonymous FTP. User FTP adalah adalah layanan FTP yang disediakan untuk  orang yang mempunyai sebuah user account pada suatu host, sedangkan anonymous FTP disediakan untuk publik. Dengan layanan FTP anda dapat melakukan transfer file dari sistem anda atau ke sistem anda  dari berbagai tempat di internet. Tapi anda tidak dapat mengeksekusi semua perintah yang ada karena FTP server memang hanya menyediakan  perintah-perintah  tertentu, seperti melihat daftar dan mengubah direktori, dan  menerima serta mengirim file. Pada instalasi ini  yang akan menjadi pokok bahasan kita adalah Anonymous FTP server yang merupakan inti dari sebuah FTP Server.
FTP server terdiri dari dua bagian, yaitu : server, yang menanggapi permintaan client seperti mengirim file, mendaftar direktori yang ada, dan lain-lain ; dan filesystem yang merupakan tempat FTP server membaca file dan direktori yang ada. Program implementasi standar UNIX untuk menjalankan FTP server adalah  ftpd  (ftp daemon).  ftpd berjalan dibawah inetd, UNIX superserver.  inetd  mendengarkan permintaan pada sejumlah port, termasuk  port kontrol FTP, TCP port 21. Ketika sebuah FTP client pertama kali mencoba untuk berhubungan dengan sebuah FTP server, dia mengirimkan paket ke port 21 pada host tujuannya. Kemudian  inetd menerima paket tersebut, menentukan dari nomor port tujuan bahwa layanan FTP perlu dijalankan, dengan melakukan proses forking dan executing pada ftpd. Jika pada saat yang bersamaan ada client lain yang ingin berhubungan dengan FTP server, maka inetd  akan meminta kopi dari ftpd yang sudah berjalan untuk menanganinya. Baris pada file konfigurasi inetd, inetd.conf yang mengawasi bagaiman ftpd dijalankan dapat dilihat di bawah ini :
ftp        stream  tcp       nowait  root      /etc/ftpd                       ftpd -l
Biasanya pada sistem UNIX konfigurasi  untuk ftpd seperti contoh diatas sudah ada pada file inetd.conf, yang akan kita bahas sekarang  adalah arti dari masing-masing field pada baris konfigurasi diatas.
Field  pertama (ftp) adalah field protokol, yang memberitahu inetd layanan apa yang disinggung oleh baris ini. Kemudian inetd akan melihat di file  /etc/services  untuk mencari padanan dari nomor port ftp yang ternyata adalah port 21. Ketika inetd menerima paket untuk port 21, maka inetd dengan menggunakan baris inetd.conf diatas sudah mengetahui server apa yang harus ia jalankan (FTP server).
Field  kedua dan ketiga (stream dan tcp) menerangkan tipe komunikasi yang digunakan FTP server.
Dalam hal ini, komunikasi dilakukan melalui hubungan TCP,  yang merupakan aliran data berurutan antar dua komputer. Perlu diingat bahwa File Transfer Protocol (FTP) hanya bekerja melalui hubungan TCP.
Field keempat  (nowait) memberitahukan inetd untuk menjalankan sebuah server baru setiap kali ada client yang akan berhubungan. Apabila menuliskan wait pada field ini, maka akan memberitahu inetd bahwa untuk menjalankan sebuah server baru haru menunggu sampai tidak ada lagi server yang sedang berjalan.
Dua field terakhir (/etc/ftpd dan ftpd -l)  memberitahu pathname lengkap dari ftpd dan argumennya (termasuk nama programnya,  ftpd) untuk digunakan ketika menjalankan server.
Setelah melakukan konfigurasi  FTP server untuk berjalan dibawah inetd, anda perlu untuk menambahkan sebuah ftp user pada file /etc/passwd di komputer anda.  ftpd akan memeriksa keberadaan dari ftp user sebelum mengizinkan seorang anonymous user untuk menggunakan layanan FTP. Entry ftp user di file /etc/passwd harus mempunyai user ID dan group ID yang unik dan user harus tidak diizinkan untuk masuk  melalui layanan standar yang lain seperti telnet dan rlogin. Password  user ftp pada /etc/passwd harus berisi *, yang berarti bahwa tidak ada password, dan login shell seharusnya di-set ke /bin/false, sehingga  sistem tidak mengizinkan user ftp untuk login dari layanan lain. Setelah itu, direktori yang boleh diakses oleh ftp user juga harus diset yaitu di /usr/ftp. Contoh baris pada file /etc/passwd dapat dilihat dibawah ini.
ftp:*:500:25:Anonymous FTP user:/user/ftp:/bin/false
Untuk melakukan instalasi sebuah FTP server di FreeBSD, dapat dilakukan pada saat instalasi sistem FreeBSD pertama kali atau setelah sistem sudah berjalan. Cara pertama, instalasi FTP server bersamaan dengan instalasi FreeBSD pertama kali, hampir sama dengan cara kedua, hanya saja cara  pertama mulai dari pengkonfigurasian hardware, sedangkan cara kedua langsung ke menu-menu instalasi. Karena itu yang akan dibahas disini adalah cara yang kedua.
Pertama kali anda harus login sebagai root, kemudian ketikkan perintah sysinstall yang ada pada direktori  /stand, atau langsung dengan mengetikkan :
# /stand/sysinstall
Documents

maka akan tampil menu Install, kemudian pilihlah menu Configure, maka akan muncul menu berikut :

Documents

Gambar 1. Menu Configure

Gambar 2. Menu Networking


Documents

Pilihlah menu Networking untuk melakukan konfigurasi layanan network tambahan, dan akan ditampilkan menu seperti gambar 2. Kemudian pilihlah  menu Anon FTP untuk melakukan instalasi Anonymous FTP server.

Gambar 3. Konfigurasi Anonymous FTP server

Gantilah konfigurasi diatas jika ada yang akan anda ubah, seperti FTP root directory misalnya dapat diubah ke /data/ftp atau /usr/local/ftp. Untuk bagian lain sebenarnya merupakan konfigurasi default dan tidak perlu diubah, dengan memilih OK maka proses instalasi telah selesai.

Instalasi Web Server



Web browser dan web server berkomunikasi menggunakan protokol HTTP (HyperText Transfer Protocol) . Ketika sebuah web browser meminta sebuah dokumen HTML dari web server,  hubungan dibuka, kemudian dokumen ditransfer, dan setelah itu hubungan ditutup. Layanan yang menggunakan protokol http ini memiliki nomor port 80 (default),  sehingga web server akan selalu mendengarkan permintaan client pada port 80.
Ada beberapa contoh web server antara lain yaitu NCSA, CERN dan Plexus, tapi yang akan kita bahas disini adalah instalasi software APACHE  untuk web server yang sudah ada di FreeBSD. Sama seperti instalasi FTP server, instalasi WWW serverpun dapat dilakukan bersamaan dengan instalasi FreeBSD pertama kali atau setelah FreeBSD berjalan.  Sekarang kita akan melakukan instalasi setelah FreeBSD berjalan tapi dengan cara lain yaitu dengan menggunakan perintah pkg_add.
Pertama kali ambillah source software Apache, bisa dari CDROM, ftp site yang menyediakan source FreeBSD beserta packages-nya seperti misalnya di ftp.jp.FreeBSD.org/pub/FreeBSD/packages-2.2.8/www dengan nama file apache-1.2.6.tgz, atau langsung mengambil dari www.apache.org. Setelah diambil source-nya, extract-lah dengan perintah pkg_add.
# pkg_add apache-1.2.6.tgz
Biasanya hasil extract file tersebut langsung diletakkan di /usr/local/www dan file httpd di /usr/local/sbin. Setelah itu edit-lah file-file konfigurasi dari web server, yaitu httpd.conf, srm.conf dan access.conf yang biasanya terletak di /usr/local/www/server/conf agar webserver yang kita install sesuai dengan yang kita harapkan.

Konfigurasi httpd.conf


Kita hanya akan membahas bagian-bagian yang penting  dari file konfigurasi ini :
§  Ubah User dan Group dengan nama yang sesuai dengan keinginan anda, tapi disarankan untuk menggunakan user www dan group www, setelah itu edit-lah file /etc/master/passwd dan /etc/group untuk menambahkan user dan group baru tersebut.
§  Ubah Server Admin  menjadi nama yang anda inginkan, misalnya nama_anda@domain_anda. Nama ini harus diisi karena server akan memberitahukan Admin tersebut jika terjadi masalah dengan server.
§  Ubah Server Root  ke path direktori tempat anda meletakkan file executable httpd, file inilah yang akan dijalankan bila ada permintaan dari client, secara default Server Root akan terletak di /usr/local/www/httpd.
§  Ubah Server Name menjadi www.domain.anda. Nama ini harus sesuai dengan record yang ada pada name server dari domain anda.
§  Ubah Server Type  sesuai dengan keinginan anda, ada dua pilihan yaitu inetd dan standalone. Secara default akan berisi standalone dan sebaiknya tidak perlu diubah.

Konfigurasi srm.conf


§  Ubah Document Root ke path direktori tempat anda meletakkan file HTML anda.

§  Isi opsi UserDir dengan enable bila anda ingin user pada komputer anda dapat memiliki homepage sendiri, atau disable jika ingin sebaliknya.

Konfigurasi access.conf

Default dari access.conf adalah :
<Directory /usr/local/www/cgi-bin>
§  Ubahlah path diatas ke direktori cgi-bin anda :
Options Indexes Follow Symlinks
</Directory>

<Directory /usr/local/www/data>
§  Ubahlah path diatas ke direktori dari data homepage anda
Options IndexesFollowSymlinks
AllowOverride All
<Limit GET>
order allow,deny
allow from all
</limit>
</Directory>
Setelah semuanya di-edit maka anda telah siap untuk menjalankan web server anda secara standalone (server membaca konfigurasi sekali pada waktu dieksekusi dan akan dijalankan terus-menerus sampai prosesnya dimatikan) dengan cara me-reboot sistem anda. Jika letak file merupakan default-nya (biasanya di /usr/local/www/server/conf) maka cukup dengan menjalankan daemon-nya saja :
# /usr/local/sbin/httpd

 

 

 

 




Jenis Webserver

Ada beberapa pilihan web server (lengkap dengan Apache, PHP dan MySQL di dalamnya) yang bisa Anda gunakan. Berikut ini adalah beberapa pilihan tersebut.
  1. XAMPP, di dalam program ini sudah mencakup Apache, PHP, MySQL, Filezilla, Mercury dan Tomcat. Anda dapat mendownloadnya di http://www.apachefriends.org/en/xampp.html atau mencarinya menggunakan Search Engine. Xampp akan digunakan dalam buku ini karena fasilitasnya yang cukup lengkap.
  2. Wamp Server, adalah paket ringan dari web server yang berisi Apache, PHP dan MySQL. Anda bisa mendownloadnya di http://www.wampserver.com/en/download.php.
  3. MAMP, jika Anda menggunakan Macintosh.
  4. IIS, jika Anda telah menginstall IIS dalam computer Anda maka Anda dapat menginstall PHP dan MySQL Server.

 

Cara Kerja Web Server


Secara sederhana gambaran cara kerja web server seperti pada gambar berikut :
webserver-thumb





1. Komputer klien dapat berupa pc desktop atau laptop yang mempunyai browser dan terkoneksi dengan jaringan internet atau intranet.

2.Server berisi perangkat lunak yang mempunyai spesifikasi teknis minimal terkait dengan kemampuan server dalam melayani banyak klien nantinya. Server terhubung juga dengan Internet atau Intranet agar dapat diakses oleh klien. Untuk keperluan akses dari klien maka server juga harus mempunyai alamat yang biasa disebut dengan Internet Protocol (IP) misal 202.10.20.20.

3. Klien melakukan request untuk memesan alamat kepada server melalui browser misal
http://www.mamaders.com.

4. Server mendapat pesanan alamat akan mencari informasi sesuai dengan pesanan klien, dana memberikan hasilnya dalam bentuk halaman website. Pencarian ini bisa jadi menghasilkan, namun juga bisa gagal. Biasanya server telah diset untuk mengantisipasi hal tersebut dengan jawaban ‘ 404 Page not Found ‘ untuk pesan ketika tidak menemukan alamat yang dicari.

2 komentar: