Assalamu'alaikum warahmatullahi wabarakatuh
Pada kesempatan kali ini, kita akan mengulas mengenai web server yang banyak digunakan di dunia, yaitu Nginx dan Apache. Web server sendiri adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser (Mozilla Firefox, Google Chrome) dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML.
Fungsi utama Server atau Web server adalah untuk melakukan atau akan mentransfer berkas permintaan pengguna melalui protokol komunikasi yang telah ditentukan sedemikian rupa. Halaman web yang diminta terdiri dari berkas teks, video, gambar, file dan banyak lagi. Pemanfaatan web server berfungsi untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web termasuk yang di dalam berupa teks, video, gambar dan banyak lagi.
Dibawah ini merupakan perbedaan antara Apache dengan Nginx:
- Apache adalah server HTTP open-source sedangkan Nginx adalah open-source, web server asinkron berkinerja tinggi, dan server proxy terbalik.
- Perbaikan bug, dukungan, pemeliharaan, dan pengembangan aplikasi di server HTTP Apache dikelola dan dikelola oleh komunitas pengguna dari seluruh dunia dan dikoordinasikan oleh Yayasan Perangkat 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 permintaan klien dan trafik web. Sedangkan Nginx dirancang sedemikian rupa untuk menangani beberapa permintaan klien secara bersamaan dengan sumber daya perangkat 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 meningkatkan kinerja.
- Apache HTTP Server memiliki arsitektur multi-threaded yang tidak memiliki skalabilitas. Sedangkan Nginx mengikuti pendekatan event-driven asinkron untuk menangani beberapa permintaan klien. Arsitektur event-driven dirancang untuk 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.
KONFIGURASI APACHE
1. Konfigurasi IP Address, sesuaikan dengan jaringan yang ada di tempat anda.
2. Konfigurasi DNS, sebelum melakukan konfigurasi ini kita membutuhkan aplikasi BIND9, silahkan diinstal terlebih dahulu di server anda. Jika sudah diinstal, masuk ke direktori /etc/bind/, kemudian copy file db.local. Untuk nama file yang dicopy terserah saja, seperti contoh dibawah ini saya namakan file "belajar". Buka file tersebut, dan ubah teks localhost menjadi nama domain yang anda inginkan.
3. Lakukan pengujian koneksi terhadap domain tersebut.
4. Install aplikasi dan paket-paket apache web server, dengan perintah apt install apache2. Kemudian tekan Y dan enter untuk melanjutkan instalasi.
5. Pindah ke direktori /etc/apache2/sites-available/, dan copy file 000-default.conf menjadi (namafile).conf. Disini saya contohkan nama filenya adalah belajar.conf. Untuk perintah copy nya adalah cp (file yang ingin dicopy) (nama file setelah dicopy).
6. Buka file yang tadi dicopy, kemudian ubah ServerName menjadi nama domain yang sebelumnya telah dikonfigurasi.
7. Untuk merubah konten website default apache, filenya bisa diubah di direktori /var/www/html/, ubah file index.html. Disini dicontohkan hanya merubah teks saja, untuk membuat konten website yang baik, diperlukan pengetahuan tentang coding dan pemrograman website.
8. Matikan file 000-default.conf dengan perintah a2dissite (namafile).
9. Dan aktifkan file belajar.conf (yang tadi dikonfigurasi) dengan perintah a2ensite (namafile).
10. Restart web server apache dengan perintah /etc/init.d/apache2 restart.
PENGUJIAN APACHE
1. Arahkan alamat DNS pada komputer client ke IP server.
2. Pastikan client sudah bisa melakukan ping ke nama domain.
3. Lakukan pengetesan di web browser menggunakan alamat IP dan menggunakan nama domain.
Selanjutnya kita akan mencoba membuat 2 domain pada Debian, yang nantinya akan kita akses web servernya menggunakan domain tersebut. Filenya akan diletakkan pada /var/www/(namadomain).html, dan kita akan mencoba script html dengan marquee (teks berjalan).
KONFIGURASI
1. Kita buat 2 nama domain yang berbeda. Copy file db.local menjadi 2 file untuk forward DNS dengan nama file sesuai yang anda inginkan.
2. Buka kedua file tersebut, dan ubah isinya yang semula localhost menjadi nama domain. Kemudian masukkan juga alamat IP dari server kita.
3. Buka file named.conf.local, dan buat zone untuk kedua nama domain yang sebelumnya kita buat. Path file arahkan ke masing-masing file forward DNS.
4. Restart BIND9 untuk menerapkan perubahan yang telah kita lakukan.
5. Lakukan pengujian terhadap kedua nama domain yang telah dikonfigurasi. Pastikan DNS telah bekerja.
6. Buat 2 folder konten untuk masing-masing domain di direktori /var/www/. Masukkan perintah mkdir (nama folder), dan buat sebuah file konten didalam folder tersebut dengan nama file index.html.
7. Masukkan script html dengan marquee. Untuk scriptnya silahkan browsing di internet, banyak yang sudah menyediakannya. Berikut ini adalah contoh sederhana dari script tersebut.
8. Lakukan hal yang sama pada folder konten yang satunya lagi. Dan buat file index.html, serta masukkan scriptnya.
9. Pada direktori /etc/apache2/sites-available/, kita buat VirtualHost dengan melakukan copy pada file 000-default.conf, dengan menggunakan perintah cp (nama file yang ingin dicopy) (nama file setelah dicopy).conf.
10. Ubah isi file tersebut. Masukkan nama domain pada ServerName dan path file tempat kita meletakkan file konten website.
11. Buat link pada kedua file tersebut, letakkan pada /etc/apache2/sites-enabled/. Kemudian restart apache dengan perintah systemctl restart apache2.
12. Lakukan pengetesan dengan memasukkan nama domain pada web browser. Pastikan domain dapat diakses, dan konten website sesuai dengan yang telah kita masukkan scriptnya.
KONFIGURASI NGINX
1. Bagi yang sebelumnya menginstall apache web server seperti pada step diatas, kita matikan dulu apache nya dengan perintah systemctl stop apache2, kemudian cek dengan perintah systemctl status apache2. Pastikan statusnya menjadi inactive.
2. Kemudian install nginx beserta paket-paketnya dengan perintah apt install nginx, kemudian tekan Y dan enter untuk melanjutkan instalasi.
3. Pada direktori /var/www/html/, pindahkan file index.html milik apache. Agar yang berada di direktori tersebut hanya ada 1 file konten milik nginx.
4. Sebelum kita cek melalui web browser, kita lihat status nginx dengan perintah systemctl status nginx. Pastikan statusnya active (running) seperti pada gambar dibawah ini.
PENGUJIAN NGINX
1. Pengujian pertama, kita masukkan alamat IP server pada web browser. Dan pastikan halaman web nginx berhasil muncul seperti pada gambar dibawah ini.
2. Jika pada sebelumnya sudah pernah dipasang DNS, maka pengujian dengan memanggil nama domain pada web browser pun harusnya sudah berhasil dilakukan seperti pada gambar dibawah ini.
Selanjutnya kita akan membuat web server nginx dengan 2 nama domain dan masing-masing domain tersebut memiliki konten web yang berbeda. File path nya akan diletakkan pada /home/(namaanda).
KONFIGURASI
1. Install BIND9, kemudian masuk ke direktori /etc/bind/. Copy file db.local menjadi 2 file baru untuk dijadikan sebagai forward DNS.
2. Buka file tersebut, ubah localhost menjadi nama domain. Dan tambahkan subdomain www serta masukkan alamat IP dari server tersebut.
3. Buka file named.conf.local, dan masukkan zone dari masing-masing domain. Arahkan path file ke file yang sudah dicopy dan diedit sesuai dengan domainnya masing-masing.
4. Restart service bind9 dengan perintah systemctl restart bind9, dan uji koneksi ke masing-masing domain yang sudah dibuat.
5. Buat 2 folder untuk konten dari masing-masing domain pada direktori /home/(namauser)/.
6. Copy file konten pada direktori /var/www/html/ ke folder yang sudah dibuat di /home/(namaanda)/. Beri nama index.html pada file tersebut.
7. Buka file index.html, dan silahkan ubah script pada file tersebut sesuai keinginan anda. Disini saya hanya akan merubah beberapa teks dengan tampilan web sederhana untuk pengujian.
8. Pada direktori /etc/nginx/sites-available/, copy file default menjadi 2 file untuk Server Blocks (VirtualHost) pada nginx.
9. Buka file tersebut, dan ubah pada bagian listen (port http), root (file path untuk konten website), dan server name (nama domain). Lakukan pada kedua file sesuai domainnya masing-masing.
10. Buat link pada kedua file tersebut, letakkan di /etc/nginx/sites-enabled/. Kemudian lakukan reload pada service nginx.
11. Lakukan pengujian dengan memanggil kedua domain melalui web browser. Pastikan konten website telah sesuai dengan domain masing-masing sesuai dengan konfigurasi yang telah dilakukan.
Sumber:



















































