Monday, November 9, 2015

Konfigurasi HTTPS menggunakan Ubuntu

Server web atau yang dalam bahasa inggris disebut web server adalah merupakan perangkat lunak (software) dalam server yang berfungsi untuk menerima permintaan (request) berupa halaman web melalui protokol HTTP dan atau HTTPS dari client yang lebih dikenal dengan nama browser, kemudian mengirimkan kembali (respon) hasil permintaan tersebut ke dalam bentuk halaman-halaman web yang pada umumnya berbentuk dokumen HTML.
Dari pengertian diatas, dapat disimpulkan bahwa web server merupakan pelayan (pemberi layanan) bagi web client (browser) seperti Mozilla, Chrome, Internet Explorer, Opera, Safari dan lain sebagainya, supaya browser dapat menampilkan halaman atau data yang anda minta.

FUNGSI WEB SERVER

Fungsi utama dari web server adalah untuk mentransfer atau memindahkan berkas yang diminta oleh pengguna melalui protokol komunikasi tertentu. Oleh karena dalam satu halaman web biasanya terdiri dari berbagai macam jenis berkas seperti gambar, video, teks, audio, file dan lain sebagainya, maka pemanfaatan web server berfungsi juga untuk mentransfer keseluruhan aspek pemberkasan dalam halaman tersebut, termasuk teks, gambar, video, audio, file dan sebagainya.
Pada saat anda ingin mengakses sebuah halaman website, biasanya anda mengetik halaman tersebut di browser seperti mozilla, chrome dan lain-lain. Setelah anda meminta (biasanya dengan menekan enter) untuk dapat mengakses halaman tersebut, browser akan melakukan permintaan ke web server. Disinilah web server berperan, web server akan mencarikan data yang diminta browser, lalu mengirimkan data tersebut ke browser atau menolaknya jika ternyata data yang diminta tidak ditemukan.
Beberapa contoh web server yang paling banyak digunakan diantaranya adalah :

  • Apache
  • Apache Tomcat
  • Microsoft Internet Information Services (IIS)
  • Nginx
  • Lighttpd
  • Litespeed
  • Zeus Web Server
Fitur-fitur standar web server adalah :
  • HTTP
  • Logging
  • Virtual Hosting
  • Pengaturan Bandwidth
  • Otektifikasi
  • Kompresi Konten
  • HTTPS
HTTP (Hypertext Transfer Protocol) adalah protokol yang digunakan oleh web server dan web browser untuk dapat berkomunikasi antara satu sama lain. Sedangkan HTTPS (Hypertext Transfer Protocol Secure) adalah merupakan versi aman (secure) dari HTTP. Biasanya protokol HTTP menggunakan port 80 dan protokol HTTPS menggunakan port 443. Untuk mengenal dan membedakan keduanya, anda bisa lihat pada saat anda mengakses suatu halaman website apakah berwalan http:// atau https://
Web server biasanya telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan web server dapat menyediakan layanan situs dinamis, yaitu situs yang dapat berinteraksi dengan pengunjung dengan memanfaatkan pustaka tambahan seperti PHP dan ASP.

CARA KERJA WEB SERVER

Sederhananya tugas web server adalah untuk menerima permintaan dari client dan mengirimkan kembali berkas yang diminta oleh client tersebut.
Seperti yang sudah saya informasikan diatas bahwa client yang dimaksud disini adalah komputer desktop yang memiliki atau telah menginstall web browser seperti Chrome, Mozilla, Opera dan lain-lain yang dapat terhubung ke web server melalui jaringan internet atau intranet.
Perangkat lunak web server terdapat pada komputer server, dan di komputer ini pula-lah data-data website tersimpan dengan rapih. Sama halnya dengan komputer client, komputer server juga harus terhubung dengan jaringan internet atau jaringan intranet untuk dapat diakses oleh client.
Pada saat client (browser) meminta data web page kepada server, maka instruksi permintaan data oleh browser tersebut akan dikemas di dalam TCP yang merupakan protokol transport dan dikirim ke alamat yang dalam hal ini merupakan protokol berikutnya yaitu Hyper Text Transfer Protocol (HTTP) dan atau Hyper Text Transfer Protocol Secure (HTTPS). Data yang diminta dari browser ke web server disebut dengan HTTP request yang kemudian akan dicarikan oleh web server di dalam komputer server. Jika ditemukan, data tersebut akan dikemas oleh web server dalam TCP dan dikirim kembali ke browser untuk ditampilkan. Data yang dikirim dari server ke browser dikenal dengan HTTP response. Jika data yang diminta oleh browser tersebut ternyata tidak ditemukan oleh web server, maka web server akan menolak permintaan tersebut dan browser akan menampilkan notifikasi error 404 atau Page Not Found.
Meskipun proses atau cara kerja web server diatas seperti sangat rumit, tapi pada prakteknya proses tersebut berlangsung dengan sangat cepat. Anda bahkan bisa sampai tidak menyadari bahwa pada saat anda meminta suatu halaman web, ternyata hal itu membutuhkan proses yang sangat panjang sampai halaman tersebut dapat anda lihat di browser anda.

