Jumat, 24 Juni 2016

Web Server



Web server
Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML

Macam - macam Web Server diantanya:
Apache Web Server - The HTTP Web Server
1.Apache Tomcat
2.Microsoft windows Server 2003 Internet Information Services (IIS)
3.Lighttpd
4.Sun Java System Web Server
5.Xitami Web Server
6.Zeus Web Server
Namun web yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS).

Cara kerja web server :
1. Cara kerja Web Server Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam medistribusikan web page ke user, tentu saja sesuai dengan permintaan user.
2. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia ini. Untuk mengenal protocol ini jelas sangan mudah sekali dimana setiap kali anda mengetik http:// anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg di passing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found.
Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

Web Server Apache
Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT. Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan Apache :

1. Kontrol Akses.
Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP

2. CGI (Common Gateway Interface)
Yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)

3. PHP (Personal Home Page/PHP Hypertext Processor);
Program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik

4. SSI (Server Side Includes)


Web server Apache mempunyai kelebihan dari beberapa pertimbangan di atas :

1. Apache termasuk dalam kategori freeware.
2. Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti NCSA, IIS, dan lain-lain.
3. Mampu beroperasi pada berbagai platform sistem operasi.
4. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file konfigurasi.
5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya.


Fasilitas atau ciri khas dari web server Apache adalah :


1. Dapat dijadikan pengganti bagi NCSA web server.
2. Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4.
3. Apache merespon web client sangat cepat jauh melebihi NCSA.
4. Mampu di kompilasi sesuai dengan spesifikasi HTTP yang sekarang.
5. Apache menyediakan feature untuk multihomed dan virtual server.
6. Kita dapat menetapkan respon error yang akan dikirim web server dengan menggunakan file atau skrip.
7. Server apache dapat otomatis berkomunikasi dengan client browsernya untuk menampilkan tampilan terbaik pada client browsernya. Web server Apache secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada clientnya.
8. Web server Apache mempunyai level-level pengamanan.
9. Apache mempunyai komponen dasar terbanyak di antara web server lain.
10. Ditinjau dari segi sejarah perkembangan dan prospeknya, Apache web server mempunyai prospek yang cerah. Apache berasal dari web server NCSA yang kemudian dikembangkan karena NCSA masih mempunyai kekurangan di bidang kompatibilitasnya dengan sistim operasi lain. Sampai saat ini, web server Apache terus dikembangkan oleh tim dari apache.org.
11. Performasi dan konsumsi sumber daya dari web server Apache tidak terlalu banyak, hanya sekitar 20 MB untuk file-file dasarnya dan setiap daemonnya hanya memerlukan sekitar 950 KB memory per child.
12. Mendukung transaksi yang aman (secure transaction) menggunakan SSL (secure socket layer).
13. Mempunyai dukungan teknis melalui web.
14. Mempunyai kompatibilitas platform yang tinggi.
15. Mendukung third party berupa modul-modul tambahan.

Web Server Litespeed

Litespeed web server merupakan teknologi baru yang diciptakan untuk menggantikan Apache Web Server di masa mendatang. Litespeed menurut hasil riset mempunyai kelebihan yaitu 50% lebih cepat dalam memproses PHP dan lebih cepat 6x dibandingkan Apache Web Server.

Ini dia beberapa detail kelebihan Litespeed Web server:
*Performa PHP mampu meningkat 50%
* Mampu melebihi performa Apache hingga 6x lebih cepat
*Pembatasan validasi HTTP request
* Anti DDoS
 * Pencegahan System Overloading

*Recover dari kegagalan secara langsung dan otomatis
* Kompatibel dengan Cpanel, Plesk dan direct admin
* Dukungan kompatibilitas dengan mod_security request filtering
* Kompatibel dengan Apache .htaccess

Web Server Nginx

Nginx dengan cepat memberikan konten statis dengan penggunaan efisien sumber daya sistem.Hal ini dapat menyebarkan dinamis HTTP konten di jaringan menggunakan FastCGI handler untuk script , dan dapat berfungsi sebagai perangkat lunak yang sangat mampu penyeimbang beban
 Nginx menggunakan asynchronous -event pendekatan untuk menangani permintaan yang diprediksi memberikan kinerja yang lebih bawah beban, kontras dengan Apache HTTP server model yang menggunakan berulir atau proses yang berorientasi pada pendekatan-permintaan penanganan.

