Dunia IT

Berisikan tentang ber-macam macam ilmu tentang Dunia IT

Breaking

Search This Blog

Tuesday, June 23, 2020

Web Server Apache & Nginx Debian 9.8

Hai sobat Dunia IT ! bertemu lagi dengan saya kautsar, dalam penulisan saya kali ini saya akan sharing bagaimana cara konfigurasi web server apache & nginx debian 9.8. 
Sebelum itu sobat sudah tau belum apa itu Apache dan Nginx, jika belum tahu mari kita simak penjelasan dibawah. 

Apache dan Nginx adalah dua pemain utama dalam bisnis web server yang mencakup 5 persen lalu lintas web melalui internet tetapi mereka berbeda satu sama lain.

Apache adalah "Apache HTTP Server". Ini adalah perangka lunak web server open-source, bekinerja tinggi yang dikembangkan dan dikelola oleh Apache Softtware Foundaion. Apache dirancang unuk membua web server kelas komersial yang aman, kuat, dan efisien sesuai dengan standar HP saat ini.

Apache tetap menjadi pilihan pertama di antara administrator server karena fleksibilitas, kesederhanaan arsitektur, kompatibilitas daya, dan dukungan multi-platform. Ini dapa berjalan di hampir semua sisem operasi, seperi Windows, UNIX, OSX, NetWare, dan lain-lain. Namun umumnya digunakan dalam kombinasi dengan Linux. 

Apache menjadi tulang punggung WWW (World Wide Web) tetapi ketika nginx datang dalam bisnis, pilihan administrator server berubah. 

Mari kita lihat perbedaan antara Apache dan Nginx : 
  • Apache adalah server HTTP open-source sedangkan Nginx adalah open-source, web server asinkron berkinerja tinggi, dan server prox terbaik.
  • Perbaikan bug, dukungan, pemeliharaan, dan pengembangan aplikasi di server HTTP Apache dikelola dan dikelola oleh komunitas pengguna dari seluruh dunia dan dikoordinasikan oleh Yayasan Perangka Lunak Apache sedangkan Nginx ditangani oleh perusahaan dengan nama yang sama yang didirikan di 2011. 
  • Perbedaan utama antara keduanya adalah bagaimana mereka menangani permintaan klien. Apache menyediakan berbagai modul multiprosesor yang berbeda untuk menangani perminaan klien dan trafik web. Sedangkan Nginx dirancang sedemikian rupa unuk menangani beberapa perminaan klien secara bersamaan dengan sumber daya perangka keras minimal. 
  • Di Apache, single thread dikaitkan dengan hanya satu koneksi sedangkan single thread di Nginx dapat menangani beberapa koneksi. Semua proses dimasukkan ke dalam event loop bersama dengan koneksi lain dan dikelola secara tidak sinkron. Proses ini menghabiskan lebih sedikit memori sehingga meningkakan kinerja.
  • Apache HTTP Server memiliki arsitektur multi-threaded yang tidak memiliki skalabilitas. Sedangkan Nginx mengikuti pendekatan event-driven asinkron unuk menangani beberapa perminaan klien. Arsitektur event-driven dirancang unuk memfasilitasi kinerja yang lebih baik bahkan di bawah trafik yang padat. 
  • Server Apache menyajikan konten statis menggunakan metode konvensional dan memproses konten dinamis secara asli di dalam web server itu sendiri. Nginx tidak dapat memproses konten dinamis secara internal. Itu bergantung pada proses eksternal untuk eksekusi. 
