Rabu, 07 Mei 2025

KONFIGURASI WEB SERVER PADA LINUX



KONFIGURASI WEB SERVER PADA LINUX


Disusun Oleh:

  1. M TAKHLIS GRISKA RAFI

(24051204070)

  1. HANIF AKBAR PRAMUDYANTO

(24051204076)

  1. MU'ADZ ABDULLOH

(24051204080)

  1. QURROTA A'YUN

(24051204082)

  1. ALRE AHMAD SATRIAWAN

(240512040083)

  1. MUHAMMAD ADNIL JIBRAN

(240512040102)







BAB I

PENDAHULUAN

1.1 Latar Belakang

Di era digital ini, kebutuhan layanan web seiring berjalan nya waktu makin bertambah. Salah satu komponen utama yang menunjang layanan web yaitu web server. Dari sekian banyak web server kita mencoba menggunakan NGINX karena memiliki keunggulan dalam hal efisiensi, kecepatan, dan kemampuannya menangani koneksi dalam jumlah besar secara simultan, selain itu

    NGINX lebih ringan dan sangat cocok untuk situs dengan trafik tinggi maupun kebutuhan reverse proxy dan load balancing. Di sisi lain, Ubuntu Server sebagai salah satu distribusi linux yang stabil dan memiliki komunitas pengguna yang luas menjadi pilihan ideal dalam pembangunan dan pengelolaan server,  Penguasaan terhadap konfigurasi manual NGINX di Ubuntu Server menjadi penting, tidak hanya untuk meningkatkan pemahaman teknis, tetapi juga sebagai bekal dalam dunia kerja yang menuntut keterampilan manajemen sistem dan keamanan jaringan.


1.2 Rumusan Masalah

  1. Apa itu NGINX dan bagaimana perannya sebagai web server dalam lingkungan Ubuntu Server?

  2. Bagaimana cara melakukan instalasi dan konfigurasi NGINX sebagai web server pada  Ubuntu Server?

  3. Apa saja tantangan yang dihadapi dalam proses konfigurasi NGINX di Ubuntu Server? 



1.3 Tujuan Laporan

  1. Menjelaskan konsep dasar dan fungsi NGINX sebagai web server

  2. Untuk Menunjukan Langkah-Langkah instalasi dan konfigurasi NGINX sebagai web server pada Ubuntu Server

  3. Mengidentifikasi permasalahan yang umum terjadi saat konfigurasi dan memberikan solusi teknisnya

1.4 Manfaat Penulisan

  1. Memberikan pengalaman praktis dalam instalasi dan mengelola web server menggunakan NGINX di  Ubuntu Server, serta meningkatkan pemahaman tentang manajemen sistem berbasis Linux

  2. Menjadi referensi praktis dalam memahami tahapan konfigurasi web server yang efisien dan stabil, serta memberikan wawasan tentang penerapan NGINX di dunia nyata

  3. menjadi panduan praktid dalam penerapan web server yang efisien dan ringan untuk kebutuhan pengembangan maupun produksi





BAB II

TEORI PENUNJANG

2.1 Pengertian Web Server

Web Server adalah perangkat lunak atau perangkat keras yang didekasikan untuk menjalankan perangkat lunak ini, sehingga dapat memenuhi permintaan klien di World Wide Web. Web server dapat berisi satu atau lebih dari satu situs web. Web server memproses permintaan jaringan yang masuk melalui HTTP dan beberapa protokol lainnya.

Fungsi utama dari web server ini adalah untuk menyimpan, memproses dan mengirimkan halaman web ke klien dengan komunikasi antara klien dan server berlangsung menggunakan Hypertext Transfer Protocol (HTTP). Web server sering ditemukan tertanam dalam perangkat seperti printer, router, webcam dan hanya melayani jaringan lokal. Web server kemudian dapat digunakan sebagai bagian dari sistem untuk memantau atau mengelola perangkat yang dimaksud, yang berarti bahwa tidak ada perangkat lunak tambahan yang harus diinstal pada komputer klien karena hanya diperlukan browser web.

2.2 Pengertian NGINX

NGINX adalah software web server open-source yang berfungsi sebagai reverse proxy, penyeimbang beban HTTP, serta proxy email untuk IMAP, POP3, dan SMTP. NGINX dibaca “engine-ex”, dari kata engine yang berarti mesin. NGINX dapat bekerja di hampir semua sistem operasi.  NGINX ini diciptakan untuk menyelesaikan masalah C10k, yaitu masalah pada performa sistem ketika menangani 10.000 koneksi dalam waktu yang bersamaan, yang kemudian NGINX diharapkan dapat menjawab masalah tersebut tetapi hanya menggunakan kapasitas memori yang rendah.

