Apa Itu Apache Web Server

  

Tulisan ini menjelaskan pengertian web server bagi pemula.

Yang dijelaskan dalam tulisan ini adalah pengertian, contoh – contoh software web server ( yaitu Apache, NGINX, dan IIS ), fungsinya, popularitasnya, dan contoh pemasangan Apache web server di GNU / Linux.

Tulisan ini juga dilengkapi daftar dokumentasi berupa manual, tutorial, dan video untuk Apache dan Nginx di akhir bagian.

If your web server is running, then you see the Apache test page. If you don't see the Apache test page, check your inbound rules for the VPC security group that you created in Tutorial: Create an Amazon VPC for use with a DB instance. Apa itu Server Web Apache? Server web Apache juga disebut server HTTP Apache. Ini membantu untuk mengirimkan halaman situs Anda ke browser pengguna. Aplikasi server ini telah menjadi salah satu aplikasi paling populer sejak tahun 1996. Perangkat lunak server web Apache melayani hampir 54,46% dari semua situs web pada 2010. Di samping itu, web server ini juga menyediakan configuration files —seperti httpd.conf, srm.conf, access.conf, dan mime.types —yang membuat proses konfigurasinya semakin mudah. Kemudian bagaimana sebenarnya cara kerja Apache? Seperti web server lain, Apache mempunyai peran menerima dan merespon request dari pengguna. Web server Apache yang dikelola oleh Apache Software Foundation dirilis pada tahun 1995. Setahun semenjak perilisannya tersebut hingga saat ini, Apache masih menjadi idola yang cukup populer untuk urusan web server. Sistem kerja yang ada di Apache sama seperti web server.

Tulisan ini diharapkan dapat menjadi permulaan yang mudah bagi siapa saja dalam mempelajari prinsip kerja web server.

Sudah berkali-kali saya membuat artikel cara install dan konfigurasi beragam web server seperti Apache, Nginx dan OpenLitespeed di berbagai distro Linux, baik Centos, Debian maupun Ubuntu, tapi belum pernah ada satu artikel pun yang membahas apa itu web server, apa pengertian, fungsi serta bagaimana cara kerja web server sehingga dapat berjalan sesuai dengan fungsinya.

Pengertian Web Server Secara Umum

Pengertian web server merujuk kepada perangkat lunak web server atau suatu komputer yang menjalankannya.

Sebuah program web server adalah penyedia layanan web untuk diakses oleh komputer lain dalam jaringan.

Setiap halaman web / situs ( misalnya Facebook ) yang dapat Anda buka melalui browser Firefox itu pasti memiliki Web Server di belakangnya.

1. Software Web Server Terpopuler

Web server ( software ) paling terkenal pada saat ini adalah Apache, Nginx, IIS.

Web Server Apache

Di kembangkan pertama kali oleh Robert McCool pada 1995 dan kemudian bersama Apache Foundation.

Apache adalah web server paling populer di dunia. Apache tersedia untuk GNU / Linux, BSD, macOS, Windows, Solaris, dan Unix.

Versi terbaru Apache saat ini adalah 2.4 yang dirilis pada Maret 2018. Apache adalah free software berlisensi Apache 2.0.

Situs resmi Apache adalah https://httpd.apache.org.

Logo Apache ( dari Wikimedia )

Web Server Nginx

Dikembangkan oleh Igor Sysoev sejak 2002.

Nginx adalah web server sekaligus reverse proxy yang terkenal dengan performa tingginya, rendahnya kebutuhan sumber dayanya, dan dibuktikan dalam banyak benchmark lebih cepat daripada Apache.

Versi terbaru Nginx saat ini adalah 1.13.10 yang dirilis pada Maret 2018.

Apa Itu Apache Web Server

Nginx tersedia untuk GNU / Linux, BSD, macOS, Windows, Solaris, dan Unix. Nginx adalah free software berlisensi BSD 2-Clause.

Situs resmi Nginx adalah https://nginx.org.

