Assalamualaikum warahmatullahi wabarakatuh, pada kesempatan kali ini kita akan membahas tentang Konfigurasi Web Server Apache pada Debian 10. Sebelum menuju ke langkah-langkah konfigurasi Web Server nya, emang apasih yang dimaksud dengan Web Server? Nah mari kita mengulik sedikit tentang Web Server.

Pengertian Web Server

    Web server adalah program yang menggunakan protokol HTTP untuk melayani file kepada client melalui halaman web. Beberapa web server terkemuka diantaranya ada Apache, IIS, NGINX dan masih banyak lagi.
    Web server sering kali digunakan sebagai dari paket program terkait internet dan intranet yang lebih besar untuk melayani email, mengunduh permintaan untuk File Transfer Protocol (FTP) dan membangun halaman web. Pertimbangan dalam memilih web server mencakup seberapa baik kerjanya dengan sistem operasi dan server lain, kemampuannya menangani pemrograman sisi server, karakteristik keamanan, mesin pencari, dan alat pembangun situs yang meyertainya.

Fungsi Web Server 

    Fungsi utama web server adalah untuk menerima permintaan dari klien melalui HTTP atau HTTPS dan memberikan respon berupa halaman website HTML. Lebih dari itu, masih ada banyak fungsi lainnya yang tidak kalah penting, seperti: 
  1. Melindungi Keamanan Sistem : Pertama, kehadiran server menjadi pelindung keamanan sebuah website. Hal ini bisa terjadi berkat adanya fitur seperti TLS atau SSL encryption, autentikasi, dan sertifikat digital. Berbagai fitur ini data pengguna internet bisa senantiasa aman dan situs website bisa terjaga dari serangan peretas atau hacker. Proses transfer data dari web server pun bersifat privat sehingga keamanannya terjaga. 
  2. Menjadi Penyimpan Log Server : Server juga memiliki fungsi penting sebagai pusat atau inti dari sebuah situs web. Fungsinya adalah untuk menjaga stabilitas website dengan penyimpanan log server. Server akan mencatat semua aktivitas terjadi seperti kesalahan, permintaan pengguna, dan lain sebagainya. Data log ini nantinya akan sangat berguna untuk pemecahan masalah dan analisis pada masalah yang ada di server. 
  3. Penyedia Akses ke Database : Server akan berperan untuk menghubungkan aplikasi website dengan database. Artinya, website bisa mengambil data dari database untuk kemudian ditampilkan kepada pengguna web. 
  4. Menampilkan Konten pada Website : Karena memiliki fungsi sebagai pusat penyimpanan, maka server juga berperan untuk menyajikan konten website. Saat ada user yang mengakses website, sistem akan mengambil halaman website. Kemudian, baru sistem akan mengirimkannya ke browser lewat protokol HTTPS atau HTTP.  
  5. Mengelola Sumber Daya yang Ada di Server : Di dalam server umumnya akan terdapat berbagai sumber daya yang sangat krusial untuk website. Contohnya, bandwidth, RAM, dan CPU. Web server memiliki fungsi yang besar untuk mengelola berbagai sumber daya tersebut. Ia akan mengelolanya dengan efisien agar bisa mengakomodasi segala aktivitas di website. Jadi, meskipun permintaan atau jumlah pengguna sedang tinggi, website tetap dapat berfungsi dengan baik tanpa ada kegagalan server. 
  6. Bertanggung Jawab untuk Load Balancing : Fungsi web server lainnya adalah load balancing atau pengaturan beban kerja. Tujuan load balancing adalah agar user tidak harus menunggu lama ketika mengakses website dan memastikan pengelolaan sumber daya server efisien.

Cara Kerja Web Server

  1. Permintaan dari User dan Memprosesnya : User akan memasukkan situs website yang ingin mereka akses ke dalam kolom pencarian browser. Setelah itu, browser akan mengirimkan permintaan data ke server website. Server kemudian akan memproses permintaan tersebut dengan cara menganalisis, mengambil data, menjalankan script, dan yang terakhir adalah mengirimkan hasilnya ke browser pengguna. 
  2. User Menerima Respon : Setelah pemrosesan selesai, maka konten yang user inginkan akan muncul. Artinya, user akan menerima respon dan konten yang mereka cari sebelumnya akan muncul. Konten ini bentuknya bisa beragam, mulai dari teks, video, gambar, audio, dan sebagainya. 
  3. Halaman Website Tampil : Terakhir, halaman website pun akan muncul kepada pengguna di browser yang user gunakan. Tampilannya akan sesuai dengan pengaturan yang sudah web developer tetapkan. 

