0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan6 halaman

Tugas Devops

Dokumen tersebut memberikan informasi tentang kriteria proyek akhir untuk menyelesaikan kelas jaringan komputer. Terdapat 3 kriteria utama yaitu menyiapkan web server, mengonfigurasi NGINX sebagai reverse proxy server, dan menerapkan limit access di NGINX. Peserta diminta mengirimkan berkas konfigurasi dan kode sumber sebagai submission untuk dinilai.

Diunggah oleh

Susanto Yang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan6 halaman

Tugas Devops

Dokumen tersebut memberikan informasi tentang kriteria proyek akhir untuk menyelesaikan kelas jaringan komputer. Terdapat 3 kriteria utama yaitu menyiapkan web server, mengonfigurasi NGINX sebagai reverse proxy server, dan menerapkan limit access di NGINX. Peserta diminta mengirimkan berkas konfigurasi dan kode sumber sebagai submission untuk dinilai.

Diunggah oleh

Susanto Yang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Pengantar

Selamat! Akhirnya Anda telah sampai di penghujung pembelajaran. Sejauh


ini Anda sudah mempelajari berbagai topik mengenai jaringan komputer
selama di kelas ini di antaranya seperti berikut.

 Dasar-Dasar Jaringan Komputer


 Model Jaringan
 IP Address
 Domain Name System
 Keamanan Jaringan
 Layanan Jaringan di AWS

Tentu Anda juga sudah mengerjakan seluruh latihan yang diberikan pada
materi tersebut.

Untuk dapat lulus dari kelas ini, Anda harus mengerjakan tugas, yakni
membangun web server sesuai kriteria yang akan disampaikan nanti.
Kemudian, Tim Reviewer akan memeriksa pekerjaan Anda serta memberikan
review pada proyek yang Anda buat.

Pada modul Layanan Jaringan di AWS, Anda sudah mampu membangun


web server dengan EC2 instance dan mengimplementasikan banyak hal di
sana. Nah, kali ini Anda diminta untuk melakukan hal yang serupa, bedanya
kini diimplementasikan pada komputer pribadi Anda sendiri. 

Bagi yang menggunakan sistem operasi Windows, Anda bisa kerjakan


proyek akhir ini di WSL dengan OS Ubuntu seperti yang sudah kita lakukan
di beberapa modul ke belakang. Bagi yang menggunakan Linux atau macOS,
Anda bisa kerjakan langsung di aplikasi Terminal.

Untuk melihat apa saja kriteria pada proyek akhir ini, silakan lanjut ke
submodul berikutnya.

Kriteria
Terdapat 3 kriteria utama yang harus Anda penuhi dalam mengerjakan
proyek akhir ini untuk akhirnya lulus dari kelas ini.
Kriteria 1: Menyiapkan Web Server

Langkah pertama yang perlu Anda lakukan dalam membangun web server
adalah melakukan persiapan terlebih dahulu. Persiapan ini mencakup
beberapa hal berikut ini.

1. Melakukan cloning dari repositori GitHub yang sudah disediakan oleh


