Apache
Web server memiliki beragam opsi konfigurasi bagi administrator. Masalahnya,
pada saat anda hosting, anda tidak memiki akses pada konfigurasi apache.
Akibatnya anda tidak dapat melakukan perubahan setting dan terpaksa menggunakan
konfigurasi default. Salah satu alternative yang dapat dilakukan untuk
melakukan overriding konfigurasi default adalah dengan melakukan setting lewat
file .htacces.
File
.htaccess berupa file ascii yang ditempatkan pada direktori www atau
subdirektori www. Anda dapat membuat file ini lewat editor teks seperti notepad
dan diupload dalam bentuk ASCII (bukan BINARY) di direktori mana yang anda
ingin memodifikasi setting. Selain itu, hak akses file diset sebagai 644
(rw-r--r--). Fungsinya adalah memungkinkan server mengakses file, namun
mencegah pengunjung untuk mengakses file lewat browser mereka karena alas an
keamanan.
Perintah
pada file .htaccess akan mempengaruhi semua direktori dan subdirektori dimana
file tersebut diletakkan. Jika anda meletakkannya di sub direktori dari
direktori www, maka file htaccess akan mempengaruhi direktori www dan semua
direktori dibawahnya. Yang perlu diperhatikan
adalah semua perintah pada file .htacess bersifat case sensitive dan didesain
untuk diletakkan pada satu baris.
Beberapa fitur file .htaccess
1.
Untuk memberikan
pesan error
Jika anda ingin melakukan overriding pesan error dari server, anda dapat
menggunakan .htaccess untuk mng-kustomisasi pesan error yang baru. Contoh
konfigurasinya :
ErrorDocument 500
/error.html
Override SSI Settings
2.
Melakukan
overriding setting SSI
Secara default, hanya halaman web yang memiliki
ekstensi .shtml yang akan melakukan parsing server-side includes (SSI). Anda
dapat melakukan overriding konfigurasi default ini agar SSI dapat bekerja
dengan file .html dan .htm dengan menambahkan baris ini pada .htaccess.
Contoh:
AddType text/html .html
AddHandler server-parsed
.html
AddHandler server-parsed
.htm
3.
Mengganti file
index.* pada homepage
Anda bisa mengganti halaman pertama web page anda yang biasanya berawal dengan
index.html, index.cgi, index.shtml, dan lainnya dengan namafileku.html. Perhatikan bahwa, biasanya
file pertama yang digunakan semua memiliki awal index.*. Selain itu juga, secara default, server akan
mendisplay file index.* berdasarkan prioritasnya. Artinya file index.cgi
memiliki keutamaan untuk ditampilkan disbanding index.html.
Misalkan anda ingin mengganti file index.* dengan nama
file: filebaru.html, tambahkan baris berikut pada file .htaccess :
DirectoryIndex
hieronymous.html
Jika server tidak menemukan file dengan nama
filebaru.html, server akan mengeluarkan halaman pesan error: 404 Missing Page.
Untuk mengubah prioritas file yang ditampilkan, anda dapat melakukan hal
dibawah, dimana orde prioritas ditentukan dari yang sebelah kiri (paling
tinggi) hingga paling kanan (terendah).
DirectoryIndex
hieronymous.html index.cgi index.php index
4.
Memungkinkan
browsing direktori
Karena alasan sekuritas, user dilarang untuk melihat
isi direktori atau disebut fasilitas directory indexing. Dengan menggunakan
file .htaccess, anda dapat mengijinkan user untuk melihat index direktori web
page anda. Contoh, misalnya anda memanggil http://www.domainku.com/gambar/,
maka web server akan melisting semua file pada direktori /gambar, tanpa perlu membuat file html dengan
linknya. Tinggal tambahkan baris ini
pada file .htaccess untuk melakukan indexing directory.
Options +Indexes
5.
Mengeblok user
untuk mengakses web site
Jika anda ingin mencegah akses website pada user
tertentu, asalkan anda tahu IP address atau domain name yang digunakan oleh
user tersebut, anda dapat menggunakan file .htaccess untuk mengeblok user
tersebut dari mengakses website anda.
<Limit GET>
order deny,allow
deny from 10.252.44.210
deny from 10.252.32.
deny from .domainku.com
allow from all
</Limit>
Pada contoh diatas, user dari nomor IP 10.252.44.210
akan di blok. Semua user dari network
10.252.32.000 s.d 10.252.32.255 akan diblok. Semua user dari domain domainku.com
akan diblok. Ketika mereka mencoba mengakses website anda, mereka akan menerima
pesan error 403 Forbidden ("You do not have permission to access this
site")
6.
Redireksi
pengunjung ke halaman web baru atau direktori
Bila anda mengubah seluruh isi web site anda,
memberikan nama baru bagi halaman dan direktori. Pengunjung pada halaman web
lama akan menerima kode error 404, File Not Found. Anda dapat mengatasi masalah
ini dengan melakukan redireksi panggilan ke halaman lama ke halaman baru.
Contoh: jika halaman web lama anda adalah ../lama.html dan anda ingin
menggantinya dengan baru.html pada website yang lain, maka anda dapat
menambahkan baris ini pada file .htaccess
Redirect
permanent /lama.html http://www.domainbaru.com/baru.html
Dengan penambahan ini, pengunjung yang mengakses
website lama pada halaman lama.html akan
dikirim menuju website baru pada halaman baru.html. Selain redireksi file, anda
juga bisa melakukan redireksi untuk seluruh isi direktori. Contoh: bila anda
hendah meredireksi pengunjung pada seluruh directory website lama ke direktori
website baru. Tambahkan baris ini pada htaccess.
Redirect
permanent /direktori-lama http://www.domainbaru.com/direktori-baru/
Ada beberapa tipe redireksi :
·
permanent –
halaman web dipindah secara permanen (kode status: 301)
·
temp – halaman
web dipindah secara temporer (kode status: 302)
·
seeother -
halaman web diganti (kode status : 303)
·
gone - halaman
web telah dihapus secara permanen (kode status : 410)
7.
Mencegah hot
linking dan bandwidth leeching
Hotlinking adalah tindakan mencuri image dan bandwith
dengan melink-an image file yang dimiliki oleh suatu web server dengan web
server lain secara ilegal. Hal ini dapat dicegah dengan menambahkan baris
dibawah pada file .htaccess
Dengan cara ini, image anda hanya akan terdisplay
ketika pengunjung benar-benar mengunjungi site anda. Semua image yang dilinking
dengan domain lain akan nampak sebagai broken image.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond
%{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule
\.(gif|jpg)$ - [F]
Anda bahkan bisa menambahkan image lain sebgai ganti
pada halaman yg terlink—dengan image yang menyindir pencurian gambar tersebut.
Tambahkan baris ini untuk melakukan hal tersebut :
RewriteEngine on
RewriteCond
%{HTTP_REFERER} !^$
RewriteCond
%{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule
\.(gif|jpg)$ http://www.domainku.com/curi.gif [R,L]
8.
Mencegah
pengunjung melihat file.htaccess atau file lain
Untuk mencegah pengunjung untuk melihat isi dari file
.htaccess, tambahkan baris ini pada file
.htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>
1.
Tugas Pendahuluan
1.
Sebutkan fungsi file htaccess ? Apa hak akses .htaccess? Dimana
file htaccess disimpan?
File .htaccess merupakan file konfigurasi yang
disediakan oleh web server Apache, yang biasanya digunakan untuk mengubah
setting default dari Apache. Kita ketahui untuk saat ini sebagian besar hosting
web di internet menggunakan Apache sebagai servernya sehingga bagi para
pengelola web harus belajar tentang .htaccess supaya dapat melakukan modif
terhadaf settingan default dari server. File .htaccess adalah fil text ASCII
sederhana yang biasanya diletakkan di direktori root. File ini diharuskan dalam
format ASCII bukan format binary dan untuk file permission (atribut file) pada
server hosting harus diset 644 (rw-r-r). Hal ini bertujuan agar server dapat
mengakses file .htaccess, tapi mencegah user untuk mengakses file .htaccess
dari beowser mereka. Karena file .htaccess diletakkan di direktori root maka
file ini dapat digunakan untuk mengubah konfigurasi dari
subdirektori-subdirektori yang ada di dalam direktori root. Sehingga untuk satu
website biasanya kita cukup menediakan satu file .htaccess saja yang kita
letakkan di dalam direktori root. Kode perintah yang ada di dalam file
.htaccess harus ditempatkan dalam satu baris.
2.
Apa keuntungan dan kerugian menggunakan file .htaccess ?
Kelebihan :
Kekurangan :
·
semua
linknya harus berupa absolute link, baik itu untuk image maupun file
eksternalnya, maksudnya apabila anda biasanya menggunakan relatif link seperti:
../image/file.jpg atau ../../image/file.jpg
·
Tidak
semua server mengaktifkan settingan ini, atau bisa menghubungi server yang
digunakan agar dapat mengaktifkannya, tetapi harus menjelaskan tujuan
penggunaan, agar administrator mempercayai.
3.
Apa yang disebut hot linking dan bandwidth leeching.
Bagaimana mencegah hot linking dan bandwith leeching ?
Hot linking adalah tindakan
mencuri image dan bandwith dengan melink-an image file yang dimiliki oleh suatu
web server dengan web server lain secara ilegal. Hal ini dapat dicegah dengan
menambahkan baris dibawah pada file .htaccess
Dengan cara ini, image anda hanya akan terdisplay
ketika pengunjung benar-benar mengunjungi site anda. Semua image yang dilinking
dengan domain lain akan nampak sebagai broken image.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Anda bahkan bisa menambahkan image lain sebgai ganti
pada halaman yg terlink—dengan image yang menyindir pencurian gambar tersebut.
Tambahkan baris ini untuk melakukan hal tersebut :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.domainku.com/curi.gif [R,L]
4.
Bagaimana mencegah user dg nomor IP tertentu mengakses
homepage?
Bagi pemilik situs atau orang yang mengelola situs, kemampuan
untuk bisa membatasi akses pengunjung tertentu ke situs adalah keharusan.
Membatasi akses ke sebuah situs adalah salah satu bagian penting dalam
mengelola pengunjung situs. Suatu saat nanti, Anda mungkin perlu melakukan
hal-hal semacam ini. Anda dapat melarang atau tidak mengijinkan untuk mengakses
situs apabila mengetahui seseorang sedang menggunakan banyak bandwidth,
memposting konten-konten jahat, memberi komentar yang tidak diinginkan dan lain
sebagainya. Untuk dapat melarang akses ke sebuah situs, Anda memanfaatkan
alamat IP (IP address) dari pengunjung tersebut.
Anda dapat memantau semua alamat IP yang masuk ke situs Anda
melalui Lastest Visitors yang ada di bagian Logs dari cPanel. Apabila ada alamat
IP tertentu yang Anda curigai telah melakukan aktifitas yang tidak diinginkan,
Anda dapat mencegah pengunjung dengan alamat IP tersebut untuk melakukan
kunjungan berikutnya ke situs Anda. Larangan untuk mengakses situs Anda dapat
dilakukan melalui dua opsi yaitu .htaccess dan IP Deny Manager. Berikut ini
adalah langkah-langkah untuk mencegah (prevent) alamat IP tertentu mengakses
situs menggunakan IP Deny Manager :
§ Terlebih dahulu masuk ke area cPanel menggunakan akun cPanel
Anda. Klik tombol IP Deny Manager yang ada di bagian Security dari area cPanel.
§ Masukkan alamat IP pengunjung yang ingin Anda cegah untuk
mengakses situs dan kemudia tekan tombol Add.
§ Anda akan mendapatkan pesan bahwa alamat IP pengunjung yang Anda
masukkan tidak akan dapat mengakses situs Anda lagi. Klik tombol Go Back untuk
kembali ke area IP Deny Manager.
§ Alamat IP yang Anda masukkan akan ditampilkan di daftar alamat
IP yang sedang dicegah untuk mengakses situs yang Anda kelola.
5.
Bagaimana caranya melakukan redireksi ?
Saat menuju suatu
domain, ada dua kemungkinan umum url yang diketik orang. Misal untuk
rendefu.com, orang bisa merujuk ke http://rendefu.com atau ke
http://www.rendefu.com . Seringkali kita ingin kedua alamat tersebut merujuk ke
website yang sama. Kita bisa saja menyajikan dua website identik di dua alamat
tersebut, namun itu akan membuat statistik pengunjung web (misal untuk search
engine optimization) terbagi dua. Cara yang lebih baik adalah dengan
mengarahkan alamat yang satu ke alamat yang lain.
Sebagai contoh,
misalkan aplikasi kita sajikan di http://rendefu.com . Maka di file konfigurasi
virtualhost subdomain www nya, kita tulis:
<VirtualHost
*:80>
ServerName www.rendefu.com
Redirect permanent
/ http://rendefu.com/
</VirtualHost>
2.
Hasil Percobaan dan
Analisa Percobaan
Percobaan 1 : Melakukan Virtual
Hosting
Pada percobaan
ini, anda akan mumbuat dua buah website yang dihosting secara lokal di
computer anda.
Siapkan nama dua buah website tersebut, dan persiapkan pula halaman web
untuk kedua web
site tersebut. Jika halaman-halaman web tersebut telah siap, lakukan
virtual hosting
dengan cara dibawah.
1.
Dibawah
ini adalah langkah-langkah virtual hosting. Misalkan anda ingin membuat website dengan nama www.web7lama.com .
Sebelumnya lakukan disable terlebih dahulu terhadap website default dari
apache dengan
$
sudo a2dissite default
2.
Setelah
ini, anda dapat mulai melakukan virtual hosting. Langkah pertama adalah menkopikan
setting file default ke file website anda www.jualku.net. Ini adalah file
konfigurasi apache untuk virtual hosting. Anda perlu menyetting
komponenkomponen penting seperti nama website, dimana letak file html dan
lain-lain
$
cd /etc/apache2/sites-available/
$
cp default www.web7lama.com
Membuat alamat web baru untuk redirect:
3.
Edit
file www.web7lama.com dengan nano
$ nano etc/apache2/sites-available/www.web7lama.com
4.
Setelah
file www.jualku.net sudah terbuka.
§
Hapus
bagian AccessFileName .htacces.
§
Tambahkan
ServerName dibawah baris ServerAdmin
ServerName www.web7lama.com
ServerName www.web7baru.com
Konfigurasi web yang lama :
Konfigurasi web yang baru :
5.
Pada
file yang sama. Ubah DocumentRoot untuk menunjuk ke web direktori dari website
yang lama. Inilah tempat anda menyimpan halaman-halaman web anda
DocumentRoot
/var/www/web7lama
DocumentRoot
/var/www/web7baru
6.
Ubah
<Directory /var/www/> untuk menunjuk ke direktori web7lama
<Directory
/var/www/web7lama>
<Directory
/var/www/web7baru>
8.
Kopi
web page yang telah anda persiapkan atau web page default apache, ke direktori
/var/www/web7lama/
sampai semua terkopi
$
sudo cp /var/www/index.html /var/www/web7lama/index.html
File index.php sudah berada pada masing-masing
dierektori sehingga tidak perlu melakukan perintah copy lagi.
Melihat isi dari file index.php yang lama maupun baru :
$
nano /var/www/web7lama/index.html
$
nano /var/www/web7baru/index.html
Berikut tampilan
file nya :
$
sudo a2ensite www.web7lama.com
$
sudo a2ensite www.web7baru.com
10. Edit file /etc/hosts
untuk melakukan resolusi domain www.web7lama.com dan
www.web7baru.com ke 127.0.0.1.
Cari baris
127.0.0.1 , lalu tambahkan baris ini :
127.0.0.1
localhost
127.0.0.1 web7lama www.web7lama.com
127.0.0.1 web7baru www.web7baru.com
11. Restart web
server :
$
sudo /etc/init.d/apache2 reload
$
sudo /etc/init.d/apache2 restart
12. Bukalah browser
www.we7lama.com. Jika berhasil, berarti virtual host anda berhasil.
Selamat ☺
13. Dengan cara yang
sama, cobalah buat website www.web7baru.com pada computer yang sama
Percobaan 2 : Redireksi Pengunjung ke Halaman Web Baru atau Direktori
Contoh Kasus :
Anda mengelola website yang berisi penjualan devais jaringan, pada
www.jualku.net. Setahun kemudian, anda berhasil membeli domain domain baru
dengan nama www.tokobaru.com yang memiliki space lebih besar. Anda berniat
memindah website www.jualku.net ke website baru, www.tokobaru.com. Anda tidak
ingin kehilangan pelanggan yang biasa mengakses www.jualku.net, karena itu anda
berniat melakukan redireksi dari site lama ke site baru.
1.
Kita
akan melakukan redireksi dari website lama (www.jualku.net) ke website baru (www.tokobaru.com).
Sebelumnya cek lagi apakah virtual hosting anda telah berhasil dengan membuka
browser di komputer anda
2.
Edit
file /etc/apache2/sites-available/www.jualku.net. Pada bagian ini :
<Directory
/var/www/jualku>
Options
Indexes FollowSymLinks MultiViews AllowOverride None
Order
allow,deny
allow
from all
</Directory>
Gantilah
AllowOverride None menjadi AllowOverride All:
3.
Tambahkan
baris ini pada /etc/apache2/apache.conf bila belum ada.
AccessFileName
.htaccess
Tampilan isi file apache2.conf ecara keseluruhan :
4.
Buat
file .htaccess pada directory root website www.web7lama.com
$
sudo nano /var/www/web7lama/.htaccess
Kopikan baris
dibawah pada file .htaccess
<IfModule
mod_rewrite.c>
RewriteCond
%{HTTP_HOST} ^www.jualku.net$
RewriteRule (.*)$
http://www.tokobaru.com/$1
[R=301,L]
</IfModule>
Simpan file .htaccess
5.
Enablekan
modul rewrite.
$
sudo a2enmod rewrite
6.
Reload
dan restart apache web server
$
sudo /etc/init.d/apache2 reload
$
sudo /etc/init.d/apache2 restart
7.
Capture
hasilnya
Percobaan 3 : Penggunaan File .htaccess untuk Mengeblok IP Tertentu
Contoh Kasus : Anda
mengelola website www.jualku.net. Bekerjasamalah dengan beberapa teman anda
untuk lab ini. Catat nomor IP teman anda. Siapkan no IP yang akan ditolak dan
diperbolehkan. Kemudian lakukan langkah berikut :
1.
Tambahkan
baris berikut pada file /etc/apache2/sites-available/www.web7lama
<Directory
/var/www/jualku >
Options
Indexes FollowSymLinks MultiViews
AllowOverride
All
Order
allow,deny
Allow
from All
</Directory>
2.
Coba
edit /var/www/jualku/.htaccess
$
sudo nano /var/www/jualku/.htaccess
3.
Misalkan
nomor IP teman anda 10.0.1.5 dan
10.0.1.6. Kita mengijinkan beberapa nomor IP untuk mengakses website anda dan
menolak nomor IP yang lain. Tambahkan baris ini pada /var/www/web7lama/.htaccess.
<IfModule
mod_rewrite.c>
RewriteEngine
On
Order
Deny,Allow
Deny
from All
Allow
from 10.0.1.5 10.0.1.6
</IfModule>
4.
Restart
apache2
$
sudo /etc/init.d/apache2 reload
$
sudo /etc/init.d/apache2 restart
5.
Jangan
lupa untuk mengosongkan history sebelum mengarahkan browser ke halaman web. Gunanya
agar browser tidak merujuk ke cache file sebelumnya. Pada menu utama,
pilih Tools -> Clear Recent History
untuk Firefox.Pilih Everything pada Time Range to Clear. Klik seluruh opsi yang
ada yaitu Browsing&Download History, Cookies, dll. Klik Clear Now untuk
membersihkan history.
Membuka browser melalui terminal.
6.
Capture Hasilnya
Race Tech Titanium
BalasHapusThis metal oxide oxide alloy will turn the titanium framing hammer metal oxide titanium ore terraria of a copper oxide into nipple piercing jewelry titanium a graphite. This oxide microtouch titanium trim walmart is a citizen titanium dive watch flexible oxide that allows the copper oxide