Logo Nginx ( dari situsnya )

Web Server IIS

Dikembangkan oleh Microsoft sejak 1995.

IIS ( Internet Information Services ) juga merupakan web server terbaik dengan kemampuan ekstensibel dan popularitas sangat tinggi sepadan dengan Apache dan Nginx.

IIS umumnya telah terpasang secara bawaan pada Windows Server dan Windows NT ke atas ( kecuali di XP Home Edition dan beberapa lainnya ).

IIS mendukung teknologi .NET dan ASPX Versi terbaru IIS adalah 10 yang dirilis pada 2016 yang terpasang secara bawaan pada Windows Server 2016 serta Windows 10.

IIS tersedia untuk Windows Server saja dan berlisensi proprietary software. Situs resmi IIS adalah https://www.iis.net.

2. Web Server Pada Website Populer

Website populer seperti WordPress, Internet Archive, Mozilla, dapat diketahui menjalankan web server apa dengan jasa netcraft.

Berikut ini sejumlah situs populer dan program web server yang dipakainya dilihat dari netcraft pada 24 Maret 2018.

WebsiteWeb server yang dipakai
startpage.comapache
wikipedia.orgapache
wordpress.comnginx
mozilla.orgapache
bukalapak.comnginx
kaskus.co.idnginx
dell.comiis
live.comiis
bing.comiis

3. Fungsi Umum Web Server

Sebuah web server akan memiliki fitur – fitur yang pasti ada sebagai berikut :

  • Menyimpan, memproses, mengantarkan halaman web ke klien
  • Bekerja dengan protokol HTTP port 80 atau bisa ditambah dengan HTTPS ( Secure ) Port 443
  • Memproses dan mengantarkan berkas HTML
  • Melayani banyak permintaan klien dalam satu waktu
  • Memutuskan berkas apa yang ditayangkan untuk URL ( Uniform Resource Locator ) yang diminta
  • Virtual host yakni menjalankan banyak website dalam satu web server

Seringkali Web Server juga di identikkan dengan gabungan dari Database Server ( Mysql, Mariadb, Sql Server ) dan Server Side Scripting ( PHP, ASP, Ruby, dll ).

Karena jika hanya web server saja, itu tidak akan bisa menghasilkan web yang dinamis.

Web server yang dinamis juga perlu PHP dan Mysql misalnya.

Oleh karena itu sering dikenal program gabungan seperti XAMPP yang berisi komponen lengkap membangun web server dinamis yaitu Apache, Mysql, PHP, dan Phpmyadmin.

4. Cara Kerja Web Server

Secara umum cara kerja semua web server itu sama.

Sebuah program web server adalah program yang terus menerus aktif pada suatu sistem operasi di komputer, dengan terus memonitor port HTTP/S nomor 80/443, kerjanya menerima permintaan yang dikirim dari klien pada port 80/443 itu lalu memprosesnya dan terakhir membalasnya ke klien yang meminta.

Web server melakukan rangkaian cara kerja di atas untuk semua klien yang mengaksesnya selama dia aktif.

Cara kerja ini menghasilkan halaman web yang terbaca pada program HTTP Client ( lebih terkenal dengan istilah web browser ) di komputer klien.

Demikian secara umum cara kerjanya.

Adapun contohnya, bisa diambil contoh bagaimana cara kerja web server pada situs http://wikipedia.org.

Bisa dimisalkan ada seorang pembaca yang memakai Mozilla Firefox mau membuka laman artikel Internet dari Wikipedia.

Maka cara kerjanya sebagaimana penjelasan umum di atas begini :

  1. Pembaca mengetik alamat URL wikipedia.org/wiki/Internet pada Firefox
  2. Firefox meminta ke server Wikipedia
  3. Web server di balik Wikipedia menerima permintaan & mengambilkan berkas yang mencocoki URL yang diminta
  4. Web server mengirim balik berkas ke Firefox
  5. Firefox menampilkan laman artikel yang diminta
  6. Pembaca membaca laman Internet dalam bentuk halaman web ( teks, garis, gambar ) yang siap dibaca.

