Kamis, 19 Agustus 2010

Web Server, Virtual host dan Https

Web Server

Penjelasan

Web Server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML. Web Server yang terkenal diantaranya adalah Apache dan Microsoft Internet Information Service (IIS). Apache merupakan server web antar-platform, sedangkan IIS hanya dapat beroperasi di sistem operasi Windows. Server web juga dapat berarti komputer yang berfungsi seperti definisi di atas. Web Server sebenarnya adalah suatu daemon yang berfungsi menerima request melalui protocol http baik dari local maupun dari internet Informasi yang direquest oleh web browser bisa berupa file yang ada dalam storage atau meminta server untuk melakukan fungsi tertentu.

Konfigurasi

1. Install aplikasi Web Servernya (Apache 2) :

2. Pindah ke direktori “/etc/apache2/sites-available/. Lalu copy kan file default ke www

Edit file www.

3. Save filenya.

4. Ketikan perintah seperti gambar dibawah ini :

5. Buatlah sebuah file halaman web di dalam direktori kelompok 2 tersebut. Disini kita buat file bernama index.html. Maka untuk membuatnya, kita ketikan perintah

~# nano index.html

6. Save filenya.

7. Buat symbolic link agar file index.html itu dapat ditampilkan secara otomatis,

8. Restart apache



Virtual Host

Penjelasan

Virtual Hosting atau juga dikenal sebagai shared hosting memiliki pengertian bahwa sebuah server melayani lebih dari 1 (satu) domain. Dengan adanya teknologi virtual hosting ini, siapa saja yang ingin memiliki situs web atau layanan internet lainnya (mail, file storage, multimedia, dll) tidak perlu membangun server sendiri; yang tentu saja membangun server sendiri memakan lebih banyak biaya diantaranya: biaya perangkat keras & lunak (hardware & software), koneksi internet khusus, dan juga staf khusus.

Konfigurasi

1. Perintah diatas dilakukan untuk membuat penambahan nama dari hosting dengan nama skull ke db saya.

~# nano /etc/bind/db.frengk1.com

2. Setelah nama hosting diatas ditambahi maka jangan lupa untuk merestarnya dengan perintah

~# /etc/init.d/bind9 restart.

3. Apabila proses restar sudah OK kemudian buat sebuah directory baru di /var/www dengan cara :

~# mkdir /var/www/Skull

4. Kemudian copy file yang berada di /etc/apache2/sites-available/default /etc/apache2/sites-available/skull dengan cara :

~# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/skull

5. Setelah itu edit file skull dengan cara:

~# nano /etc/apache2/sites-available/skull


6. Pada gambar diatas yang mesti diedit hanya file dibawah ini:

ServerAdmin webmaster@localhost
ServerName skull.frengk1.com
DocumentRoot /home/jartel9/

7. Setelah keterangan diatas disave kemudian kita dapat mengubah isi dari halaman virtual hosting kita dengan cara:

~# nano /index.html

8. Untuk mengaktifkannya virtual host yang telah dibuat, maka dapat dilakukan dapat dengan cara

~# a2ensite skull

9. Kemudian restart apache dengan cara :

~# /etc/init.d/apache2 restart

10. Hal terakhir yang dilakukan untuk memastikan bahwa virtual host yang kita buat dapat berjalan dengan baik dengan cara mengedit file hosts dengan cara :

~# nano /etc/hosts

Tambahkan baris berikut :

127.0.0.1 skull.frengk1.com

11. Simpan file konfigurasi dan kita bisa menjalankan virtual host dengan cara membuka browser kita dan ketikkan alamat web yang telah kita buat tadi yaitu skull.frengk1.com



HTTPS

Penjelasan

HTTPS (Secure HTTP) adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Coorporation untuk menyediakan autentikasi dan komunikasi tersandi serta penggunaan dalam komersil electrics.

Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket Layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eaves droppers dan man in the middle attacks. Pada umumnya port HTTPS adalah 443.

HTTPS (Secure HTTP) merupakan bentuk protokol yang aman karena segala perintah dan data yang lewat protokol ini akan diacak dengan berbagai format sehingga sulit untuk dibajak isinya maupun dilihat perintah-perintah yang dieksekusi.

Konfigurasi

1. Install aplikasi apache2

~# apt-get install apache2

2. Buat Duplikat dari file /etc/apache2/sites-available/default

~# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

3. Buat link untuk mengaktifkan modul ssl saat apache di load

~# a2ensite

4. Install OpenSSL dan SSL Certificate

~# apt-get install openssl ssl-cert

5. Membuat certificate

~# mkdir /etc/apache2/ssl

~# make-ssl-cert /usr/share/sslcert/ssleay.cnf /etc/apache2/ssl/apache.pem

6. Aktifkan modul SSL dan restart apache2

~# a2enmod ssl

~# /etc/init.d/apache2 force-reload

7. Menempelkan file certificate di Virtual Host

~#cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

8. Edit file /etc/apache2/sites-available/ssl, tambahkan script dibawah ini pada baris terakhir sebelum “

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/apache.pem

9. Ubah port default 80 jadikan 443, cari baris

dan ganti dengan

10. Generate Sertifikat anda sendiri dengan

~# apache2-ssl-certificate

11. Kemudian anda akan diminta memasukkan kode negara(ID), State atau propinsi, Nama Kota, Company, Section Unit, Domain dan alamat email.

12. Tambahkan Port Listen Untuk SSL,untuk melakukanya edit file /etc/apache2/ports.conf. Tambahkan baris :

Listen 443

13. Edit file /etc/apache2/sites-available/default, tambahkan script dibawah ini pada baris terakhir sebelum “

SSLCertificateFile/etc/apache2/ssl/apache.pem

14. Restart apache2 dan aktifkan modul HTTPS :

~# /etc/init.d/apache2 force-reload

~# a2ensite ssl

15. Restart kembali apache2 :

~# /etc/init.d/apache2 restart

16. Install beberapa repository yang akan dibutuhkan bila diperlukan.

~# apt-get install libphp-adodb php5-cli php5-gd php-pear php5-snmp php5-adodb phpmyadmin sysvconfig curl libnet-netmask-perl

Selesai

Untuk pengujiannya Buka web browser. Cobalah ketikkan https://localhost/