Jumat, 13 September 2013

Virtual Host - futaraticle


Pengertian Virtual Host

Virtual hosting adalah sebuah metode server seperti server web yang digunakan untuk host lebih dari satu nama domain pada komputer yang sama, kadang-kadang pada alamat IP yang sama. Virtual Host merupakan cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita mempunyai banyak domain tapi hanya mempunyai 1 IP public (1 server). Cara untuk mengatasi ini adalah dengan cara membuat virtualhost yang ada di settingan apache. Virtual host bisa digunakan setelah menginstal package-package apache dan sudah pasti web server kita sudah berjalan baik.

Virtual web hosting adalah salah satu hosting yang paling populer yang tersedia pada saat ini-mungkin karena itulah salah satu pilihan paling efektif di pasar. Virtual host dikenal sebagai shared web hosting, virtual hosting memungkinkan pemilik website untuk memiliki situs web host pada server yang digunakan bersama-sama dengan situs-situs lain. Secara sederhana, virtual server perusahaan hosting akan mengalokasikan keluar layanan hosting dan bandwidth untuk lebih dari satu situs. Virtual web hosting adalah pilihan hosting yang lebih murah karena Anda tidak perlu membayar untuk sebuah server didedikasikan hanya host situs Web Anda.

Virtual web hosting adalah solusi yang baik untuk usaha kecil hingga menengah (dan bahkan sebagian besar) situs Web yang tidak terus-menerus mengunjungi atau yang memiliki kebutuhan bandwidth yang masuk akal. Ada dua metode dasar untuk mencapai virtual hosting: name-based, dan alamat IP atau ip-based.





2.2 Jenis Virtual Host
2.2.1 Name based

Name based virtual host menggunakan beberapa nama host untuk webserver yang sama alamat IP. Dengan web browser yang mendukung HTTP(seperti hampir semua sekarang lakukan), setelah tersambung ke suatu server web, browser mengirimkan alamat yang diketik pengguna ke dalam bar alamat browser (dengan URL). Server dapat menggunakan informasi ini untuk menentukan situs web, serta halaman, untuk menunjukkan pengguna. Browser menentukan alamat dengan mengatur HostHTTP header dengan host yang ditentukan oleh pengguna. Host header yang diperlukan dalam semua permintaan HTTP. Misalnya, server dapat menerima permintaan untuk dua domain, www.site1.com dan www.site2.com, keduanya menyelesaikan ke alamat IP yang sama. Untuk www.site1.com,server akan mengirimkan file HTML dari direktori /var/www/user/Joe/situs/ , sementara permintaan www.site2.com akan membuat server melayani halaman dari /var/www/user/Maria/situs/. Contoh: Sebuah blog dapat di hosting server menggunakan basis Nama hosting.Www.blog1.blogserver.com dan www.blog2.blogserver.com.

Kekurangan dari name based adalah jika Domain Name Sistem (DNS) tidak benar berfungsi, itu menjadi jauh lebih sulit untuk mengakses virtual-host situs. Pengguna dapat mencoba untuk kembali menggunakan alamat IP untuk menghubungi sistem, seperti dalam http://10.23.45.67/. Sebuah solusi dalam hal ini adalah dengan menambahkan alamat IP dan nama host untuk sistem klien file hosts. Mengakses server dengan nama domain harus bekerja lagi. Pengguna harus berhati-hati ketika melakukan hal ini, Namun, seperti perubahan apapun yang benar pemetaan antara nama host dan alamat IP akan ditulis oleh pengaturan lokal. Solusi ini tidak benar-benar bermanfaat bagi pengguna web , tetapi mungkin dari beberapa menggunakan administrator situs untuk memperbaiki catatan DNS sementara. Masalah lain dengan virtual hosting adalah ketidakmampuan untuk host beberapa situs Web aman berjalan Secure socket atau SSL. Karena SSL handshake terjadi sebelum nama host yang diharapkan dikirim ke server, server tidak tahu mana yang sertifikat untuk hadir saat sambungan dibuat. Salah satu solusi adalah dengan menjalankan beberapa program server web, masing-masing masuk dari tempat berbeda yang masih memungkinkan sistem hanya menggunakan satu alamat IP.