Jika web / situs yang diakses merupakan web yang dinamis, tentunya cara kerjanya akan sedikit lebih kompleks seperti ini :

  1. Pembaca mencoba login ke Facebook melalui alamat URL facebook.com/login pada Firefox
  2. Firefox meminta ke web server Facebook
  3. Web server di balik Facebook menerima permintaan & mengambilkan berkas yang mencocoki URL yang diminta
  4. Web server melakukan pemrosesan data menggunakan server side scripting programming seperti PHP dengan database server seperti Mysql. Pemrosesan data ini misalnya mencocokkan apakah Username dan Password yang kita masukkan sudah sesuai dengan User yang tersimpan di dalam Database.
  5. Web server mengirim balik berkas ke Firefox
  6. Firefox menampilkan laman situs yang diminta
  7. Pembaca berhasil login ke situs Facebook dan membaca halaman depan dari beranda mereka.

Dari 2 cara kerja di atas sebenarnya kesimpulannya tetap 1. Bahwa web server menyediakan suatu layanan web pada pengguna.

Terkait apakah layanan web itu dinamis atau tidak, itu tergantung dari komponen yang sudah ditanam di web server tersebut.

Web server tetap selalu dibutuhkan, karena komponen tambahan seperti PHP dan Mysql hanya membantu pemrosesannya saja, sedangkan yang bertugas menampilkan laman webnya pada klien tetap web server itu sendiri.

5. Install Web Server Pada GNU / Linux

Suatu program web server bisa dipasang pada sistem operasi apa saja pada komputer apa saja.

Sebagai contoh, pengguna bisa memasang Apache Web Server pada sistem operasi Linux untuk menayangkan halaman web buatan sendiri secara lokal.

Tidak ada syarat komputernya harus komputer server, jadi komputer desktop pun bisa dipasangi web server.

Berikut ini contoh pemasangan Apache pada Ubuntu 17.10 dengan perintah APT.

Metode yang sama berlaku untuk distro selain Ubuntu dengan penyesuaian.

5.1 Pasang Apache :

Apa Itu Apache Web Server

$ sudo apt-get install apache2

5.2 Cek terpasangnya Apache :

$ apt-cache policy apache2

$ dpkg -l grep apache

Apa itu new normal

Maka output akan terlihat yang pertama menunjukkan versi paket terinstal 2.4.27 dan yang kedua menunjukkan keterangan Apache HTTP Server dengan keterangan ii ( installed, installed ).

Demikian berarti Apache ( paket : apache2 ) terinstal di sistem Ubuntu.

5.3 Cek berjalannya Apache :

$ ps aux grep apache

Maka output akan seperti ini dengan username root dan www-data :

5.4 Cek di peramban web :

Ketik alamat http://localhost pada peramban maka halaman sambutan Apache akan terbuka seperti ini :

5.5 Tayangkan Halaman Web :

  • Buat sebuah berkas HTML ( nama berkas : index.html ) sederhana
  • Pindahkan berkas ke /var/www/html/
  • Buka peramban di alamat http://localhost
  • HTML akan ditayangkan oleh Apache web server

6. Referensi Pengoperasian

Berikut ini sejumlah manual, artikel panduan berseri, dan video pembelajaran untuk mengoperasikan + mengonfigurasi Apache dan Nginx.

Disebutkan padanya juga sejumlah dokumentasi dari berbagai distro GNU / Linux seperti Ubuntu dan Fedora.

6.1 Apache

Manual resmi :