Langkah setting HTTPS:
  • 1. Login dengan username, dan masuk ke root :
    2. Edit interface kita dengan perintah :
    3. Masukan ip yang akan kita gunakan, dan pastikan benar subnetingnya lalu save dengan perintah :
    4. Restart paket networking dengan perintah : # /etc/init.d/networking restart
    Pastikan tidak fail.
    5. Pastikan paket bind9 (untuk dns) telah terinstall, bila belum install lah terlebih dahulu dengan perintah:
    #apt-get install bind9
    6. Edit zone untuk file forward dan reverse kita, dan isikan seperti berikut di bawah kata “//include…. dengan perintah :
    #nano /etc/bind/named.conf.local
    7. Copykan file forward (db.local) dan reverse (db.127) menjadi for dan rev
    8. Edit file forward yang telah dicopykan tadi, dengan perintah :
    #nano /etc/bind/for
    Ganti kata localhost dengan domain keinginan yang telah di edit di zone, yaitu kel1.com dan “yogi” disana adalah hostname, jangan lupa untuk tidak menghapus titik (.) setelah com karena akan mempengaruhinya.
    Baris ke 4 dari bawah di gamabar tersebut ada “NS” yang artinya name server dan di kanannya harus berisikan hostname.domain, lalu baris ke 3 dari bawah, ada “A” yang artinya Address dan ke kenannya harus berisikan ip address kita yang digunakan.
    www disana merupakan sub-domain untuk di aliasing kan, atau di samarkan dari yogi menjadi www.
    9. Edit file reverse, tidak jauh berbeda dengan file forward perintahnya adalah :
    #nano /etc/bind/rev
    Perbedaannya hanya pada barisan bawahnya, NS disana artinya name server seperti pada forward, yang baru yaitu PTR atau POINTER yang masukdnya “di tujukan pada” yang ada di kanannya.
    Angka 1 disana adalah IP terakhir. karena menggunakan kelas C jadi hanya 1 angka terakhir, namun bila kita menggunakan kelas B, maka 2 angka trakhir pada IP, misalnya kita menggunakan 172.16.24.1/20 maka yang dimasukan pada angka 1 disana adalah 24.1 begitu juga kelas A, yang dimana memasukannya 3 angka terakhirnya .
    10. Buat file resolv.conf dengan perintah langsung yaitu :     #nano /etc/resolv.conf
    Resolv berfungsi sebagai perantara antara client dengan dns, yang diibaratkan sebagai tempat bertanya, sehingga, bila kita memakai dns dengan menyatukan konsep routing, di resolv kita harus mengisikan nameserver dan domain teman kita agar dapat membacanya, karena sebuatan “tempat bertanya” itulah. sebab bila kita tidak mengisikan nameserver dan domain teman kita, artinya “tempat bertanya” kita tidak tahu. yang artinya kita tidak mendapat “jawaban” atau dengan kata lain tidak mencapai dns teman kita.
    Bila kita hanya untuk mencoba sendiri pada virtual, cukup memasukan nameserver dan domai kita sendiri seperti berikut ini :
    11. restart paket bind9 kita dengan perintah dan pastikan tidak fail !
    #/etc/init.d/bind9 restart
    12. Edit file hosts di /etc/hosts bari pertama ada localhost kita, dan baris keduanya kita ganti dengan IP lalu hostname.domain kita lalu domain kita sesuaikan saja seperti gambar :
    13. Setting ip kita dengan static ip
    14. Cek ping ke client yang telah kita setting static, karena akan cukup sulit untuk mendapatkan IP bila kita menggunakan DHCP mengingat banyaknya kendali menggunakan virtual.
    15. Coba cek ping ke dns yang telah kita buat
    16. Install apache2(webserver) dengan perintah :
    #apt-get install apache2
    Copykan file “default” /etc/apache2/sites-available/ dan ganti namanya sesuai keinginan kita, misalkan diganti dengan www maka yang harus anda lakukan adalah mengedit nya.
    #nano /etc/apache2/sites-available/www
    Sedikit penjelasan, pada dasarnya “Servername” dan “serveralias” itu tidak ada, tapi kita tambahkan agar dapat membacanya saat di enablekan atau di a2ensite, dan masukan seperti berikut:
    17. Buatlah file index.html di folder /var/www/ lalu buat folder web untuk penyimpanannya lalu buat file index.html dan isikan seperti ke inginan anda asalkan anda mengerti syntaxnya :
    #mkdir /var/www/web
    #nano /var/www/web/index.html
    18. a2ensite-kan atau mengenable kan yang telah kita buat, dan yang bisa di enable kan haya file yang berada di sites-available.
    19. Restart paket apache2 kita, dan pastikan tidak fail saat merestartnya
    20. Coba pada web browser yang telah kita buat
    Langkah – Langkah Membuat Https
    1. Install terlebih dahulu servive HTTPs nya #apt-get install openssl
    2. Buat directory untuk sertifikat / Lisensi dari service tersebut, #mkdir /etc/apache/sertifikat
    3. Buat Sertifikat nya : openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/apache2/sertifikat/apache.key -out/etc/apache2/sertifikat/apache.crt
    Akan muncul beberapa yang harus diisikan :
    4. Tambahkan konfigurasi pada file Apache2, karena HTTPs ini ialah mensecure laman web kita, yang mana laman web tersebut berada dibawah service Apache2. ketikan perintah#nano /etc/apache2/sites-enabled/000-default.conf
    5. Isikan seperti dibawah ini. Sesuaikan admin, domain dan alamat folder Html anda
    Simpan konfigurasi nya ctrl+o enter ctrl+x
    6. Restart servive apache2 nya, #/etc/init.d/apache2 restart
    7. Aktifkan modul ssl nya dengan perintal, #a2enmod ssl
    8. Kemudian uji apakan konfigurasi kita telah berjalan, dengan membuka domain website pada ubuntu kita, apakah domain tersebut telah dalam mode HTTPs, jika berhasil maka akan tampak seperti dibawah ini :
     
     
     

0 comments:

Post a Comment