Contoh konfigurasi minimal Virtual host dengan Name-based :

NameVirtualHost *:80



<VirtualHost *:80>

ServerName www.websatu.com

DocumentRoot /www/web1

</VirtualHost>



<VirtualHost *:80>

ServerName www.webdua.com

DocumentRoot /www/web2

</VirtualHost>

Dengan konfigurasi seperti diatas, apache akan menjalankan 2 buah virtual host websatu dan webdua. Request client ke URL http://www.websatu.com akan diarahkan ke directory /www/web1 sedangkan request client ke URL http://www.webdua.com akan diarahkan ke directory /www/web2. Untuk mode Name-based kita perlu menambahkan konfigurasi “NameVirtualHost *:80″ yang fungsinya untuk mendefinisikan Name-based virtual host dengan IP * (sembarang) pada port 80.


2.2.2 Ip Based

Di Ip based virtual hosting setiap situs (baik sebuah DNS hostname atau kelompok yang bertindak DNS hostname sama) menunjuk ke alamat IP yang unik. Web server anda dikonfigurasikan dengan beberapa antarmuka jaringan fisik, antarmuka jaringan virtual pada antarmuka fisik yang sama atau beberapa alamat IP pada satu antarmuka.

Web server dapat memperoleh alamat koneksi TCP ini dimaksudkan untuk menggunakan standar API dan menggunakan ini untuk menentukan situs web untuk melayani. Klien tidak terlibat dalam proses ini dan karena itu (berbeda dengan nama yang didasarkan virtual hosting) tidak ada masalah kompatibilitas.


<VirtualHost 202.169.220.10>

DocumentRoot /www/web1

ServerName www.websatu.com

</VirtualHost>



<VirtualHost 202.169.220.10>

DocumentRoot /www/web2

ServerName www.webdua.com

</VirtualHost>

