JADIKAN DIRIMU, OLEH DIRIMU SENDIRI!!!

26 Jan 2025

Web Server Configuration with Debian 12 Server


 System Administrasi | Web Server Configuration with Debian 12

a. Tujuan Pembelajaran
    Tujuan Pembelajaran yang dilaksanakan di praktik ini antara lain sebagai berikut:

  1. Mengetahui apa itu Web Server?
  2. Mempelajari cara melakukan konfigurasi Web Server Apache dan NGINX.

b. Materi Pembelajaran
    WEB Server merupakan sebuah software atau perangkat lunak yang memberikan layanan berupa data melalui protokol HTTP atau HTTPS kepada web klien atau kita kenal dengan dengan browser, setalah itu ia akan mengirimkan respon atas permintaan tersebut kepada client dalam bentuk halaman web.

   Jika berbicara secara detail, maka WEB Server memiliki peranan penting dalam memproses berbagai data dimiinta oleh client (web browser). Kemudiian ia memberikan hasil atau jawaban berupa halaman website yang pada umumnya berformat HTML. Secara umum, web server memiliki tiga fungsi utama, yaitu:

  • Membersihkan berbagai cache yang terdapat pada penyimpanan serta semua dokumen yang tidak lagi terpakai lagi.
  • Melakukan pemeriksaan terhadap sistem security yang berasal dari permintaan HTTP berdasarkan request dari client atau web browser.
  • Menyediakan data berdasarkan request atau permintaan yang masuk agar dapat menjamin keamanan sistem yang berjalan.

Jenis-jenis WEB Server:
  • Apache 
  • Apache Tomcat
  • Microsoft Windows Server
  • NginX
  • Zeus
  • Sun Java System
Namun pada percobaan kali ini kita akan menggunakan Web Server Apache dan NGINX.

c. Persiapan Pembelajaran
    Dalam mempelajari pembahasan materi Konfigurasi Web Server dengan Server Debian 12 pada VMware membutuhkan beberapa persiapan untuk memahami materi tersebut, persiapan yang dilakukan untuk memahami pembelajaran tersebut adalah desain topologi. Desain topologi yang digunakan pada materi ini yang akan digunakan adalah sebagai berikut:


    Dalam mempelajari pembahasan materi tentang Web Server pada Debian 12 membutuhkan beberapa persiapan untuk memahami materi tersebut, seperti alat dan bahan yang dibutuhkan.

  1. PC/Laptop
  2. File ISO Debian 12 disini>
  3. Win7 disini>
  4. VMWare Workstation PRO 17 atau Virtual Box disini>

    Kemudian siapkan jaringan internet, hal ini perlu dilakukan agar pengunduhan dan instalasi sistem operasi berjalan dengan lancar.

d. Konfigurasi

1. Langkah pertama remote server menggunakan aplikasi PuTTY, kemudian kita masukan Host Name dengan IP Address pada Debian Server, lalu pilih Port 22 yang merupakan port dari SSH, Pilih tipe connection SSH (Secure Shell). Jika sudah klik Open. 


2. Ketika PuTTY memberi kita Peringatan Keamanan, kita dapat memilih Accept untuk melanjutkan remote server.

3. Login menggunakan username dan masukan password. Kemudian masukan perintah “su” untuk masuk ke mode Superior, Masukan password root.

4. Kemudian lakukan 
perintah apt update untuk memperbarui daftar paket yang tersedia.

Konfigurasi Web Server Apache2

5. Langkah pertama, sebelum melakukan konfigurasi Web Server Apache2, tambahkan IP Address untuk ens36. Ini penting agar client dapat terhubung dan mengakses web server yang kita buat. Caranya adalah dengan menjalankan perintah:

nano /etc/network/interfaces



6. Setelah menambahkan IP Address, jangan lupa untuk melakukan restart jaringan agar perubahan bisa diterapkan dengan menjalankan perintah:

systemctl restart networking




7. Selanjutnya kita masuk terlebih dahulu ke dalam direktori bind yang sudah kita install dengan menggunakan perintah cd /etc/bind, pastikan server sudah memiliki konfigurasi DNS Server. Jika sudah ada, tambahkan subdomain www di zona forward seperti yang terlihat di gambar. Untuk cara mengatur DNS Server, kalian bisa lihat disini>

8. Kemudian restart layanan bind9 agar penambahan subdomain www bisa diterapkan dengan perintah seperti gambar, setelahnya lakukan pengujian apakah DNS yang telah dikonfigurasi berfungsi dengan baik. Pengujian dilakukan dengan menggunakan perintah ping www.srv-shodik.com. Jika hasilnya menunjukkan status reply, berarti DNS sudah aktif dan berjalan dengan benar.

systemctl restart bind9



9. Untuk konfigurasi Web Server pertama, kita akan mengatur web server Apache2 terlebih dahulu. Oleh karena itu, lakukan instalasi paket Apache2 dengan perintah:
 