NGINX diciptakan dengan beberapa fungsi yaitu,

  1. NGINX sebagai web server dengan performa yang tinggi. Dengan menggunakan arsitektur asynchronous event-driven, NGINX mampu meningkatkan kecepatan dan stabilitas dalam menangani traffic yang tinggi. Dengan begitu seiring waktu NGINX terus berkembang dan mengungguli beberapa web server lainnya dalam hal performa.

  2. NGINX Beyond Web Serving, aplikasi ini memiliki arsitektur yang dapat diskalakan, yang ideal untuk tugas-tugas selain menampilkan konten ke pengguna. Aplikasi ini mampu menangani banyak koneksi secara bersamaan, sehingga dapat digunakan sebagai reverse proxy dan load balancer untuk mendistribusikan lalu lintas masuk ke server upstream secara merata, bahkan jika server tersebut lebih lambat. 


2.3 Mengenal Ubuntu Server

Ubuntu Server adalah sistem operasi yang digunakan sebagai sistem operasi server dan dapat digunakan untuk berbagai tujuan seperti server web, aplikasi, database, virtualisasi dan banyak lagi.

Ubuntu Server ini menggunakan antarmuka yang sama dengan Ubuntu Desktop, tetapi tidak menyertakan antarmuka grafis yang digunakan pada komputer desktop. Ubuntu Server menyediakan antarmuka teks yang digunakan untuk mengelola sistem operasi dan perangkat lunak yang terinstal. Ubuntu Server menyediakan perangkat lunak yang dapat dikurasi dan dikonfigurasikan untuk digunakan sebagai sistem operasi server, serta alat yang digunakan untuk mengelola sistem operasi dan perangkat lunak yang terinstal.




BAB III

PEMBAHASAN

3.1 Alat dan Bahan

Minimum Spesifikasi

1.

Processor 

1GHz atau lebih

2.

RAM

2 GB atau lebih

3.

Penyimpanan

15GB Penyimpanan kosong 

4.

Display

Kartu grafis dengan 1024x768 resolusi layar

5.

Media 

Bootable USB drive atau DVD drive


Rekomendasi Spesifikasi


1.

Processor

2GHz dual-core processor

2.

RAM

4 GB RAM atau lebih

3.

Penyimpanan

20 GB penyimpanan kosong

4.

Display

Kartu grafis dengan 1366x768 resolusi layar

5.

Media

Bootable USB drive atau DVD drive


Aplikasi dan file yang perlu disiapkan:

1.

Virtual Box

2.

Ubuntu Server

3. 

NGINX

4.

PHP dan MySQL

5.

Git


3.2 Langkah-Langkah

  1. Persiapkan Ubuntu Server dalam Virtual Box dengan menggunakan preferensi network Bridged Adapter supaya website dapat langsung dibuka di browser Windows.

  2. Masuk ke mode root


  3. Update package repository dan install program-program yang dibutuhkan


    Disini versi PHP yang akan terinstal adalah versi terbaru
  4. Setelah program-program tersebut berhasil terinstal, pastikan bahwa service NGINX



  5. berjalanJika NGINX belum aktif, maka dapat kita aktifkan


  6. Selanjutnya kita konfigurasi NGINX



    Disini kita ubah supaya halaman website awal adalah file index.php karena kita akan menggunakan PHP.
    Di bagian ini kita tambahkan “index.php”
    Selanjutnya adalah konfigurasi php-fpm
    Disini kita uncomment sebagian barisnya dan mengubah bagian “...php7.4-fpm…” menjadi sesuai dengan versi php-fpm yang kita gunakan. Misalkan disini kami menggunakan versi 8.3.


  7. Save perubahan yang sudah kita lakukan.

  8. Selanjutnya kita dapat mengecek apakah web-server kita sudah berjalan dengan NGINX. Kita buka IP dari Ubuntu kita dan kita buka di browser.


    Jika IP yang kita masukkan menunjukkan seperti gambar diatas, berarti NGINX berhasil berjalan dan web-server berhasil dibuat.

  9. Disini kita ingin deploy website dengan bahasa pemrograman PHP, kami mengambil sampel web dari Github: https://github.com/fakhrulnugroho/php-todo maka kita akan instal Git supaya dapat clone repository tersebut.

  10. Setelah instalasi berhasil, kita clone repository tersebut di /var/www kemudian menghapus directory “html” mengubah nama directory “php-todo” menjadi “html”.


  11. Selanjutnya kita membuat user dan database di MYSQL. Buka MYSQL.


  12. Dalam MYSQL, buatlah kita buat sebuah database dengan nama bebas, misal disini kita menggunakan nama “db_demo”.


  13. Setelah membuat database, kita membuat user dengan nama “user” dan memberinya password “pass”, kemudian memberikannya privilege terhadap database “db_demo”.


  14. Terakhir kita akan menghubungkan database MYSQL dengan website kita. Temukan file connection.php di directory /var/www/html dan dibuka menggunakan nano.


    Kita ubah nilai $db_user dengan nama user database yang kita buat tadi, yaitu ‘user’, bagian $db_pass juga kita ubah menjadi ‘pass’, dan nilai $db_name kita ubah menjadi‘db_demo’.

  15. Setelah semua step sudah kita lakukan, kita bisa melihat IP server kita di browser.


    Web-server kita berhasil terintegrasi dengan PHP dan MYSQL.

3.3 Hasil

Setelah seluruh tahapan instalasi dan konfigurasi, sistem berhasil menjalankan web server berbasis NGINX dengan dukungan PHP dan MYSQL di Ubuntu Server pada VirtualBox. Adapun hasil yang didapatkan adalah:

  1. Akses Web Server melalui Browser.

Web server dapat diakses dengan menggunakan IP Address Ubuntu Server dari browser host dan website dapat tampil yang menunjukkan bahwa NGINX berjalan dengan baik.

  1. Koneksi ke MYSQL

Website Todo-list yang kita deploy di web server kita berhasil terhubung dengan database MYSQL dengan konfigurasi di connection.php.



BAB IV

PENUTUP

4.1 Kesimpulan 

     Konfigurasi web server menggunakan NGINX di Ubuntu Server merupakan langkah penting dalam membangun infrastruktur layanan web yang cepat, efisien, dan handal. Dengan pendekatan konfigurasi yang sederhana namun fleksibel, NGINX mampu menangani lalu lintas jaringan tinggi dengan penggunaan sumber daya yang minimal. Proses instalasi dan konfigurasi yang dilakukan di Ubuntu Server menunjukkan bahwa sistem operasi open-source ini sangat kompatibel dengan NGINX, serta menyediakan kemudahan dalam pengelolaan server. Melalui pemahaman terhadap file konfigurasi, manajemen virtual host, dan pengamanan dasar, administrator sistem dapat menyajikan layanan web yang optimal dan aman. Dengan demikian, NGINX menjadi pilihan ideal sebagai web server untuk berbagai skala kebutuhan, dari personal hingga enterprise.

4.2 Saran

      Agar konfigurasi web server NGINX di Ubuntu Server dapat berjalan lebih optimal dan aman, disarankan untuk menambahkan lapisan keamanan seperti penggunaan SSL/TLS untuk enkripsi data, serta konfigurasi firewall dan pembatasan akses IP guna mencegah akses tidak sah. Administrator juga sebaiknya rutin memantau performa server melalui alat monitoring dan menganalisis log NGINX secara berkala untuk mendeteksi potensi masalah lebih dini. Selain itu, melakukan backup terhadap file konfigurasi sebelum perubahan sangat penting untuk menjaga kestabilan sistem jika terjadi kesalahan. Optimasi pengaturan seperti jumlah worker processes dan ukuran buffer juga perlu disesuaikan dengan beban kerja server. Terakhir, penting bagi administrator untuk memiliki dokumentasi konfigurasi yang rapi dan terus memperbarui pengetahuan melalui pelatihan atau referensi terbaru, guna menjaga performa dan keamanan server dalam jangka panjang.


DAFTAR PUSTAKA

Cloudeka. (n.d.). Nginx adalah: Pengertian, fungsi, cara kerja, dan kelebihannya. Cloudeka. Diakses 7 Mei 2025, dari https://www.cloudeka.id/id/berita/web-sec/nginx-adalah/

DigitalOcean. (n.d.). Tutorials. DigitalOcean. Diakses 7 Mei 2025, dari https://www.digitalocean.com/community/tutorials

Hostinger. (n.d.). Apa itu Nginx? Pengertian, fungsi, dan cara kerjanya. Hostinger Indonesia. Diakses 7 Mei 2025, dari https://www.hostinger.com/id/tutorial/apa-itu-nginx

IDN.ID. (n.d.). Linux Ubuntu Server: Panduan lengkap untuk pemula. IDN.ID. Diakses 7 Mei 2025, dari https://www.idn.id/linux-ubuntu-server/

NGINX. (n.d.). NGINX Documentation. Diakses 7 Mei 2025, dari https://docs.nginx.com

Ubuntu. (n.d.). Ubuntu Server documentation. Diakses 7 Mei 2025, dari https://ubuntu.com/server/docs








Tidak ada komentar:

Posting Komentar