Dengan konfigurasi seperti diatas, apache akan menjalankan 2 buah virtual host pada 2 buah IP 202.169.220.10 dan 202.169.220.20. Request client ke IP 202.169.220.10 akan diarahkan ke directory /www/web1 sedangkan request client ke IP 202.169.220.20 akan diarahkan ke directory /www/web2. Konfigurasi “Listen 80″ akan memerintahkan apache untuk melayani request pada port 80 (port http). (dikutip: http://www.ricurves.com/networking/virtualhost/)


2.2.3 Port-based

Nomor port default untuk HTTP adalah 80. Namun, sebagian besar webservers dapat dikonfigurasi untuk beroperasi di hampir semua nomor port, asalkan nomor port tidak digunakan oleh program lain di server. Sebagai contoh, server mungkin host website www.example.com. Namun, jika mereka ingin mengoperasikan situs kedua, tidak memiliki akses ke konfigurasi nama domain untuk nama domain, dan / atau tidak memiliki alamat IP lain yang bisa mereka gunakan untuk melayani situs dari, mereka bisa alih-alih menggunakan nomor port lain, misalnya,www.example.com:81 untuk port 81, atau www.example.com:8000 untuk port 8000.

Kekurangan pada jenis ini adalah kebanyakan orang tidak akrab dengan non-standar menggunakan nomor port, dan nomor port yang lebih rumit mungkin lebih sulit untuk diingat. Kebanyakan webcrawlers berasumsi port 80 (default) saat mencoba merangkak situs dan begitu mungkin kehilangan non-standar nomor port. Manusia juga mungkin tidak menyadari non-standar nomor port dan mungkin tidak menyadari ke mana untuk melihat untuk mencari situs web. Non-standar menggunakan nomor port juga dapat dilihat sebagai tidak profesional dan tidak menarik bagi pengguna. Beberapa firewall, baik hardware atau software, blok semua tapi port yang paling umum. Ini akan menyebabkan situs non-host pada port standar untuk muncul tidak tersedia untuk beberapa pengguna. Namun, non-standar nomor port telah menemukan aplikasi pada perangkat lunak berbasis HTTP backends seperti Bit Torrent tracker mengumumkan script, yang merupakan bagian dari perangkat lunak backend dan biasanya tidak sepenuhnya dapat dilihat oleh pengguna.


2.3 Tujuan Virtual Host

◦ Memiliki sebuah host pribadi memperkenalkan website Anda ke pengunjung banyak

◦ Gunakan model untuk menjelaskan's perusahaan produk dan / atau jasa

◦ Menggunakan model sebagai panduan untuk membantu pengunjung Anda perhatian langsung ke apapun yang Anda inginkan

◦ Digunakan untuk menghidupkan website Anda dengan model kehidupan nyata

◦ Meningkatkan penjualan Anda!

◦ Anda Impress klien dan pengunjung lain situs web Anda!


2.4 Konfigurasi Virtual Host di Linux (Ubuntu)

Berikut ini akan kami jelaskan mengenai konfigurasi virtualhost di Linux (Ubuntu). Misalkan kita mempunya 2 buah domain aminudin.net dan kelelawar.net] kita kebingungan karena mempunyai 1 server, solusinya adalah harus mengarahkan domain tersebut ke IP server kita. Kemudian konfigurasi di sisi server nya denga melakukan konfigurasi virtualhost, kita edit file yang berada di /etc/apache2/http.conf. Kita masukan text virtual host,seperti contoh berikut (http://aminudin.net/?p=243 ) :

<VirtualHost *>

ServerAdmin webmaster@aminudin.net

ServerName aminudin.net

DocumentRoot /home/amin

CustomLog /hom/amin/log/aminudin.net.log combined

</VirtualHost>



<VirtualHost*>
ServerAdmin webmaster@kelelawar.net

ServerName kelelawar.net

DocumentRoot /home/kelelawar

CustomLog /home/kelelawar.net/log/kelelawar.net.log combined

</VirtualHost>



Penjelasan :

• <VirtualHost *> ==> merupakan awal dari virtual host

• ServerAdmin webmaster@kelelawar.net ==> Nama admin domain

• ServerName kelelawar.net ==> Nama domain yang akan masuk ke server kita

• DocumentRoot /home/kelelawar ==> File domain kelelawar.net

• CustomLog /home/kelelawar.net/log/kelelawar.net.log combined ==> Dimana File Log website diletakan

• </VirtualHost> ==> Penutup VirtualHost



# untuk file log, anda membuat terlebih dahulu file kosong

# ex: amin@root~#touch /home/kelelawar/log/kelelawar.net.log



Berikutnya yang harus anda lakukan adalah restart apache:

mhs@root~#/etc/init.d/apache2 restart

Jika kita mempunyai 1 domain atau 2 masih bisa dibilang belum memusingkan untuk konfigurasi file http.conf-nya. Tetapi jika sudah mempunyai banyak domain diarahkan ke 1 server, misal mempunyai 10 domain. Untuk masalah seperti itu kita sebaiknya membuat file konfiguration yang baru. Coba membuat directory dimana file konfigurasi domain tersebut berada.

Contoh : /home/vhost/aminudin.net.conf

/home/vhost/kelelawar.net.conf

Setelah itu coba pindahkan semua konfigurasi masing-masing domain ke file konfigurasi domain tersebut, misal vhost aminudin.net di pindah ke /home/vhost/aminudin.net.conf. Setelah itu edit file yang bernama apache2.conf yang berada di /etc/apache2/apache2.conf kemudian cari baris yang ada text Include /etc/apache2/http.conf kemudian anda tambahkan baris di bawahnya itu sebagai contoh anda masukan Include/home/vhost/aminudin.net.conf dan Include /home/vhost/kelelawar.net.conf. Kemudian karena file http.conf itu sudah kosong filenya maka beri tanda # di text Include /etc/apache2/http.conf. Tanda # itu menandakan bahwa yang berada di baris tersebut hanya komentar jadi tidak di tanggapi oleh apache tersebut. Kemudian setelah beres maka tinggal melakukan restart apache nya [amin@root~#/etc/init.d/apache2 restart]. Sekarang file virtualhost kita telah tersusun dengan baik. Jika ingin konfigurasi tidak perlu bingung karena kita tinggal pilih saja file konfigurasi salah satu domain.

Tidak ada komentar:

Posting Komentar