Virtual host

4
yup tu juga bisa .,da tambahan juga jika kemarin saya dah menulis trit tentang bagaimana membuat dns server ...kali ini kita akan membuat konfigurasi Virtual Host agar setiap request yang masuk langsung diarahkan ke domain utama. Pertama, edit file konfigurasi default apache: /etc/apache2/sites- available/default Ubah nilai NameVirtualHost dan VirtualHost menjadi * $ sudo pico /etc/apache2/sites-available/default sehingga menjadi: NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory “/usr/lib/cgi-bin”> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined

Transcript of Virtual host

Page 1: Virtual host

yup tu juga bisa .,da tambahan juga jika kemarin saya dah menulis trit tentang bagaimana membuat dns server ...kali ini kita akan membuat konfigurasi Virtual Host agar setiap request yang masuk langsung diarahkan ke domain utama.Pertama, edit file konfigurasi default apache: /etc/apache2/sites-available/defaultUbah nilai NameVirtualHost dan VirtualHost menjadi *

$ sudo pico /etc/apache2/sites-available/default

sehingga menjadi:

NameVirtualHost *<VirtualHost *>ServerAdmin webmaster@localhost

DocumentRoot /var/www/<Directory />Options FollowSymLinksAllowOverride None</Directory><Directory /var/www/>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyallow from all</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<Directory “/usr/lib/cgi-bin”>AllowOverride NoneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from all</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.LogLevel warn

CustomLog /var/log/apache2/access.log combinedServerSignature On

Alias /doc/ “/usr/share/doc/”<Directory “/usr/share/doc/”>Options Indexes MultiViews FollowSymLinksAllowOverride NoneOrder deny,allow

Page 2: Virtual host

Deny from allAllow from 127.0.0.0/255.0.0.0 ::1/128</Directory>

</VirtualHost>

Kemudian buat file konfigurasi Virtual Host baru untuk domain kita.

$ sudo pico /etc/apache2/sites-available/situskita.tld

Kita akan menambahkan ServerAlias yang akan mengarahkan semua request *.situskita.tld ke domain utama.Dan arahkan DocumentRoot ke lokasi kerja kita.

<VirtualHost *>ServerAdmin [email protected] *.situskita.tld situskita.tldDocumentRoot /home/vandai/workspace/situskita/<Directory />Options FollowSymLinksAllowOverride All</Directory><Directory /home/vandai/workspace/situskita/>Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from all# This directive allows us to have apache2’s default start page# in /apache2-default/, but still have / go to the right place#RedirectMatch ^/$ /apache2-default/</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<Directory “/usr/lib/cgi-bin”>AllowOverride noneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from all</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.LogLevel warn

CustomLog /var/log/apache2/access.log combinedServerSignature On

Page 3: Virtual host

Alias /doc/ “/usr/share/doc/”<Directory “/usr/share/doc/”>Options Indexes MultiViews FollowSymLinksAllowOverride noneOrder deny,allowDeny from allAllow from 127.0.0.0/255.0.0.0 ::1/128</Directory>

</VirtualHost>

Simpan kemudian restart server apache.

$ sudo /etc/init.d/apache2 force-reload

Buka browser, dan ketikkan www.situskita.tld di alamat browser anda. Juga ketikkan berbagai macam variasi subdomain, seperti test.situskita.tld, coba.situskita.tld, aaaa.situskita.tld, dan lainnya. Jika halaman yang dimunculkan sama dan sesuai dengan project situs kita, maka kita sudah berhasil membuat subdomain wildcard ini.

Sekarang bagaimana kita bisa menampilkan halaman untuk member tertentu sesuai dengan subdomainnya?Gampang saja, kita tinggal menangkap nilai subdomain tersebut melalui kode PHP dengan menggunakan variable $_SERVER["SERVER_NAME"]Contoh penggunaannya:

<?echo “URL: “.$_SERVER["SERVER_NAME"].”<br />”;

$HOST = explode(”.”,$_SERVER["SERVER_NAME"]);$USER = $HOST[0];

echo “USER Subdomain: “.$USER;?>

Jika kita sudah bisa mendapatkannya ($USER), selanjutnya terserah bagaimana kita memprosesnya. Misalkan subdomain tersebut merupakan username, maka kita tinggal mengecek nya apakah username (dari subdomain) tersebut ada di database, jika ada maka tampilkan halaman khusus milik dia. Jika tidak ada, tampilkan halaman utama, atau langsung tampilkan halaman registrasi.

PENTING! Sebelumnya jangan lupa untuk selalu menyaring nilai yang di dapat dari subdomain tersebut. Ini untuk mencegah terbuka nya celah keamanan, misalnya melalui XSS, SQL Injection, dan lainnya.

Sampai sini kita sudah bisa membuat subdomain wildcard untuk membedakan halaman masing-masing anggota di mesin development server kita sendiri. Selanjutnya jika kita ingin mempublikasi kan situs kita melalui provider hosting lain, kita harus memastikan ke pihak Hosting Provider nya, apakah mereka mendukung Subdomain Wildcard.dan cara ni adalah salah satu cara dari seribu cara yang ada diinternet jadi mohon maaf klo da

Page 4: Virtual host

kekurangannya..terima kasih