Fitur
  • Handling of static files, index files, and auto-indexing
  • Reverse proxy with caching
  • Load balancing
  • Fault tolerance
  • SSL support
  • FastCGI support with caching
  • Name- and IP-based virtual servers
  • FLV streaming
  • MP4 streaming, using the MP4 streaming module
  • Web page access authentication
  • gzip compression
  • Ability to handle more than 10000 simultaneous connections
  • URL rewriting
  • Custom logging
  • Server-side includes

Web Server IIS

Internet Information Service (IIS) adalah komponen yang dapat digunakan untuk mengelola web, File Transfer Protocol (FTP), Ghoper, dan NNTP. Komponen IIS terdapat pada sistem operasi Windows NT ,Windows 2000, Windows XP, 7 dan Windows Server 2003.
Pada Windows 98, supaya dapat mengelola Web diperlukan komponen Personal Web Server (PWS) walaupun tidak terdapat fasilitas untuk FTP. PWS juga merupakan bagian dari IIS. Komponen PWS terdapat pada CD master Windows 98 dan terletak pada direktori \add-ons\pws. Instalasi PWS dapat dilakukan dari <Drive CD ROOM>:\ADD-ONS|PWS|SETUP.
Komponen pendukung IIS antara lain :
  • 1. Protocol jaringan TCP/IP.
  • 2. Domain Name System (DNS).
  • 3. Direkomendasikan untuk menggunakan format NTFS demi keamanan.
  • 4. Software untuk membuat situs web, salah satunya Microsoft FrontPage.
Pada pembahasan Internet Information Service ini, yang banyak dibahas adalah Internet Information Service yang terdapat pada Windows 2000 Server dan hanya terbatas pada Files Transfer Protocol (FTP) dan web saja.
Diantara pilihan webserver yang disediakan baik dan buruknya kami akan jelaskan sebagai berikut ini :
Apache
Kelebihan dan Kekurangan
1  Open Source
2 Proses instalasinya mudah
3 Mudah untuk dikustomisasi (Apache hanya punya 4 file konfigurasi) ataupun menambah
peripheral dalam web servernya
4  Bisa digunakan di berbagai platform mesin dari mainframe sampai embedded system
5  Ada komunitas yang besar sehingga mudah mencari solusinya jika ditemukan masalah
6  Mudah dicari di internet
7  Server Apache otomatis berkomunikasi dengan clientnya untuk mendapatkan tampilan web
terbaik
8  Keamanannya bagus dan bisa menggunakan SSL (Secure Socket Layer)
9  Tidak bisa mengatur load seperti IIS sehingga akan terus memfork proses baru sampai dalam
batas yang diijinkan OS. Akan memudahkan penyerang karena RAM akan cepat habis
10 Mudah diserang oleh DoS (pada Apache versi 1.3 dan versi 2 sampai versi 2.0.36)
11Apache tidak memproses karakter kutip dalam string Referrer dan User-Agent yang
dikirimkan oleh Client. Ini berarti Client dapat memformulasi inputnya secara hati-hati untuk
merusak format baris log akses

Kelebihan dan Kekurangan
1 Lebih kompatibel dengan Windows karena memang IIS adalah keluaran Microsoft
2  Unjuk kerja untuk PHP lebih stabil, handal, dan cepat
3  Adanya kemampuan diagnostik untuk pelacakan kesalahan (bisa dikustomisasi)
4  Untuk platform .NET, user hanya bisa menggunakan IIS
5  Memiliki score tertinggi dari web server lainnya untuk masalah bug
6  Tidak gratis (web server berbayar)
7  Port 80 (Port untuk layanan web) sangat mudah diserang oleh cracker
8  Keamanan file log juga sangat mudah ditembus sehingga system password pun akan mudah
didapatkan

NGINX
Kelebihan dan Kekurangan
1 Performanya yang tinggi, stabil, memiliki banyak fitur
2 Mudah dikonfigurasi
3 Menggunakan hanya sedikit sumberdaya pada server
4 Tidak bergantung kepada thread untuk melayani klien
5 Belum support IPV6
6 Update/patchnya versi terbarunya lama keluar
7 Fast-CGInya tidak berfungsi maximal
8 Pemakainya tidak sebanyak Apache atau IIS (komunitasnya tidak sebanyak Apache atau IIS)