Apache NGINX
Apache berjalan di semua sistem seperti Unix, seperti Linux, BSD, dan lain-lain. Serta sepenuhnya mendukung Windows.Nginx berjalan pada sistem mirip Unix modern; namun memiliki dukungan terbatas untuk Windows
Apache menggunakan pendekatan multi-threaded untuk memproses permintaaan klien. Nginx mengikuti pendekatan event-drive untuk melayani permintaan klien.
Apache tidak dapat menangani beberapa permintaan secara bersamaan dengan trafik
web yang berat.
Nginx dapat menangani beberapa permintaan klien secara bersamaan dan efisien dengan sumber daya hardware yang terbatas.
Apache dirancang untuk menjadi web server. Nginx adalah web server dan proxy server.
Modul dimuatt atau dibongkar secara dinamis sehingga lebih fleksibel.Karena modul tidak dapat dimuat secara dinamis, mereka harus dikompilasi dalam software inti itu sendiri.
Single thread hanya dapat memproses satu koneksi.Single thread dapat menangani beberapa koneksi.
Kinerja Apache untuk konten statis lebih rendah dari Nginx.Nginx secara bersamaan dapat menjalankan ribuan koneksi konten statis dua kali lebih cepat dari Apache dan menggunakan sedikit memori.
Setelah kita memahami apa itu Apache dan Nginx. Kita persiapkan bahan yang akan kita gunakan : 
  • File ISO (Debian 9.8.0-amd64-DVD-1)

Topologi :


Saat semuanya sudah siap langsung saja kita mulai konfigurasinya. 

1.  Pertama-tama kita check IP, saya memakai dua network adapter yang ens33 berfungsi sebagai mendapatkan paket dari internet karena bisa saja paket yang ada di dalam file iso itu tidak lengkap, sedangkan untuk ens37 berfungsi sebagai IP dari web server yang kita buat nanti.


2. Disini kita test ping google.com karena tujuan nya di awal ada saja paket yang tidak lengkap di file iso karena itu kita mengambil paket dari repository luar nantinya.


3. Masukan perintah : cd /etc/bind
    yang berarti kita pindah ke dalam folder /etc/bind.


4. Edit file dengan perintah : nano named.conf.local


5. Disini biasanya kita hanya menggunakan satu IP untuk santau domain, di materi kali ini kita akan mecoba 2 domain dalam 1 IP.


6. Copy file db.127 menjadi db.ip dengan perintah : cp db.127 db.ip 


7. edit file dengan editor nano dengan peritnah : nano db.ip 


8. Seperti biasa isikan seperti digambar tapi berbeda seperti sebelumnya, karena kita menggunakan dua domain dalam satu IP kita tambahkan domain ke dua dibawahnya domain pertama. 


9. Copy file db.local menjadi db.domain dengan peintah : cp db.local db.domain 


10. Copy file db.local menjadi db.domain2 dengan perintah : cp db.local db.domain2 


11. Edit file db.domain dengan perintah : nano db.domain 


12. Isikan seperti digambar sesuai dengan domain dan IP yang kalian gunakan.


13. Edit file db.domain2 dengan perintah : nano db.domain2


14. Isikan seperti digambar sesuai dengan domain dan IP yang kalian gunakan.


15. Edit file named.conf.options dengan perintah : nano named.conf.options 


16. Isi 0.0.0.0 menjadi IP yang kita gunakan sebagai web server nantinya.


17. Setelah kita mengkonfigurasi kita restart bind9 dengan perintah : /etc/init.d/bind9 restart


18. Edit file menggunakan editor nano dengan perintah : nano /etc/resolv.conf


19. Perlu kalian tau disini kita hanya perlu memasukan IP dari dns yang kita buat tadi, jadi search apache.ap & nginx.ng pun tidak perlu.


Pengujian DNS 
Kita masuk dalam tahapaan penggujian konfigurasi bind9

1. Masukan perintah nslookup untuk masing-masing domain dan kita uji menggunakan www.


2. Sekarang kita uji melalui dig dan kita coba tidak menggunakan www.


3. Jika kalian tidak bisa dig harap install paket yang bernama : apt-get install dnsutils

Instalasi Apache2 
Saat kita sudah selesai konfigurasi bind9 mari kita lanjutkan ke Instalasi Apache dan konfigurasinya.

1. Kita install paket Apache2 dengan perintah : apt-get install apache2 -y 


