Langsung ke konten utama

TUTORIAL WEB SERVER DAN DNS SERVER

    
    
TUTORIAL KONFIGURASI WEB SERVER DAN DNS SERVER DI DEBIAN 10

             



oleh :
Cindy Yanuarita Arni Fauzi 


I. TUJUAN
        • Mengetahui cara penggunaan perintah linux.
        • Mampu menggunakan perintah linux.
        • Menambah wawasan dan pengetahuan.
        • Membentuk pengalaman di bidng IT.
        • Bermanfaat untuk masa depan.
        • Berguna untuk Administrasi Server.
        • Mengetahui cara konfigurasi jaringan.
        • Mampu menggunakan perintah dos.
        • Mampu Mengkonfigurasi IP pada linux.
        • Mengetahui Cara Mengkonfigurasi IP pada dos.

II. ALAT DAN BAHAN
        • Pc/laptop
        • Sistem operasi Utama (linux debian 10)
        • Ms.word
        • Oracle Virtual Box 
        • Listrik
        • Kuota/wifi internet
        • Gambar Screenshoot

III. KESELAMATAN KERJA
        • Berdo’a sebelum melakukan praktik
        • Memakai baju bengkel/katelpak
        • Mematuhi semua peraturan yang ada
        • Mengikuti instruksi dari guru pembimbing
        • Tidak bergurau saat praktik (praktik secara serius)
        • Berdo’a setelah praktik

IV. TEORI PENDUKUNG

        A. WEB SERVER

=> Pengertian

Salah satu layanan yang paling sering disediakan oleh server adalah layanan web. Salah satu alasanya dari penggunaan web server adalah dia bebas platform. Semua aplikasi yang berjalan di atas web hanya perlu menyesuaikan dengan web browser pengguna.

Web server adalah sebuah penyedia layanan dengan protocol HTTP. Web server juga dikenal dengan nama HTTP server, menyediakan kemampuan untuk mengirimkan dokumen hyper-text kepada pengguna. Dokumen hypertext itu nantinya digunakan untuk dijadikan tampilan. 
Web server normal, berjalan di atas port 80. Versi aman dari web server, atau HTTPS server, berjalan di atas port 443. HTTP server biasa, hanya menyediakan akses ke file-file yang berada di dalam folder server HTTP.

HTTPS dilindungi dengan enkripsi sehingga data yang terkirim dijamin keamananya. Situs-situs web yang membutuhkan keamanan ekstra seperti bank, transaksi, email, penyimpanan file menggunakan HTTPS. Meskipun beberapa tidak menggunakan HTTPS, tapi mau tidak mau web-web kritikal seperti itu harus menggunakan HTTPS demi mendapatkan pelanggan.

Ketika HTTP server melayani pengguna, kebanyakan data yang dikirm berformat HTML. Tapi HTML sendiri bekerja kompak dengan file dari format lainya, seperti CSS untuk mengatur tampilan, JS untuk mengatur interaksi, dan tambahan-tambahan lainya seperti gambar.

Biasanya, ketika pengguna melakukan permintaan terhadap HTTP Server, HTTP server membalas dengan menyediakan berkas asli yang ada di server. Tapi, tidak harus seperti itu, sesuai dengan bagaimana HTTP server itu diimplementasikan.

HTTP server yang dinamis, apabila ingin menambahkan fungsi-fungsi di sistemnya, bisa melalui dua cara. Yaitu dengan pembuatan ulang software HTTP server, atau menggunakan bahasa pemrograman di sisi server atau server side scripting. Dengan menggunakan bahasa seperti ASP, atau PHP, maka HTTP server bisa menyediakan fungsi yang berbeda-beda tanpa perlu menulis ulang kode untuk software HTTP server itu sendiri.

HTTP server tidak serta merta hanya menyediakan data kepada pengguna, HTTP server juga bisa meminta data dari pengguna baik menggunakan form, ataupun dengan pengunggahan file.

HTTP server sekarang tidak hanya untuk menyediakan layanan melalui web server yang berbentuk mesin besar. Sekarang, beberapa alat menggunakan HTTP sebagai antar muka dengan pengguna, seperti router, printer, webcam. Tapi di alat-alat kecil ini biasanya HTTP digunakan dalam jaringan lokal saja.


=> Jenis Server HTTP

Ada dua jenis server HTTP, yaitu Kernel dan User. Versi kernel dari HTTP server mempunyai kecepatan yang lebih karena langsung terintegrasi dengan OS dan memang ditujukan untuk HTTP server. Sehingga mempunyai akses langsung ke sumber daya tingkat bawah seperti adaptor jaringan, buffer, atau memory.

