Jumat, 28 Juni 2019

Web Server


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 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.

Perangkat lunak yang berfungsi menerima permintaan HTTP ataupun HTTPS dari Klien yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web. Dan kini kita akan bahas cara konfigurasinya.

Langkah-langkahnya :

1. Instal Paket web server terlebih dahulu yaitu :
apt-get install apache2
2. Apabila ada konfirm Y/N, 
ketik Y lalu Enter
3. Selanjutnya kita masuk ke folder /etc/apache2/sites-available, ketikkan perintah : 
cd /etc/apache2/sites-available
4. Ketik ls, lalu copy file default dan kita ambil nama contohnya : www (nama bebas). 
Bisa juga langsung pakai file default tanpa mengcopy file master tersebut.
5. Lalu edit file www, perintah : 
pico www
6. Pada file ini :
Ganti :
ServerAdmin webmaster@localhost
menjadi
ServerAdmin webmaster@kustiyadi.com
(nama domain anda)
Tambahkan : (dibawah ServerAdmin)
ServerName www.kustiyadi.com
(nama domain anda)

7. Setelah selesai save file dengan 
CTRL-X, Y
8. Pindah direktori ke /var/www untuk mengedit file html dari web master tersebut
cd /var/www
9. Lalu edit file index.html, masukkan perintah : 
pico index.html
10. Isikan script pada file ini sesuka hati anda, contohnya seperti gambar di bawah :
Save dengan
CTRL-X, Y
11. Kemudian restart web server anda, masukkan perintah:
/etc/init.d/apache2 restart
12. Dan untuk megecek apakah web server anda jalan atau tidak dengan perintah :
w3m www.kustiyadi.com 
(Nama domain anda)
13. Hasilnya :
14. Apabila berhasil maka tampilannya seperti gambar diatas.
dan menunjukkan web server anda berjalan dengan baik.
a. Menguji konfigurasi Web/HTTP Server
  • Beberapa contoh web server yang paling banyak digunakan diantaranya adalah Apache, Apache Tomcat, Microsoft Internet Information Services (IIS), Nginx, Lighttpd.
  • 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) merupakan versi aman (secure) dari HTTP. 
  • 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 berawalan http:// atau https://.
  • Cara kerja Web server pada dasarnya hanya ada 2 (dua), yaitu Menerima permintaan (request) dari client, dan Mengirimkan apa yang diminta oleh client (response).


Cara Kerja Web Server  

Penjelasan gambar :
1) client (user) akan meminta suatu halaman ke (web) server untuk ditampilkan di komputer client. Misalnya client mengetikkan suatu alamat (biasa disebut URL) di browser http://www.google.com. Client menekan tombol Enter atau klik tombol Go pada browser. Melalui media jaringan dan melalui protokol http, ini merupakan proses HTTP Request.
2) Webserver mendapat permintaan halaman utama google dari client, server akan mencari  halaman sesuai permintaan di komputernya. Jika ditemukan, maka halaman yang diminta akan dikirimkan ke client, namun jika tidak ditemukan, maka server akan memberi pesan “404. Page Not Found”, yang artinya halaman tidak ditemukan, proses ini disebut dengan HTTP Respon.

Konfigurasi Web/HTTP Server :
1) Install Apache
  • ubuntu@linux:~$ sudo su
  • ubuntu@linux:~$ sudo apt-get install apache2
2) Instal database server (berfungsi sebagai penyedia layanan pengelolaan basis data dan melayani komputer atau aplikasi basis data yang menggunakan model client-server).
  • ubuntu@linux:~$ sudo apt-get install mysql-server
3) Install PHP (bahasa pemrograman script, web yang bekerja disisi server)
  • ubuntu@linux:~$ sudo apt-get install php5
4) Instal Mysql untuk apache
  • ubuntu@linux:~$ sudo apt-get install libapache-mod-acct-mysql
  • ubuntu@linux:~$ sudo apt-get install php5-mysql