2. Disini kita memasukan dua perintah yaitu : 
  • cd /etc/apache2/sites-available/ : yang artinya kita berpindah direktori ke ./etc/apache2/sites-available/
  • cp 000-default.conf kautsar.conf : fungsi sebagai membuat copy dari file 000-default.conf menjadi kautsar.conf karena yang akan kita gunakan adalah kautsar.conf, dan sebaiknya sebagai administrator kita harus mempunyai backup dari semua konfigurasi biar lebih aman dalam kesalahan nantinya.

3. Edit file menggunakan editor nano dengan perintah : nano kautsar.conf


4. Simak masing-masing penjelasan dibawah : 
  • ServerName : www.apache.ap (adalah domain yang saya gunakan) jadi misalkan domain kalian adalah www.google.com pakai lah jadi ServerName www.google.com.
  • DocumentRoot /var/www/html/ : fungsinya sebagai peletakkan dari sebuah html yang akan menjadi tampilan webnya nanti.


5. Masukan perintah cd untuk berpindah ke folder /var/www/html dengan perintah : cd /var/www/html/


6. Edit file menggunakan editor nano dengan perintah : nano index.html


7. Kita edit html nya untuk bagian judul dan sub judul nantinya, sebelum nya kenapa saya menambah kan script marquee. Itu hanya iseng-iseng coba karena marquee sendiri itu adalah elemen HTML non-standar yang menyebabkan teks untuk menggulir ke atas, bawah, kiri atau kanan secara otmatis. 


8. Masukan perintah a2dissite untuk menonaktifkan mengunakan 000-default.conf karena kita sudah membuat kautsar.conf


9. Masukan perintah a2ensite kautsar.conf untuk mengaktifkan file ini menjadi yang dipakai untuk penggunaan web server apache.


10. Setelah kita konfigurasikan kita restart terlebih dahulu dengan perintah : /etc/init.d/apache2 restart



Pengujian Apache2
Kita ketahapan pengujian dari Apache2 yang telah kita konfigurasi sebelumnya

1. Jangan lupa untuk memasukkan IP dari Server Debian ke client.


2. Kita uji melalui nslookup dari dua domain tersebut, dan perlu di ingat bahwa dig tidak ada di Windows.


3. Uji ping dari dua domain tersebut, dan pastikan IP nya sama.

4. Kita langsung pengujian melalui web browser google, masukan dns yang kita buat yaitu apache.ap.


5. Kita uji juga melalui IP apakah bisa web servernya di panggil melalui IP.



Insalasi Nginx
Nah karena ktia sebelumnya sudah menginstall Apache2 saat nya kita mencoba Nginx

1. Gunakan perintah systemctl stop Apache2 untuk memberhentikan layanan dari Apache2 karena Apache2 dan Nginx adalah web server jika keduanya aktif tidak akan berfungsi.


2. Pastikan lagi kalau layanan dari apache2 sudah off dengan perintah : systemctl status apache2


3. Kita install paket dari nginx dengan perintah : apt-get install nginx -y 


4. Simak penjalasan perintah dibawah :
  • cd .. : untuk mundur satu folder kebelakang
  • mkdir html 2: kita membuat folder bernama html2.


5. Setelah itu kita check apakah sudah ada folder tersebut dengan perintah : ls 


6. Simak penjelasan dibawah : 
  • cd html : adalah perintah untuk berpindah ke folder html.
  • ls : untuk mengecheck ada file atau folder apa saja di dalam folder tersebut.
  • mv index.nginx-debian.html /var/www/html2/ : adalah untuk memindahkan file index.nginx-debian.html ke folder /var/www/html2/


7. Kita edit file yang berada di /etc/nginx/sites-available dengan perintah : nano /etc/nginx/sites-available/default


8. Root ini adalah peletakkan dari path yang akan kalian gunakan karena saya sebelumnya membuat html2 jadi saya masukan html2. 


9. Restart nginx dengan perintah : /etc/init.d/nginx restart


10. Sebelum ketahap pengujian pastikan kita sudah start nginx dengan perintah : systemctl start nginx



Pengujian Nginx

1. Melalui domain kita uji coba.


2. Melalui IP.

No comments: