Assalammu'alaikum wa rahmatullah wa barakatuh,

      Pada postingan kali ini kita akan belajar bagaimana caranya konfigurasi web server menggunakan apache pada RHEL 7. Mungkin sebagian dari kita bertanya "apache sama httpd pada sih bedanya ??" . Jika itu yang pernah ada di benak teman-teman, yaaap! sama seperti saya waktu pertama kali mengenal mereka. Jadi, apache dan httpd adalah sama, yang membedakannya adalah dari distro linux apa kita menggunakannya. Pada distro yang berbasiskan debian dinamakan dengan penamaan apache2 dan pada distro yang berbasiskan redhat seperti fedora dan centos dinamakan dengan penamaan httpd. Jadi kita tidak perlu dipusingkan lagi soal penamaan ini ya. Oke cukup kata pengantarnya ya hahaha, saatnya kita terjun langsung ke lab.

Tujuan : 
  • Dapat menginstal HTTPD untuk service Web Server
  • Dapat mengonfigurasi HTTPD untuk DNS Server
  • Dapat membuat koneksi HTTPS menggunakan openSSL
  • Dapat membuat proses autentikasi pada Web
  • Dapat mengaktifkan userdir agar setiap user dapat membuat websitenya sendiri-sendiri
  • Dapat membuat virtual host 
  • Client dapat mengakses Web Server


TOPOLOGI





Tahap 1 : Instalasi HTTPD

      
       
       Lakukan instalasi httpd dan tunggu hingga httpd berhasil terinstall
 
 Tahap 2 : Konfigurasi Awal HTTPD




      Selanjutnya lakukan konfigurasi httpd dengan perintah seperti gambar di atas. Dan selanjutnya konfigurasi isi file httpd.conf dengan konfigurasi di bawah ini. Sedikit tips agar proses konfigurasi bisa lebih cepat yaitu menggunakan fitur search / find pada teks editor yang kita pakai, disini saya memakai vim, dengan vim bisa menggunakan command /[string_yang_dicari] , contoh /ServerAdmin , berari yang dicari adalah string ServerAdmin.


       ServerName disini adalah nama server yang sedang kita pakai, bisa diisi dengan IP Address ataupun dengan domain. Port yang dipakai yaitu port default untuk protokol httpd, yakni 80 dan bisa diubah dengan port lain selama tidak bentrok dengan service lain. Directory Index disini adalah file index yang bisa disimpan di dalam DocumentRoot yang berperan sebagai direktori untuk menyimpan file yang berkaitan dengan konten pada website. Jika sudah terkonfigurasi, maka silakan simpan dan keluar dari teks editor.

      Langkah selanjutnya adalah melakukan restart service http dengan erintah systemctl httpd restart dan tambahkan http sebagai service yang diizinkan trafiknya oleh firewall seperti gambar di bawah ini :


      Kemudian buka web melalui browser dengan mengaksesnya menggunakan alamat IP Address ataupun dengan nama domain jika DNS sudah diinstal dan dikonfigurasi sebelumnya. Jika berhasil maka hasilnya akan seperti di bawah ini :

Tampilan Web Default

 Tahap 3 : Custom Tampilan Web


      Pada tahap ini merupakan tahap yang lebih sederhana karena hanya melakukan modifikasi pada tampilan default. Masuk ke direktori /var/www/html dan buat file di dalamnya dengan nama index.html. 

( P.S file index adalah sebuah file yang akan pertama kali dipanggil oleh sistem, pada kasus ini adalah web server)

       Berikut adalah isi file index.html sederhananya :


     Jika sudah selesai maka simpan dan keluar, lalu lakukan reload pada browser di web yang tadi masih berupa tampilan default. Berikut adalah hasilnya :

Tampilan Web Setelah Dilakukan Custom



 Tahap 4 : SSL ( Secure Socket Layer )

     
        Pada tahap ini kita akan melakukan konfigurasi sertifikat SSL yang nantinya digunakan untuk mengamankan informasi dari web yang telah dibuat sebelumnya. Terdapat perbedaan nantinya yang akan kita lihat, jika sebelumnya kita menggunaka protokol HTTP , maka setelah konfigurasi sertifikat SSL dan mengimlementasikannya pada web kita maka kita akan menggunakan protokol HTTPS, dengan S yang berarti Secure. Dengan protokol ini informasi yang berkaitan dengan trafik dari web akan terenkripsi dan meminimalisir dari usaha jahat orang lain seperti eavesdropping . Dengan begitu user dapat melakukan aktifitasnya di dalam web dengan aman walau harus melakukan input informasi sensitif seperti akun sosial media atau bahkan nomor pin ATM. Berikut adalah konfigurasinya :

       Masuk ke direktori /etc/pki/tls/certs dan berikut adalah isinya :


      Di dalamnya terdapat beberapa file, namun tidak satupun file yang ada disitu yang akan kita gunakan melainkan kita akan membuat dua buah file baru yakni file key, CRS( Certificate Signing Request ) dan CRT ( sertifikat digital ). Apa itu crs ? crt ? key ? InshaaAllah dilain waktu kita akan bahas mengenai 3 hal itu, sekarang kita akan fokus bagaimana cara mengonfigurasinya untuk melindungi informasi pada web yang telah dibuat sebelumnya. Berikut adalah caranya :