Dicoding (https://github.com/dicodingacademy/a387-jarkom-labs.git).
2. Memasang NGINX.
3. Memastikan baik web server dan NGINX sama-sama bisa diakses
dengan baik.

Kriteria 2: Mengonfigurasi NGINX sebagai Reverse Proxy Server

Setelah kriteria 1 berhasil Anda kerjakan, lanjutlah menyelesaikan kriteria 2.


Di kriteria ini, Anda diminta untuk mengonfigurasi NGINX yang sudah
terinstal supaya menjadi reverse proxy server. Ini bertujuan agar saat diakses
melalui port 80 (yang digunakan oleh NGINX), permintaan atau request dapat
diteruskan ke web server.

Kriteria 3: Menerapkan Limit Access di NGINX

Usai menyelesaikan kriteria 2, lanjutkan pengerjaan proyek akhir Anda


dengan mengerjakan kriteria 3. Kriteria ini meminta Anda untuk
mengonfigurasikan NGINX (alias reverse proxy server) untuk menerapkan
limit access atau rate limit guna meningkatkan keamanan pada web server. 

Untuk kriteria ini, Anda bisa menggunakan konfigurasi yang serupa dengan
latihan di modul sebelumnya.

Penilaian
Submission Anda akan dinilai oleh Reviewer guna menentukan kebenaran
submission yang dikerjakan. Supaya bisa lulus dari kelas ini, proyek web
server Anda mesti memenuhi seluruh kriteria yang ada. Apabila ada
ketentuan dalam kriteria yang belum terpenuhi, proyek akhir Anda akan kami
tolak.

Submission Anda akan dinilai oleh Reviewer dengan penilaian bintang


berskala 1-5. Untuk mendapatkan nilai tinggi, Anda bisa menerapkan
beberapa saran berikut.

 Mengubah port NGINX dari 80 ke 3000 (bukan port web server


Node.js).
 Mengubah konfigurasi rate limit menjadi 6 request per menit alias 1
request setiap 10 detik.
 Mengubah respons web server Node.js yang semula “Hello world!”
menjadi nama lengkap peserta.
 Menggunakan alternatif web server selain NGINX, yakni Apache2.

Berikut adalah detail penilaian submission.

 Bintang 1 : Semua ketentuan wajib terpenuhi, tetapi terdapat indikasi


kecurangan dalam mengerjakan submission.
 Bintang 2 : Semua ketentuan wajib terpenuhi, tetapi berkas konfigurasi
tidak rapi (spasi atau enter tidak sedap dipandang).
 Bintang 3 : Semua ketentuan wajib terpenuhi, tetapi tidak menerapkan
saran sama sekali.
 Bintang 4 : Semua ketentuan wajib terpenuhi dan
menerapkan minimal 3 saran di atas.
 Bintang 5 : Semua ketentuan wajib terpenuhi dan menerapkan semua
saran di atas.

Catatan: Jika submission Anda ditolak maka tidak ada penilaian. Kriteria
penilaian bintang di atas hanya berlaku jika submission Anda lulus.

Lainnya
Tips

Berikut adalah beberapa tips yang perlu Anda perhatikan.

 Karena kode web server yang Anda clone dari GitHub memerlukan
Node.js, jadi Anda perlu menginstal Node.js beserta NPM. Anda bisa
menggunakan tools NVM seperti yang telah diajarkan di kelas. Versi
minimal Node.js untuk project ini adalah v14.15.4.
 Setelah menjalankan web server Node.js, Anda perlu mengaksesnya
sesuai dengan port yang digunakan (lihat pada berkas app.js).
 Untuk mengakses web server Node.js di komputer,
jalankan http://localhost:<port>/.
 Bila Anda menemui error saat menjalankan
perintah systemctl seperti "System has not been booted with systemd
as init system (PID 1). Can't operate. Failed to connect to bus: Host is
down", maka gunakan perintah service. Contohnya, untuk memeriksa
status NGINX, Anda bisa jalankan perintah sudo service nginx
status (silakan lihat referensi perintah "service" di website berikut).
 Apabila usai menginstal NGINX dan membuka http://localhost/ yang
muncul adalah Apache2 Default Page (karena kita pernah menginstal
Apache2 sebelumnya), silakan stop service-nya dengan perintah sudo
service apache2 stop. Jika masih belum bisa, hapus apache2 dengan
perintah sudo apt remove apache2. Bila masih belum bisa juga,
jalankan perintah berikut mv /var/www/html/index.html
index.html_bkp dan refresh halaman browser kembali. Niscaya Anda
akan melihat NGINX Welcome Page.
 Untuk kembali ke folder sebelumnya di konsol atau terminal, gunakan
perintah “cd ..”.
 Untuk menyalin isi berkas di Konsol Ubuntu/Terminal ke notepad,
gunakan perintah "cat <lokasi berkas>" terlebih dahulu guna
memunculkan isi berkas ke konsol, lalu sorot teks, kemudian salin teks
dengan CTRL+C, dan paste dengan CTRL+V di aplikasi notepad.
 Jika Anda membuat konfigurasi baru, maka perlu dilakukan activate
local server di NGINX terlebih dahulu. Berikut
caranya: https://stackoverflow.com/questions/68576682/nginx-this-site-
can-t-be-reached.

Ketentuan Pengiriman Submission

Berikut beberapa poin yang perlu diperhatikan ketika mengirimkan


submission.

 Bila Anda menggunakan NGINX:


o Salin konfigurasi pada /etc/nginx/sites-available/default, lalu
simpan pada berkas konfigurasiNGINX_<namaAnda>.txt.
 Bila Anda menggunakan Apache2:
o Salin konfigurasi pada /etc/apache2/sites-available/000-
default.conf dan simpan pada
berkas konfigurasiApache2_<namaAnda>.txt.
o Salin konfigurasi pada /etc/apache2/ports.conf (apabila ingin
menerapkan saran ubah port) dan simpan pada
berkas ports_<namaAnda>.txt.
o Anda tidak wajib menerapakan rate limit jika menggunakan
Apache2. Selain itu, tetap kerjakan sesuai kriteria.
 Jika Anda ingin menerapkan saran pada poin ketiga, sertakan juga
berkas app.js.
 Tuliskan pada kolom Catatan, apakah Anda menggunakan NGINX
atau Apache2 guna mempermudah proses review.
 Berkas submission yang dikirimkan merupakan folder yang berisi
berkas .txt yang diminta dalam bentuk ZIP.
 Pastikan Anda tidak melakukan ZIP dalam ZIP.

Submission Anda akan Ditolak bila

 Kriteria wajib tidak terpenuhi.


 Ketentuan berkas submission tidak terpenuhi.
 Berkas .txt tidak bisa dibuka, error, atau isinya benar-benar
berantakan.
 Melakukan kecurangan seperti tindakan plagiasi.

Forum Diskusi

Jika mengalami kesulitan, Anda bisa menanyakan langsung ke forum


diskusi https://www.dicoding.com/academies/387/discussions.

Ketentuan Proses Review

Beberapa hal yang perlu Anda ketahui mengenai proses review:

 Tim Reviewer akan mengulas submission Anda dalam


waktu selambatnya 3 (tiga) hari kerja (tidak termasuk Sabtu, Minggu,
dan hari libur nasional).
 Tidak disarankan untuk melakukan submit berkali-kali karena akan
memperlama proses penilaian.
 Anda akan mendapatkan notifikasi hasil review submission via email.
Status submission juga bisa dilihat dengan mengecek di
halaman submission.

Perhatian!

Sesuai dengan terms of use di Dicoding, submission kelas Dicoding


Academy haruslah hasil karya Anda sendiri.

Kode yang didapatkan dari sumber lain (website, buku, forum, GitHub, dan
lain-lain) hanya digunakan sebagai referensi. Tingkat kesamaannya tidak
boleh lebih dari 70%.

Kami memiliki hak mutlak untuk mengenakan sanksi kepada


peserta plagiat yang melanggar ketentuan di atas. Sanksi tersebut
berupa penangguhan akun Dicoding. Artinya Anda tidak dapat melakukan
submission apapun di kelas Dicoding Academy selama masa penangguhan.
Progress belajar peserta kelas Dicoding Academy pun, otomatis kami reset
ke 0 (nol), tanpa terkecuali.

Anda mungkin juga menyukai