apt install apache2


*Jika muncul sebuah pesan Do you want to continue? ketik y untuk melanjutkan instalasi paket apache2.

10. Disini, kita akan melakukan percobaan konfigurasi untuk mengubah lokasi direktori root dari apache2. Direktori root adalah folder utama tempat file website disimpan dan diakses saat pengguna membuka halaman. Secara default, direktori root ini berada di /var/www/html. Nah, di sini kita akan melakukan percobaan mengatur direktori root ke lokasi /home/shodik.

Untuk itu, kita perlu membuat direktori shodik di /home. Setelah itu, pindahkan file index.html dari /var/www/html ke /home/shodik menggunakan perintah mv. Setelah file html dipindahkan, kita akan mengubah pemilik direktori dan memberikan izin akses agar bisa diakses oleh web server. Berikut adalah perintah-perintah yang digunakan untuk langkah-langkah tersebut:

# Memindahkan File Html Dari /var/www/html ke /home/shodik:

mv /var/www/html/* /home/shodik/

# Merubah Pemilik menjadi www-data:

chown -R www-data:www-data /home/shodik/

# Memberikan izin akses:

chmod -R 755 /home/shodik/

*Perintah chown -R digunakan untuk mengubah kepemilikan direktori dan isinya. Dalam hal ini, kita mengatur agar direktori /home/fai dimiliki oleh user dan grup www-data, yaitu user yang digunakan oleh apache2 untuk melayani konten web. Opsi -R (rekursif) memastikan semua file dan subdirektori di dalamnya juga akan mendapatkan kepemilikan yang sama.

*Perintah chmod -R 755 mengatur izin akses direktori. Izin 755 berarti:

Pemilik direktori (www-data) memiliki izin penuh untuk membaca, menulis, dan mengeksekusi. Opsi -R memastikan izin diterapkan ke semua file dan subdirektori di dalam direktori tersebut.

11. Jika ingin mengubah tampilan website, buka file index.html menggunakan nano editor, lalu sesuaikan isinya sesuai keinginan. Dengan mengedit file ini, kita bisa mengatur teks, gambar, atau elemen lain yang akan ditampilkan pada halaman utama website.


12. Selanjutnya, kita akan menyalin virtual host default untuk dijadikan sebagai virtual host baru. Untuk melakukannya, masuk ke direktori /etc/apache2/sites-available menggunakan perintah cd. Setelah itu, Lakukan Salinan pada virtual host default menjadi virtual host baru menggunakan perintah cp:

cd /etc/apache2/sites-available/


cp 000-default.conf salinanbaru.conf


13. Selanjutnya kita akan membuka virtual host salinan baru menggunakan editor nano, Untuk membukanya kita dapat menggunakan perintah berikut:

nano salinanbaru.conf

14. Kemudian pada bagian ServerName, ubah isinya menjadi alamat IP server. Atau, jika sudah memiliki domain, kita bisa memasukkan nama domain tersebut di sini. 

ServerName disini berfungsi untuk memberi tahu Apache2 alamat IP atau nama domain yang akan digunakan untuk mengakses website, sehingga server ini nantinya dapat menanggapi permintaan dengan benar. Nah pada bagian Document Root arahkan ke direktori root yang sudah kita buat sebelumnya yaitu /home/shodik/.

15. Setelah itu, tambahkan baris berikut di bagian akhir file untuk memberi izin akses pada direktori root yang sudah kita buat sebelumnya.

<Directory /home/shodik/>

    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted

</Directory>

<Directory /home/shodik/> #Menentukan direktori /home/shodik/ yang akan diterapkan konfigurasi ini.

Options Indexes FollowSymlinks #Menginzinkan server untuk menampilkan daftar isi (index) dari direktori dan mengikuti simbolis link.

AllowOverride All #Memungkinkan file .htaccess didalam direktori ini untuk menggantikan konfigurasi default.

Require all granted #Memberikan akses penuh ke semua pengguna untuk mengakses direktori /home/shodik/

16. Selanjutnya, kita akan menonaktifkan virtual host default dan akan mengaktifkan virtual host baru yang sudah kita buat. Untuk langkah langkah perintahnya adalah sebagai berikut:

#Menonaktifkan Virtual Host Default:

a2dissite 000-default.conf

#Mengaktifkan Virtual Host Baru:

a2ensite shou.conf

#Restart Service Apache2:

systemctl restart apache2

17. Lakukan uji coba dengan mengakses web server di browser dengan cara memasukkan alamat IP server di bilah alamat atau domain server. Jika tampilan halaman website muncul dengan benar, maka instalasi web server Apache2 sudah berhasil dilakukan.

Sampai disini, konfigurasi untuk instalasi web server Apache2 dan perubahan direktori root menuju direktori yang sesuai misalnya /home/shodik/ sudah berhasil kita lakukan. Selanjutnya, kita akan melanjutkan dengan mencoba melakukan instalasi web server Nginx.


Konfigurasi Web Server NGINX

1. Langkah pertama, kita perlu menghentikan layanan Apache2 terlebih dahulu, karena server tidak bisa menjalankan dua layanan web server yang berbeda secara bersamaan. Berikut adalah perintah untuk menghentikan service Apache2:

systemctl stop apache2


#Melihat Status Layanan Apache2

systemctl status apache2


2. Setelah menghentikan layanan apache2, Selanjutnya kita akan menginstal paket Nginx. Untuk itu, Gunakan perintah berikut untuk melakukan instalasi Nginx:

apt install nginx


3. Sebelumnya, pada konfigurasi Apache2, kita sudah mengubah direktori root dari /var/www/html ke /home/shodik. Kali ini, kita akan melakukan hal serupa pada web server Nginx. Untuk itu, kita perlu memindahkan file HTML bawaan Nginx dari /var/www/html ke direktori baru yang akan kita buat. Sebagai contoh, direktori root Nginx nantinya akan diletakkan di /var/www/srv-shodik/.


4. Selanjutnya, seperti sebelumnya, kita perlu mengubah izin pada direktori root baru ini agar bisa diakses untuk penulisan, pembacaan, dan eksekusi. Selain itu, kita juga perlu mengatur pemilik direktori /var/www/srv-shodik/ menjadi www-data (user default yang digunakan oleh Nginx untuk mengakses file). Berikut perintah yang digunakan:

# Merubah Pemilik menjadi www-data:

chown -R www-data:www-data /var/www/srv-shodik/

# Memberikan izin akses:

chmod -R 755 /var/www/srv-shodik/

5. Jika ingin mengubah tampilan website, buka file index.nginx-debian.html menggunakan nano editor, lalu sesuaikan isinya sesuai keinginan. Dengan mengedit file ini, kita bisa mengatur teks, gambar, atau elemen lain yang akan ditampilkan pada halaman utama website.

6. Setelah merubah tampilan web server, kita akan menyalin server block default yang berada di direktori /etc/nginx/sites-available. Langkah pertama adalah masuk ke direktori tersebut, lalu menyalin server block default menggunakan perintah cp. Berikut adalah perintah-perintah yang akan digunakan:

#Masuk Direktori /etc/nginx/sites-available:

cd /etc/nginx/sites-available/

#Copy Server Block Default:

cp default srv-site




Disini, untuk penamaan file server block baru yang akan dibuat, sesuaikan dengan preferensi masing-masing.


7. Jika sudah membuat virtual host baru, Maka, kita akan membuka server block baru yang telah disalin tersebut menggunakan nano editor. Selanjutnya, pada bagian listen 80, hapus teks default_server agar tidak terjadi bentrok dengan server block default nantinya. Setelah itu, ubah bagian root menjadi /var/www/srv-shodik/. Untuk bagian server_name, kita bisa memasukkan alamat IP server atau, jika sudah memiliki domain, kita bisa menuliskan nama domain yang dimiliki.

8. Disini, kita akan membuat symlink untuk file server block baru ke direktori sites-enabled agar konfigurasi server block ini aktif. Untuk  Perintahnya adalah sebagai berikut:

ln -s /etc/nginx/sites-available/srv-shodik/ /etc/nginx/sites-enabled/


Di sini, perbedaan antara Apache2 dan Nginx terlihat jelas. Pada Apache2, kita hanya perlu menggunakan perintah a2dissite default untuk menonaktifkan site default, lalu a2ensite untuk mengaktifkan server block baru; Apache2 akan secara otomatis membuat symlink ke sites-enabled. Symlink di sini berfungsi untuk menghubungkan file konfigurasi dari sites-available ke sites-enabled, sehingga Nginx dapat membaca dan menerapkan konfigurasi tersebut saat memulai.
Direktori /etc/nginx/sites-available berisi file-file konfigurasi server block yang tersedia untuk digunakan, tetapi tidak semuanya aktif. Sedangkan sites-enabled berisi symlink dari file-file konfigurasi yang aktif dan akan diproses oleh Nginx. Hanya file yang ada di sites-enabled yang akan diperhatikan oleh Nginx saat melakukan pengaturan layanan.

9. Setelah membuat symlink, Lakukan restart pada service Nginx agar konfigurasi yang sudah dilakukan dapat diterapkan. Untuk merestartnya, gunakan perintah berikut:

systemctl restart nginx



10. Lakukan pengujian dengan membuka web server Nginx di browser dengan cara memasukkan alamat IP server di bilah alamat atau domain server. Jika halaman website tampil dengan baik, maka proses instalasi web server Nginx dan perubahan direktori root ke /var/www/srv-shodik telah berhasil dilakukan.




Konfigurasi Web Server NGINX Multiple Domain

1. Langkah petama, pastikan server sudah memiliki Domain kedua. Jika sudah ada, bisa tambahkan subdomain www di zona forward seperti yang terlihat di gambar.