Artikel komunitas :

  • Wikibooks https://en.wikibooks.org/wiki/Apache
  • Server World https://www.server-world.info/en/note?os=CentOS_7&p=httpd
  • Ubuntu https://help.ubuntu.com/lts/serverguide/httpd.html
  • Debian https://wiki.debian.org/Apache
  • Howtoforge https://www.howtoforge.com/tutorials/apache
  • Guru99 https://www.guru99.com/apache.html
  • CentOS https://wiki.centos.org/HelpOnInstalling/ApacheOnLinux
  • Fedora https://docs.fedoraproject.org/quick-docs/en-US/getting-started-with-apache-http-server.html
  • openSUSE https://en.opensuse.org/SDB:Apache_installation
  • Arch GNU / Linux https://wiki.archlinux.org/index.php/Apache_HTTP_Server
  • Gentoo https://wiki.gentoo.org/wiki/Apache

Video komunitas :

  • Learning Apache HTTP Server oleh Andrew Mallett ( 4 video )
  • Apache Web Server – Basic Administration oleh Thirunavukkarasu Muthusamy ( 10 video )

6.2 Nginx

Manual resmi :

Artikel komunitas :

  • Howtoforge https://www.howtoforge.com/tutorials/nginx
  • Server World https://www.server-world.info/en/note?os=CentOS_7&p=nginx
  • Ubuntu https://help.ubuntu.com/community/Nginx
  • Debian https://wiki.debian.org/Nginx
  • Fedora https://fedoraproject.org/wiki/Nginx
  • Gentoo https://wiki.gentoo.org/wiki/Nginx
  • Arch https://wiki.archlinux.org/index.php/Nginx

Video komunitas :

  • NGINX Official Tutorials ( 4 video )
  • NGINX Tutorial ( 8 video )
  • Learn NGINX Fundamentals oleh Eduonix ( 1 jam+ )

Mengapa Web Server Dibutuhkan ?

Berikut ini sejumlah alasan dibutuhkannya web server dan dipelajarinya oleh banyak orang :

  • Pengertian web server adalah HTTP/S server. Dialah program yang menjadikan orang bisa mengakses halaman – halaman web melalui peramban. Jika anda ingin punya website sendiri yang ingin bisa di akses orang lain, anda perlu web server.
  • Mayoritas akses internet manusia adalah akses WWW ( yaitu web ) maka sebanyak itulah web server dibutuhkan.
  • Internet bekerja secara client-server. Web browser seperti Firefox adalah HTTP client, sementara web server seperti Apache adalah HTTP server.
  • Setiap orang butuh web server agar bisa menjalankan PHP atau Perl pada server untuk memberikan layanan serta halaman web kepada client. Inilah kenapa XAMPP yang sangat terkenal itu merupakan paket gabungan dari dari Apache ( web server ), MySQL, dan PHP.
  • Tidak ada WordPress, Joomla, SimpleMachineForum, dan program berbasis web lainnya yang bisa di operasikan di sisi server maupun diakses di sisi client, kecuali dengan web server.
  • Web server itu kecil ukurannya dan mudah pengaturannya tetapi jauh lebih besar manfaatnya.

Pertanyaan Dan Jawaban

Berikut ini sejumlah pertanyaan yang mungkin muncul seputar fungsi dan pengertian web server disertai jawabannya :

Saya pemula. Apa yang harus saya lakukan untuk memulai belajar web server ?

Silakan mulai dari Apache Web Server. Paling mudahnya dengan paket XAMPP di GNU / Linux maupun Windows.

Di antara tugas yang bagus buat Anda ialah cobalah install WordPress di komputer sendiri dengan Apache tersebut.

Mengapa ada banyak perangkat lunak web server ? Kenapa mereka tidak di buat satu saja ?

Karena ada banyak jenis masalah, ada banyak solusi.

Sebuah web server kadang ada yang dibuat untuk general ( seperti Apache ), tetapi kadang ada juga yang spesifik ( seperti lighthttpd ), dan ada pula yang serba bisa ( seperti Nginx ).

Tidak tertutup kemungkinan di masa depan bakal ada web server baru apabila ada yang mau membuatnya.

Apa Itu New Normal

Kapan saya harus menggunakan Apache ? Kapan Nginx ? Kapan Cherokee ? Kapan lighthttpd ?