Jenis user lebih lama dan terbatas, karena mereka tidak mempunyai akses langsung ke dalam hardware dan sumber daya tingkat bawah. Mereka harus meminta dahulu kepada OS untuk sumber daya, lalu mereka harus berbagi resource dengan aplikasi lainya. Pada sistem Windows, bisa menggunakan IIS, atau di Linux menggunakan TUX.


=> Batas-Batas Web Server

Web server terbatas, dia mempunyai keterbatasan tentang berapa jumlah pengguna yang bisa dilayani secara bersamaan. Karena itu biasanya ada lebihd ari satu web server yang disediakan apabila jumlah pengguna yang dilayani sangat besar.

Batas-batas web server ini ditentukan bebera faktor.
     Konfigurasi Web Server
     Jenis HTTP Request
     Jenis Konten Dinamik atau Statik
     Batas Hardware atau Software

Ketika batas ini tercapai, maka web server akan mengalami macet dan tidak responsif. Biasanya, batas-batas ini tercapai ketika ada beberapa hal yang terjadi, diantaranya yaitu :

    Banyaknya pengguna yang terhubung secara bersamaan.
Ketika ada pengguna yang terhubung secara bersamaan. Maka sumber daya dari web server akan terbagi-bagi juga dalam saat yang bersamaan. Proses input output memakan waktu yang lama, pembacaan file yang berkali-kali dalam waktu yang tidak jauh berbeda akan membuat web server kehilangan keseimbangan dan akhirnya tidak bisa menyelesaikan permintaan.

    Serangan DDOS
Serangan DDOS atau Distributed Denial Of Service, membuat server kewalahan melayani serangan tersebut. Akibatnya, pengguna lainya tidak akan mendapatkan sumber daya yang diminta.

    Virus
Adanya virus yang menyebar melalui jutaan komputer bisa menghambat kinerja dari server. Apabila ada satu juta komputer terinfeksi, maka mereka akan mencoba menyebar melewati jaringan internet, dan salah satu layanan yang juga terkena serangan adalah web server.

    Jaringan Lambat
Jaringan yang lambat akan mengakibatkan server memrposes suatu permintaan lebih lama daripada biasanya. Hal yang seperti ini menyebabkan bottleneck, jadi ketika seharusnya server selesai memproses, dia harus menunggu lama karena jaringanya lambat, hinga akhirnya semua beban menumpuk dan server akhirnya down.

Beberapa cara juga bisa dilakukan untuk membuat batas-batas web server tidak tercapai. Dengan mengoptimalkan sumber daya yang ada, dan kemampuan dari web server, misalnya adalah :

    Mengatur Trafik Jaringan
Mengatur trafik jaringan dengan membatasi sebuah permintaan dengan firewall, dan juga memfilter permintaan HTTP yang buruk, juga melakukan pengaturan bandwidth.

    Menggunakan Cache
Web server harus menggunakan teknologi cache, sehingga resource yang sama diminta berkali-kali tidak perlu melewati proses yang lama. Apalagi melewati jalur IO yang padat dan lambat.

     Menggunakan Lebih dari Satu Web Server
Menggunakan satu web server akan membuat sistem terbebani, namun apabila menggunaan dua web server, maka server satunya bisa beristirahat dan membebaskan sumber daya yang sudah diproses, dan web server lainya mengerjakan beberapa dari tanggung jawab web server satu.

Memecah web server ini merupakan salah satu cara yang sangat efektif, namun karena faktor biaya membuat lebih dari web server bukanlah harga yang murah.

Bentuk komunikasi jaringan wireless yang sederhana sehingga konfigurasinya tidak rumit. Selain itu mode ini akan lebih cocok diterapkan ketika tidak infrastruktur wireless dan layanan seperti client server tidak diperlukan


=> Protocol HTTP

Setiap permintaan HTTP mempunyai dua bagian, yaitu header dan content. Header untuk permintaan dan header untuk pelayanan berbeda. HTTP server hanya merespon apabila ada permintaan. Permintaan HTTP diberikan melalui URL, juga metode HTTP yang digunakan.

Header pembuka HTTP, terdiri dari tiga bagian. Metode, URL, dan versi HTTP. Method bisa berisi GET, POST, PUT, HEAD. URL bisa berisi alamat sumber daya yang diminta, dan versi mengindikasikan versi protocol HTTP (sekarang 1.1 saat ini ditulis).

HTTP server melakukan respon yang berbeda-beda seiring dengan perbedaan metode, url atau versi. Metode GET, digunakan untuk mengambil data. Sedangkan metode POST, digunakan untuk memasang data. Metode PUT, digunakan untuk menaruh data, dan metode HEAD digunakan untuk meminta informasi.

