ݺߣ

ݺߣShare a Scribd company logo
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
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow 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 webmaster@situskita.tld
ServerAlias *.situskita.tld situskita.tld
DocumentRoot /home/vandai/workspace/situskita/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/vandai/workspace/situskita/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow 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 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
ServerSignature On
Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride none
Order deny,allow
Deny from all
Allow 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
kekurangannya..
terima kasih

More Related Content

Virtual host

  • 1. 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 ServerSignature On Alias /doc/ “/usr/share/doc/” <Directory “/usr/share/doc/”> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow
  • 2. Deny from all Allow 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 webmaster@situskita.tld ServerAlias *.situskita.tld situskita.tld DocumentRoot /home/vandai/workspace/situskita/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /home/vandai/workspace/situskita/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow 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 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 ServerSignature On
  • 3. Alias /doc/ “/usr/share/doc/” <Directory “/usr/share/doc/”> Options Indexes MultiViews FollowSymLinks AllowOverride none Order deny,allow Deny from all Allow 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