Jawaban yang paling mendekati adalah bergantung kepada pengalaman Anda.

Apabila menurut pengalaman Anda Cherokee baik untuk keperluan server begini dan begitu, silakan pakai Cherokee. Dan seterusnya.

Apa bedanya web server dengan Hosting ? Bukankah kalau kita ingin punya website sendiri kita cukup sewa Hosting ?

Hosting ini hanya salah satu jasa untuk menyewakan fasilitas web server bersama – sama. Karena Hosting itu sendiri adalah Web Server.

Ibaratnya anda ingin punya rumah, tapi anda tidak perlu bikin rumah sendiri. Anda tinggal sewa apartemen. Nah pemilik Apartemen inilah yang disebut Hosting.

Kapan saya harus punya Webserver sendiri dibanding sewa Hosting ?

Ketika anda sudah punya budget dan kebutuhan Anda sudah tidak cukup untuk memakai jasa hosting.

Hosting idealnya hanya dipakai oleh website – website yang trafficnya tidak terlalu tinggi.

Ketika website anda sudah diakses oleh jutaan orang perdetik, nah itu saatnya anda bangun sendiri Web Server anda menggunakan PC Server maupun sewa Cloud Server seperti di Amazon Web Service.

Ibaratnya jika anda awalnya sewa apartemen dengan 1 kamar untuk tempat tinggal Anda bersama istri Anda saja, nah lama – lama ternyata anda punya anak 15 orang.

Tentunya apartemen itu sudah tidak cukup, dan sudah saatnya Anda membangun rumah Anda sendiri.

Penutup

Demikianlah artikel ulasan yang cukup detail mengenai pengertian web server beserta fungsinya dan juga info terkait lainnya.

Apa Itu Apache Web Server

Diharapkan dengan adanya panduan ini tidak lagi membuat Anda bingung, dan bisa menggunakan web server secara maksimal.

Referensi

Artikel ini berlisensi CC BY-SA 3.0.

Pasti ada sebagian orang yang merasa asing dengan kata benchmark. Jika belum menggunakan memang selalu membuat bertanya-tanya apa sebenarnya fungsi dari benchmark itu sendiri.

dikutip dari jurnal yang ditulis oleh Kusumo et al, dengan judul “Pemanfaatan Dan Pengujian Aplikasi Varnish Web Cache Untuk Mempercepat Akses Website” ApacheBench adalah alat untuk proses benchmark apache HTTP server dan di desain untuk memberikan gambaran performa instalasi apache.

Secara khusus akan menampilkan seberapa banyak request per detik yang bisa dilayani oleh apache. Jadi apache benchmark ini adalah salah satu tool yang digunakan untuk pengukuran dari performa web server.

Apache benchmark ini tidak perlu diinstall, karena benchmark ini akan otomatis terinstall (bawaaan) ketika kita melaukan installasi apache web server. R markdown python equivalent.

Namun apache benchmark juga dapat digunakan selain di web server apache, seperti pada web server nginx, dan microsoft iis. Untuk itu perlu dilakukan installasi apache benchmark dengan perintah:

Pengujian web server menggunakan ApacheBenchmark (AB)

Lalu bagaimana cara menggunakan apachebench ini?

Pengujian dilakukan dengan mengirimkan request menggunakan perintah ab -n 100 -c 50 atau juga dapat dilakukan dengan ab -k -c 50 -n 100 -H “Accept-Encoding: gzip, deflate” dimana Apache bench dengan total koneksi N dibuat dengan konkurensi koneksi C, di mana N dan C ditentukan oleh pengguna, sedangkan -k digunakan untuk mengirimkan koneksi ke web browser yang telah terbuka tidak ditutup namun diulang.

Ditambahkannya “Accept-Encoding: gzip, deflate” digunakan untuk mengompresi output teks/html 25% -75%. Dibawah ini contoh pengukuran web server yang telah saya buat dalam VPS menggunakan apache benchmark.