Berbeda dengan header pembuka permintaan, header pembuka respon
bentuknya seperti ini.Setelah header pembuka, akan ada lagi header-header lainya. Header ini berbentuk mapping, seperti kamus, dengan nama dan niainya.
Header berbentuk mapping ini jumlahnya lebih banyak. Tidak mengikuti pola tertentu, dan diakhiri dengan baris kosong. Struktur dari header mapping dari sisi permintaan. Isinya tidak terbatas, bahkan kita bisa menambahkan header sesuai dengan kebutuhan kita.

Fomat dari header mapping, mempunyai format <nama_mapping> :
<nilai_mapping>, seperti Connection: Keep-Alive
Content-Type
Content-Length
Host
Encoding
Tipikal header respon dari server. Sama, dia juga tidak terbatas dan bisa disesuaikan dengan kebutuhan.
Contohnya, apabila di web server ada sebuah file dengan nama index.html¸maka cara untuk mendapatkan file tersebut. Pengguna harus mengirimkan kepada web server permintaan yang berbentuk seperti ini.
7
GET /index.html HTTP/1.1
Connection: Keep-Alive
User-Agent: WebParticle (Skyfilter 32bit) XMLHTTPRequest
Dengan mengirimkan permintaan seperti di atas, maka server akan merespon dengan bentuk seperti ini.
HTTP/1.1 200 OK
Content-type: text/html
Content-length: 520
<!DOCTYPE HTML>
<html> …
… …
</html>

Setelah header mapping terakhir, ada satu baris kosong. Di bagian header mapping permintaan juga ada baris kosong, namun tidak terlihat karena pengguna yang meminta layanan tidak memberikan data apa-apa.


=> Jenis HTTP Server

Tidak semua HTTP server bekerja dengan cara yang sama. Ada HTTP server yang hanya menyediakan file statis, ada juga yang menyediakan file dinamis. Selama aplikasi tersebut melayani permintaan sesuai dengan aturan HTTP. Maka dia disebut dengan HTTP Server.

    Staticlet
Staticlet adalah web server yang tidak begitu populer, kemampuanya terbatas dan hanya bisa melayani pemberian file statis. Tidak bisa dikonfigurasi, dan lebih berguna sebagai portal untuk membuat file sharing satu arah berbasis HTTP.

    Apache
Apache merupakan salah satu web server yang populer, dilengkapi dengan kemampuan bahasa PHP, CGI (Perl, Python), juga konfigurasi menggunakan file .ht. Apache bisa melakukan tugasnya dengan baik, konfigurasinya juga banyak dan sangat mudah dipelajari.

    Nginx
Nginx adalah salah satu web server yang bekerja dengan cepat. Nginx menggunakan C++, salah satu bahasa yang bekerja dengan cepat.

    IIS
IIS adalah web server dari Microsoft, kemampunya dalah dia mampu menggunakan dan mengoptimalkan teknologi Microsoft seperti .NET, ASP, WCF, Hyper-V, dll.

    GlassFish
GlassFish adalah salah satu server yang menggunakan Java sebagai platformnya. Java sendiri merupakan platform independen yang bisa berjalan di berbagai paltform.
Apache terinstall bersamaan saat kita menginstall Debian apabila kita mencentang Web Server pada saat installasi.


    B. DNS SERVER

=> Pengertian 

Domain Name System (DNS) adalah sebuah standard dalam technology untuk mengatur penamaan publik dari sebuah situs website atau domain internet. Dengan adanya Teknologi DNS, memungkinkan anda untuk mengetikkan atau menulis nama atau domain ke sebuah web browser (misal www.mukti-server-16.co.id) dan Komputer Anda akan secara otomatis menemukan alamat IP dari domain tersebut di internet. Elemen kunci dari DNS adalah seluruh DNS Server yang ada di dunia.

DNS server adalah komputer / server yang terdaftar dan terhubung ke Domain name System (DNS). DNS Server bertugas menjalankan software networking khusus, yang memetakan alamat IP yang berisi database nama network dan internet hostname.


=> Fungsi

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.


=> Keunggulan

• 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 :
    ✓ unsri.ac.id mempunyai IP 222.124.194.11, 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.


=> DNS Root Server

DNS servers melakukan komunikasi antar satu dengan yang lainnya melalui private network. Semua DNS Server terorganisir dalam sebuah hierarchy (level). Di level paling atas (top level) hierarchy, biasa disebut sebagai root servers yang mnyimpan database lengkap dari nama domain internet beserta Alamat IP yang terhubung dengan domain internet tersebut. Internet memiliki 13 Unit root servers yang terkenal dengan peran khusus mereka.