su-

 cek paket terlebih daahulu dan instal paket jika belum di instal

 
mengkopi isi file rndc-confgen ke rndc.key
 copy dari #Start of rndc.conf key sampai ke };

 buat file direktori



 vi eka.com.zone lalu ketik yang di atas



 
 nslookup eka.com
Name:eka.com
Address:192.168.76.2

Domain Name System(DNS)



Domain Name System (DNS) Server

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 173.194.69.94 yang dipetakan menjadi www. google.ac.id 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 (electronic mail), 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.

Pengertian Domain Name System (DNS)

Beberapa pengertian mengenai Domain name system adalah sebagai berikut:
  1. 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.
  2. Merupakan aplikasi pelayanan di internet untuk menterjemahkan domain name ke alamat IP dan juga sebaliknya.
  3. 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.
  4. Aplikasi yang membantu memetakan host name sebuah komputer ke IP address pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail.
DNS dapat dianalogikan sebagai pemakaian buku telepon dimana orang yang ingin kita hubungi, berdasarkan nama untuk menghubunginya dan menekan nomor telefon berdasarkan nomor dari buku telepon tersebut. Hal ini terjadi karena komputer bekerja berdasarkan angka, dan manusia lebih cenderung bekerja berdasarkan nama.
Misalkan domain name yahoo.com mempunyai alamat IP 202.68.0.134, tentu mengingat nama komputer lebih mudah dibandingkan dengan mengingat alamat IP. Didalam DNS, sebuah name server akan memuat informasi mengenai host-host di suatu daerah/zone. Name server ini dapat mengakses server-server lainnya untuk mengambil data-data host di daerah lainnya. Name server akan menyediakan informasi bagi client yang membutuhkan, yang disebut resolvers.

Fungsi Utama Sistem DNS

  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:
    • Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
    • Konsisten, IP address sebuah komputer boleh berubah tapi host name tidak berubah. Contoh:
      google.ac.id mempunyai IP
      173.194.69.94, kemudian terjadi perubahan menjadi 222.124.194.25, maka disisi client seolah-olah tidak pernah ada kejadian bahwa telah terjadi perubahan IP.
      – Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.

Konsep dan Hirarki DNS

DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya.
Struktur dari database DNS bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap puncaknya (parent).Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS dinotasikan dengan “.” atau “/” pada sistem file UNIX.
Pada setiap node juga merupakan root dari subtree, atau pada sistem file UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS disebut dengan nama domain. Pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file UNIX. Pada bagian subdomainjuga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya.

Struktur Database DNS

Struktur DNS Domain Name Space merupakan hirarki pengelompokan domain berdasarkan nama. Domain ditentukan berdasarkan kemampuan yang ada di struktur hirarki yang disebut
level yang terdiri dari :
  1. Root-Level Domains : merupakan level paling atas di hirarki yang di ekspresikan berdasarkan periode dan dilambangkan oleh “.”.
  2. Top-Level Domains :berisi second-level domains danhostsyaitu :
    • com : organisasi komersial, seperti IBM (ibm.com).
    • edu : institusi pendidikan, seperti U.C. Berkeley (berkeley.edu).
    • org : organisasi non profit, Electronic Frontier Foundation (eff.org).
    • net : organisasi networking, NSFNET (nsf.net).
    • gov : organisasi pemerintah non militer, NASA (nasa.gov).
    • mil : organisasi pemerintah militer, ARMY (army.mil).
    • xx : kode negara (id:Indonesia,au:Australia)
  3. Second-Level Domains : berisi domain lain yang disebut subdomain.
  4. Third-Level Domains : berisi domain lain yang merupakan subdomain dari second level domain diatasnya.
  5. Host Name : domain name yang digunakan dengan host name akan menciptakan fully qualified domain name (FQDN) untuk setiap komputer. Contohnya, jika terdapat www. oogleg.ac.id, www adalah hostname dan google.ac.id adalah domain name.

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

Forward Lookup Zone