Contoh Web Server

  • Apache

    Apache adalah web server paling populer yang paling banyak digunakan. Server ini memberikan beberapa pendukung untuk kelangsungan website-mu, seperti PHP, SSL, serta akses kontrol. Ada beberapa keunggulan Apache, misalnya sistem pengaturan yang lebih mudah dan luasnya komunitas pengguna sehingga kamu bisa dengan mudah menemukan sesama pengguna Apache secara gratis.
  • IIS (Internet Information Services)
    Internet Information Services (IIS) adalah layanan HTTP yang digunakan dalam sistem operasi Windows. Software ini didukung oleh beberapa komponen, seperti protokol DNS, TCIP/IP, dan beberapa software yang bisa digunakan untuk membuat web. Selain itu, IIS juga didukung protokol lain seperti FTP, HTTP, NNTP, SMTP dan SSL. Mengingat banyaknya jumlah pengguna Windows, IIS jadi lebih mudah digunakan dan diakses. Kelebihan lainnya, IIS juga didukung penuh oleh Windows. Selain itu, ada pula fitur yang bisa mengecek kesalahan serta penggunaan PHP yang jauh lebih stabil. Sayangnya, kamu harus bayar untuk menggunakan IIS.
  • Nginx
    Nginx (dibaca ‘engine x’) adalah software dengan sistem open source dan tentunya gratis. Dibandingkan dengan Apache yang sama-sama gratis, Nginx lebih mampu menangani web server dengan traffic tinggi. Kelebihan lainnya adalah Nginx lebih ringan, mempunyai banyak fitur, dan stabil, serta memiliki performa tinggi.
  • Lighttpd
    Web server ini berbasis open-source yang berarti gratis dan bebas diguna-kembangkan oleh siapa saja. Lighttpd dibuat dengan tujuan mendukung sistem Linux dan Unix. Lighttpd dikenal karena kecepatannya, memiliki footprint memori yang kecil, serta menggunakan daya CPU yang lebih sedikit. Web server ini juga memiliki beberapa keunggulan berdasarkan fitur tambahan yang tersedia, seperti FastCGi, Output-Compression, FastCGi, dan URL Writing.

Fitur-Fitur di Web Server

  1. HTTPS/HTTP : Server website memiliki dukungan terhadap protokol HTTPS ataupun HTTP. Keduanya bisa server gunakan untuk menerima dan mengirimkan data melalui jaringan internet. 
  2. Caching : Server website bisa menyimpan konten website di dalam cache. Tujuannya untuk membuat waktu akses jadi lebih cepat dan beban server bisa berkurang. 
  3. Load Balancing : Server website memiliki fitur untuk membagi atau mendistribusikan beban kerja ke beberapa server yang lain. Tujuannya untuk meningkatkan kinerja website. 
  4. Dynamic Content Support : Web server bisa memproses permintaan untuk konten yang bersifat dinamis. Seperti contohnya adalah konten berupa program, skrip, ataupun aplikasi. 
  5. Static Content Support : Server website pun bisa menyajikan konten yang sifatnya tidak hanya dinamis, tetapi juga statis. Contoh konten ini adalah video, gambar, file HTML, maupun jenis dokumen lainnya dari server. 
  6. Logging : Sebuah server bisa melakukan pencatatan terhadap segala aktivitas yang terjadi di website. Baik itu berupa akses ataupun error. Data pencatatan ini berguna untuk bahan pemecahan masalah serta analisis untuk website. 
  7. Server Side Scripting : Fitur ini memberikan dukungan terhadap beberapa bahasa pemrograman yang umum digunakan. Seperti contohnya Python, Ruby, PHP, dan lain sebagainya. 
  8. Security : Terakhir, server bisa memberikan fitur keamanan untuk sebuah website. Keamanan tersebut berasal dari TLS atau SSL encryption, proteksi hacking, pembatasan akses ke website tertentu, hingga autentikasi pengguna.