5) Instalasi phpmyadmin
  • ubuntu@linux ~$ sudo apt-get install phpmyadmin

b. Menguji konfigurasi securing Web / HTTP Server
Hypertext Transfer Protocol Secure (HTTPS) memiliki pengertian yang sama dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi di bidang keamanan (secure). HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Layer Security (TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. 
HTTP di enkripsi dan deskripsi dari halaman yang di minta oleh pengguna dan halaman yang di kembalikan oleh web server. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. 
Pada umumnya port yang digunakan HTTPS adalah port 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algoritma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan „https://‟.
Administrator akan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan aplikasi seperti Open SSL yang ssl atau gensslcert SuSE. 
Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.
Bila menggunakan koneksi https, server akan merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, Klien dan sertifikat server melakukan pertukaran untuk otentikasi identitas mereka. 
Setelah dilakukan kedua belah pihak bertukar informasi terenkripsi. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.
Konfigurasi HTTPS
1) Mengaktifkan mode ssl
  • ubuntu@linux:~$ sudo a2enmod ssl
2) Selanjutnya kita restart apache
  • ubuntu@linux:~$ sudo service apache2 restart
3) Buat sebuah folder untuk menyimpan server key dan sertifikat dan simpan di folder apache
  • ubuntu@linux:~$ sudo mkdir /etc/apache2/ssl
4) Bagian ini adalah bagaimana membuat Sertifikat SSL
  • ubuntu@linux:~$ openssl req -x509 -nodes -days 730 -newkey rsa:2048 -
  • keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Output dari perintah di atas:

  • You are about to be asked to enter information that will be incorporated into your certificate request.
  • What you are about to enter is what is called a Distinguished Name or a DN.
  • There are quite a few fields but you can leave some blank
  • For some fields there will be a default value,
  • If you enter '.', the field will be left blank.
  • -----
  • Country Name (2 letter code) [AU]:ID
  • State or Province Name (full name) [Some-State]:Medan
  • Locality Name (eg, city) []:MDN
  • Organization Name (eg, company) [Internet Widgits Pty Ltd]:smk
  • Organizational Unit Name (eg, section) []:network
  • Common Name (e.g. server FQDN or YOUR name) []:universitas.com
  • Email Address []:smk@gmail.com
5) Komponen apache yang menunjukkan dimana letak website disimpan ada pada file default berada di /etc/apache2/sites-available/default. Itu adalah salah satu komponen apache yang menunjukkan letak alamat website.
Secara default file ini merujuk ke /var/www/. Didalam /etc/apache2/sitesavailable/ terdapat 2 file, yang satu adalah file default dan yang kedua adalah default-ssl.
Buka File default-ssl
  • ubuntu@linux:~$ sudo nano /etc/apache2/sites-available/default-ssl
  • <VirtualHost _default_:443>
  • ServerAdmin webmaster@localhost
  • ServerName www.smk.com
  • DocumentRoot /var/www/www2
# Tambahkan baris ini di file default-ssl
  • SSLEngine On
  • SSLCertificateFile /etc/apache2/ssl/apache.crt
  • SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Selanjutnya cari baris ini dan berikan tanda comment (#):
  • # SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
  • # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Save lalu exit.
6) Aktifkan website default-ssl.
  • ubuntu@linux:~$ Sudo a2ensite default-ssl
7) Baiklah semuanya telah selesai, sekarang restart apache kita.
  • Sudo service apache2 restart
8) Selesai
Ada perbedaan di antara sertifikat yang gratis, dan yang berbayar sekaligus verified. Perbedaan ini sangat jelas ketika kita pertama kali membuka url tersebut di browser kita.
Untuk yang gratis buatan kita sendiri, akan tampil seperti ini :
Tampilan menggunakan fitur gratis pada browser
Untuk yang berbayar dan verified akan tampil seperti ini :




Tampilan menggunakan fitur berbayar pada browse 




Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.