Cara kerja DNS tersebut dengan Forward Lookup Zone dapat kita lihat pada contoh berikut ini. Misal kita browsing di warnet, dan akan menghubungi www. unsri.ac.id . Maka alur kerjanya adalah:
  1. PC kita mengontak Server DNS lokal (biasanya terletak pada jaringan ISP) untuk menanyakan IP Address unsri.ac.id.
  2. Server DNS lokal akan melihat ke dalam cache-nya.
  3. Jika data itu terdapat di dalam cache server DNS server lokal, maka server tersebut akan memberikan alamat IP tersebut ke Browser. Jika tidak, maka server tersebut mengontak server DNS di atasnya (biasanya disebut Root DNS server “.”) untuk mengetahui alamat IP dari name server yang mengelola Top Level Domain .id.
  4. Pada name server yang mengelola Top Level Domain .id, maka server akan menanyakan IP dari name server pengelola domain ac.id.
  5. Kemudian server akan mengontak name server pengelola domain ac.id, disini server akan menanyakan alamat IP dari second level Domain unsri.ac.id.
  6. Setelah mendapatkan IP dari name server pengelola second level Domain unsri.ac.id, Pada name server yang mengelola unsri.ac.id, maka DNS server kita akan menanyakan alamat FQDN dari unsri.ac.id.
  7. Setelah mendapatkan IP dari http://www.unsri.ac.id, maka server akan memberikan alamat IP tersebut ke PC yang me-request tadi, dan membuat cache terhadap alamat yang telah dicari. Sehingga jika ada permintaan lagi untuk mengakses http://www.unsri.ac.id, maka DNS Server akan memberikan alamat yang telah disimpan didalam cache tanpa harus menghubungi server diatasnya. Jadi permintaan terhadap server diatasnya hanya jika alamat yang akan diakses
    belum terdapat pada cache.
  8. Setelah PC mendapatkan alamat IP dari http://www.unsri.ac.id barulah PC tadi bisa mengakses unsri.ac.id

Reverse Domain Server

Di dalam jaringan TCP/IP diperlukan juga pemetaan dari IP address ke hostname.
Pemetaan ini merupakan pemetaan balik dari pemetaan hostname ke IP address yang disebut reverse domain. Tujuannya untuk menyimpan informasi ataupun statistik yang disimpan dalam satu log file. Selain itu juga diperlukan untuk security jaringan (authorization check). Jika menggunakan host table (/etc/hosts) maka pemetaan hostname ke IP address merupakan pemetaan satu ke satu. Resolver akan mencari hostname pada host tabel secara sekuensial. Dengan menggunakan DNS proses pencarian IP address dari suatu hostname dapat dengan mudah dilakukan. Tapi proses pencarian hostname dari suatu host dengan IP address tertentu memerlukan proses pencarian yang cukup lama karena harus dilacak ke seluruh domain name server.
Solusi yang digunakan adalah dengan membuat suatu domain dengan menggunakan IP address sebagai domain. Pada jaringan TCP/IP top level domain yang menggunakan IP address sebagai domain diberi nama in-addr. arpa. Pemberian nama sub domain dibawah top level domain ini mengikuti aturan sebagai berikut:
  • Sub domain dibentuk dengan menuliskan sub domain dalam format representasi IP address dalam bentuk dot-octet.
  • Pembentukan sub domain di bawah top level domain dimulai dari oktet pertama dari IP address (IP address terdiri dari 32 bit=4 oktet) dan sub domain selanjutnya dibentuk dari oktet ketiga dan demikian seterusnya.
    Contoh:
    Sebuah network dengan IP address 222.124.194.XX (Network Klas C, XX = variable 0 s.d. 255) dikoordininasikan oleh DNS server ns1.unsri.ac.id. Agar DNS ini dapat merupakan server untuk reverse domain pada IP address di atas maka reverse domain yang harus dibuat adalah 194.124.222.in-addr.arpa
    Keterangan :
·         Network dengan IP address 222.124.194.XX bila direpresentasikan dalam bentuk dot-octet adalah 222.124.194.
  • Oktet pertama dari IP address network di atas adalah 222, oktet kedua 124, dan octet ketiga 194 maka sub domain di bawah top level domain in-addr.arpa adalah 222.in-addr.arpa. Subdomain berikutnya adalah oktet kedua yaitu 124, maka di bawah sub-domain 222.in-addr.arpa terdapat lagi sub domain 124.222.in-addr.arpa. Kemudian subdomain berikutnya adalah octet ketiga yaitu 180, maka di bawah subdomain 124.222.in-addr.arpa terdapat subdomain 194.124.222.in-addr.arpa