Root server dikelola oleh berbagai lembaga, dan diberinama alphabet A, B, C sampai M. 10 Server berlokasi di USA, 1 di Japan, 1 di London, dan 1 lagi di Stockholm, Swedia.


=> Cara Kerja DNS Server

DNS adalah sebuah system terdistribusi, artinya hanya ada 13 root server yang berisi database domain internet beserta alamat IP yang terhubung dengannya. Semua DNS Server lain yang terhubung ke Internet harus berada di bawah 13 root server ini. 

DNS Server yang berada di bawah root server rata rata dimiliki oleh perusahaan swasta atau oleh ISP (Internet Service Providers). Sebagai contoh, Google mengelola berbagai DNS Server di seluruh dunia untuk memanage google.com, google.co.uk, dan domain google lainnya. ISP juga mengelola DNS Server sebagai bagian dari setup koneksi internet yang menghubungkan komputer Anda ke internet.


=> Public DNS Servers

Public DNS Server adalah server yang bisa kita gunakan untuk menerjemahkan alamat domain menjadi alamat IP yang bisa dikenal oleh internet. DNS server ini minimal terdiri dari 2 IP yaitu primary DNS Server dan Secondary DNS Server. Kedua IP ini wajib kita masukkan di konfigurasi internet networking PC kita. 

Beberapa Public DNS Server yang sering digunakan adalah:
No Provider         IP Primary DNS     IP Secondary DNS 
1 Google             8.8.8.8                 8.8.4.4 
2 Open DNS 208.67.222.222 208.67.220.220 

=> Named Servers

Name server adalah Server yang bertugas menampung DNS Record dari sebuah domain. Jumlah Named Server dari satu domain minimal 2 walaupun masih dalam 1 IP. contoh dari Name server adalah seperti yang digunakan oleh bestariweb Host yaitu: 

     ns1.smeksa-server-9.co.id 
     ns2.smeksa-server-9.co.id 
     ns3.smeksa-server-9.co.id 
     ns4.smeksa-server-9.co.id 

Keempat Named server tersebut bertugas memetakan alamat IP dari domain bestariwebhost dan sub domain yang ada di bawahnya, termasuk pula memetakan dimana letak mail servernya dan beberapa DNS record lain yang berfungsi sebagai security dan validator seperti DKIM dan SPF.


V.    LANGKAH KERJA

          ==== KONFIGURASI WEB SERVER DI DEBIAN 10 ====

1. Buka mesin virtual, login, lalu setting ip menggunakan command "nano /etc/network/interfaces"


Tampilan awal :


2. Lakukan konfigurasi seperti dibawah ini kemudian "ctrl+x" lalu "y"



3. Restart networking menggunakan command "/etc/init.d/networking restart"


4. Check apakah ip sudah tersetting menggunakan command "ip a"


5. Jika sudah langkah selanjutnya adalah menginstall apache2 untuk web server. Ketikkan perintah "apt-get install apache2". Untuk menginstall lynx ketikkan perintah "apt-get install lynx"


6. Selanjutnya akan muncul pertanyaan apakah ingin melanjutkan, ketik "y"

7. Kemudian insertkan iso (dvd biner 1) lalu enter


8. Check apakah web server berhasil dibuat dengan mengetikkan perintah "lynx ipaddress"


Jika berhasil maka hasilnya seperti ini :


9. Coba access web dari client


Web server telah berhasil.



==== KONFIGURASI DNS SERVER ====

1. Ketikkan perintah "apt-get install bind9 bind9 utils dnsutils" untuk menginstall paket dns 


2. Lalu akan muncul pertanyaan apakah ingin melanjutkan, ketik "y"


3. Masukkan iso (dvd 2) lalu enter


4. Lakukan konfigurasi dengan cara masuk ke "cd/etc/bind"


5. Copy db.local menjadi db.blablabla, disini saya mengcopy db.local menjadi db.cindy



6. Lakukan konfigurasi dengan mengetikkan command "nano db.cindy"


7. Lakukan konfigurasi seperti gambar di bawah ini


8. Lakukan konfigurasi lagi dengan mengetikkan command "nano named.conf.default-zones"


9. Lakukan konfigurasi seperti gambar berikut ini


10. Restart bind9 dengan command"/etc/init.d/bind9 restart"


11. Check apakah server sudah connect menggunakan command "nslookup"


12. Coba akses melalui browser client


DNS Server telah berhasil.





















Komentar

Posting Komentar