Membuat Key







      Pada tahap ini akan dibuat sebuah file yang berupa key hasil generate dari algoritma RSA dengan modulus 2048 bit. Pada proses pembuatannya akan ditanyakan password, berikan password dan ingat passwordnya dan kalau perlu dicatat. Setelah pembuatan key selesai, maka akan muncul sebuah file bernama server.key (penamaan bebas). Untuk menghindari sistem menanyakan password pada saat melakukan restart service httpd, maka password perlu dihapus dari file key dengan cara melakukan langkah seperti di bawah ini :

      
      Setelah melakukan konfigurasi di atas, maka nanti ketika akan melakukan restart terhadap service httpd tidak akan ditanyakan password. Oke selanjutnya kita buat file CRS, berikut konfigurasinya :



      Isi pertanyaannya bisa disesuaikan dan pada challenge password dan optional company name bisa di-skip dengan cara di-enter saja. 




      Langkah selanjutnya adalah mengatur waktu valid dari sertifikat. Setelah itu lakukan instalasi modul ssl dengan perintah yum -y install mod_ssl dan tunggu proses instalasi hingga selesai. Setelah itu lakukan konfigurasi sepertidi bawah ini ssl.conf pada direktori /etc/httpd/conf.d/  :




      Setelah selesai konfigurasi file ssl.conf seperti di atas maka langkah selanjutnya adalah melakukan perizinan trafik https pada firewall dengan cara seperti gambar di bawah ini :



     Kemudian jangan lupa untuk melakukan restart service httpd dengan perintah systemctl restart httpd , lalu cek pada browser dengan secara manual mengetikkan https:// [ip address] . InshaaAllah pada lain kesempatan kita akan sama-sama belajar bagaimana caranya membuat script auto redirect agar web langsung menggunakan protokol https tanpa mengetikkannya secara manual. Berikut adalah hasilnya :





Tahap 5 : Web Basic Authentication


      Di tahap ini kita akan melakukan konfigurasi agar setiap kali ingin mengakses web, sistem akan menanyakan autentikasi terlebih dahulu. Ini biasanya diterapkan bagi web yang hanya orang-orang tertentu saja yang berhak mengaksesnya. Buatlah sebuah file baru bernama auth.conf pada direktor /etc/httpd/conf.d/ dan berikut adalah isi konfigurasinya :





       Jika sudah terkonfigurasi seperti konfigurasi di atas maka simpan konfigurasi lalu restart service httpd. Lalu langkah selanjutnya adalah buat user dan password untuk keperluan autentikasi pada saat masuk ke halaman web nanti.


 

      Setelah itu bisa langsung dicoba pada browser dan akan ada prompt untuk menanyakan user dan password seperti gambar di bawah ini :


      Jika memasukan user dan password yang benar maka akan diarahkan ke halaman web yang ada, namun jika salah maka akses akan ditolak.



Tahap 6 : Userdir


       Pada tahap ini kita akan membuat bagaimana caranya masing-masing user bisa membuat halaman webnya sendiri-sendiri. Berikut adalah konfigurasinya :

        
     Masuk ke dalam file userdir.conf dengan perintah seperti gambar di atas.


      Beri tanda pagar # pada konfigurasi UserDir disabled untuk mengaktifkan userdir dan hapus tanda pagar pada UserDir public_html untuk membuat path yang akan menjadi direktori konten dari web yang akan dibuat oleh user.


      Kemudian pada blok konfigurasi Directory modifikasi konfigurasi default menjadi konfigurasi seperti gambar di atas. Lalu simpan konfigurasi. Kemudian buatlah user baru, misalnya seperti gambar berikut ini :


      Membuat sebuah user baru dengan nama idn.




     Lalu lakukan perintah seperti gambar di atas untuk membuat direktori public_html dan memberikan hak akses. Kemudian login lah dengan user yang telah dibuat tadi dan buat file index.html nya dan bandingkan dengan konten yang ada pada tampilan utama. Jangan lupa untuk melakukan restart service httpd. Berikut adalah hasilnya :

Halaman dengan akun idn

Halaman dengan akun oji



                                      Tahap 7 : Virtual Hosting

      Sebuah virtual host digunakan agar dapat membuat lebih dari satu website dengan hanya satu mesin atau satu IP Address dengan memanfaatkan userdir. Caranya adalah dengan membuat sebuah file dengan nama vhost.conf pada direktori /etc/httpd/conf.d/ , berikut adalah isi konfigurasinya :


     Kemudian lakukan restart service. Tentunya domain perlu didaftarkan pada DNS  terlebih dahulu agar dapat diakses.
     Sekian lab kita untuk kesempatan ini, jika ada salah pemahaman dari apa yang saya lakukan dan sampaikan pada blog ini, sekiranya teman-teman dapat membantu saya untuk memberitahu dimana salahnya agar saya dapat mempelajarinya kembali dan memperbaiki kesalahannya.

Wassalammu'alaikum wa rahmatullah wa baraktuh.

Post a Comment

Previous Post Next Post