Langkah-Langkah Konfigurasi Apache Web Server di Debian 10 :

  • Sebelum login ke Debian kalian pergi ke Pengaturan (yang berwarna oren) lalu pilih opsi jaringan, pada opsi tercantol pada, yang aslinya NAT kalian ganti ke Adaptor Hanya Host, dan pilih Tingkat Lanjut pada Mode Promiscuous kalian pilih Izinkan Semua klik oke dan mulai.
  • Login ke debian sebagai root dan masukkan passwordnya.
  • Lalu masukkan perintah "nano /etc/network/interfaces" untuk menyetting IP address. Jika sudah bisa kalian simpan dengan klik CTRL X, klik Y dan enter.
  • Lalu restart IP dengan perintah “/etc/init.d/networking restart”, kemudian cek IP kita apakah sudah berubah dengan perintah “ip a”(dikotaki berwarna merah adalah IP kita).
  • Ketikkan perintah "apt install apache2" untuk melakukan instalasi, dan jika ada pertanyaan "y/n" ketik Y dan Enter.
  • Jika diminta memasukkan DVD 1, masukkan file ISO DVD 1 nya ke Debian, dengan cara pilih Piranti lalu Dive Optik dan masukkan file DVD 1 nya lalu klik enter.
  • Masukkan perintah "dpkg -l apache2", lalu cek jika ada tulisan "ii apache2" berarti berhasil terinstall.
  • Ketik "cd /etc/apache2/sites-available/" untuk masuk ke direktori apache2 nya dan ketik "ls" lalu cek direktori nya.
  • Ketikkan "cp 000-default.conf ardi.conf" untuk ardi.conf bisa kalian ganti dengan nama kalian, lalu ketik "ls" untuk melihat apakah file nya sudah terdeteksi.
  • Masukkan perintah "nano ardi.conf" untuk masuk ke direktori nya.
  • Pada webmaster@localhost kalian ganti menjadi gmail kalian, contohnya "ServerAdmin ardiantorizky7@gmail.com" jika sudah bisa kalian simpan dengan klik CTRL X, klik Y lalu enter.
  • Masukkan perintah "a2dissite 000-default.conf" untuk menonaktifkan file default web tadi.
  • Lalu aktifkan file kita dengan perintah "a2ensite ardi.conf".
  • Ketikkan "cd /var/www/html/" untuk pindah ke direktori html dan ketik "ls" untuk mengcek direktori nya.
  • Lalu ketikkan "nano index.html" untuk mengedit file HTML nya.
  • Kita tekan CTRL+Shift untuk ngeblok lalu scroll kebawah dan tekan CTRL+K untuk menghapus.
  • Lalu kalian ketikkan kode HTML sesuka kalian.
  • Jika sudah bisa kalian simpan dengan klik CTRL X, klik Y lalu enter, dan restart apache2 nya dengan mengetikkan perintah "/etc/init.d/apache2 restart" dan pastikan muncul tulisan OK.

  • Lalu kalian masuk ke view network connection dan pilih ethernet yang dipilih diawal tadi. Lalu kalian konfigurasi IPv4 nya, untuk IP address nya kalian pakai IP baru sedangkan untuk Gateway nya kalian pakai IP Debian nya.
  • Kemudian kalian ke CMD untuk ping ke IP Debian nya, jika berhasil akan seperti gambar dibawah.
  • Lalu kalian buka browser kalian dan ketikkan IP Server Debian tadi "211.20.24.2".
    Demikianlah tutorial singkat ini, dan terima kasih telah mengikuti langkah-langkah ini, dan semoga artikel ini bermanfaat untuk Anda. Sebagai penutup, dengan mengikuti langkah-langkah yang telah dijelaskan di atas, Anda sekarang seharusnya sudah bisa untuk Konfigurasi Web Server Apache pada Debian 10Apa masih tidak bisa ? ya belajar lagi dong mangkanya, jangan patah semangat dan tetap bersabar ya:)
Wassalamu'alaikum warahmatullahi wa barakatuh