#4 mod_rewrite enabled

Dalam kisah kali ini, si Dudun ingin belajar cara cepat dan mudah untuk membuat aplikasi web dengan PHP. Ia ingin mencoba desain MVC yang sedang naik daun untuk pengembangan perangkat lunak. Dari penjelajahannya di dunia internet, si Dudun mendapatkan informasi beberapa utilitas yang bisa digunakan. Salah satunya adalah CakePHP.

Memasuki halaman awal CakePHP dan membaca kalimat pembukanya yang kocak, membuat si Dudun tertarik untuk menggali lebih dalam. Bagaimanakah MVC di CakePHP bekerja. Untuk itu, dengan semangat 20081, si Dudun memulai petualangannya dengan mengunduh aplikasi dan tutorial pendukungnya. Pertama kali, ia ingin mencoba tutorial yang ditulis oleh Duanne O’Brien. Setelah semua siap, si Dudun pun mulai mengekstrak file CakePHP ke dalam Document Root webnya2. Pada desktop Ubuntunya3, si Dudun memasukkan file hasil ekstraksi ke dalam folder cake pada lokasi /var/www.

Sesuai dengan petunjuk tutorialnya, ia kemudian mengubah hak akses terhadap file-file tersebut dengan perintah:

# chmod 777 /var/www/cake -R

Sehingga nantinya file tersebut dapat diakses oleh web server4. Kemudian, dengan sigap ia membuka Firefox dan memasukkan alamat http://localhost/cake. Ia bersorak girang ketika halaman yang muncul menampilkan keterangan mengenai CakePHP.

gagal!!

Semangat si Dudun membara lebih panas dan ia pun melanjutkan membaca tutorialnya. Tiba-tiba si Dudun mengerutkan kening. Ia membaca bahwa jika halaman yang tampil masih seperti yang di atas berarti ada konfigurasi yang belum benar, yaitu mod_rewrite.

Si Dudun kemudian melakukan pengecekan sesuai dengan petunjuk si tutorial. Pertama, ia mengecek keberadaan file .htaccess di folder tempat ia menginstall cake. Ia mengetikkan beberapa perintah ke dalam terminal.

# cd /var/www/cake

# cat .htaccess

Pesan yang muncul sudah sesuai dengan yang dituliskan di dalam tutorial, yaitu:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^$ app/webroot/ [L]

RewriteRule (.*) app/webroot/$1 [L]

</IfModule>

Setelah pengecekan pertama selesai, ia melakukan pengecekan kedua. Is mod_rewrite enabled for the server?

Ia pun memasuki lokasi di mana file konfigurasi apache berada, yaitu di /etc/apache2. Pengalaman masa lalu mengajarkan si Dudun bahwa konfigurasi apache berada pada file httpd.conf. Namun, ketika ia membuka file tersebut ia terkesiap. Tak ada satu tulisan pun di sana. Kebingungan, si Dudun pun mencoba membuka file .conf yang lain. Ketika membuka apache2.conf, ia pun tersenyum. Rupanya file konfigurasi apache berada di sana.

Dengan menggunakan fasilitas pencarian kata dalam gedit, ia mencari baris konfigurasi mod_rewrite. Ternyata baris tersebut tidak ada.. Si Dudun menggaruk-garuk kepala kebingungan.

Pantang menyerah, si Dudun mencoba melakukan investigasi. Insting detektif si Dudun memerintahnya untuk membuka folder mods-enabled. Walaupun sudah melakukan interogasi terhadap semua file, ia masih belum menemukan lokasi konfigurasi mod_rewrite. Insting detektif kembali berteriak. Ia menginstruksikan si Dudun untuk membuka folder mods-available. Ketika mata si Dudun menemukan kata rewrite, ia langsung bersorak gembira. Setelah memastikan bahwa itu adalah file konfigurasi yang dimaksud, si Dudun memasukkan file rewrite.conf tersebut ke dalam folder mods-enable. Belakangan diketahui bahwa semua file konfigurasi pada folder mods-enable akan di load oleh file apache2.conf. Proses kopi-mengopi selesai. Si Dudun masih dibingungkan dengan perbedaan icon antara file lain dengan file rewrite.conf yang baru saja ditambahkannya. Ternyata file-file yang lain hanyalah berupa link yang menuju ke file konfigurasi di dalam mods-available. Namun demikian, si Dudun merasa bahwa ini bukanlah sebuah masalah. Setelah merestart apache5, ia pun me-refresh Firefox. Krik…krik.. tidak ada perubahan.

Penyelidikan dilanjutkan dengan melakukan pengecekan “Does the server allow .htaccess override?”. Kali ini ia mencoba mencari definisi mengenai akses web root. Insting detektif beraksi kembali. Kali ini, ia menyuruh si Dudun membuka folder sites-enabled. Setelah mengetahui bahwa isi di dalam folder ini merupakan sebuah link, si Dudun pun menelusuri link ini. Link tersebut ternyata menuju ke folder sites-available. Pada folder ini, si Dudun mencoba membuka file default. Setelah mengetahui bahwa ini adalah file yang dicari, si Dudun pun mengubah akses6 override web root menjadi:

<Directory /var/www/>

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>

Si Dudun kemudian merestart apache dan merefresh Firefoxnya lagi. Ia pun bersorak ketika Firefox akhirnya menampilkan halaman yang benar.

berhasil

Sambil mengusap keringat di dahinya, si Dudun pun sadar bahwa petualangannya baru saja dimulai.

1no offense untuk yang memiliki semangat 45..😛

2document root web atau web root adalah tempat web server mengakses file. Terkadang disebut juga sebagai htdocs. di Linux, biasanya konfigurasi apache mengarahkan kepada /var/www

3si Dudun sedang terbawa semangat open source ^^

4Pada tutorial yang si Dudun dapatkan disebutkan isu mengenai masalah sekuriti, namun tidak dibahas secara rinci.

5terkadang menggunakan fasilitas System > Administration > Service, atau dengan mengetikkan perintah apache2 -k restart pada terminal.

6untuk mengubah file ini, diperlukan akses sebagai root. Salah satu cara yang bisa dilakukan adalah dengan mengedit file sebagai root, yaitu dengan mengetik sudo gedit /etc/apache2/sites-available/default.

Pos Sebelumnya
Tinggalkan komentar

8 Komentar

  1. insanul

     /  April 19, 2008

    Wah…musti belajar banyak dari si Dudun nich…

    Balas
  2. ah,, mas insan ini bisa aja….
    kayaknya mas Insan lebih jago… ^^

    Balas
  3. Wah tengkiu tutornya…. sayangnya saia udah terlanjur instal lampp😦 kapan2 d coba ach…

    Balas
  4. emang enak sih kalau pake yang udah paketan gitu.. tapi tidak ada salahnya kan mencoba hal baru??

    selamat mencoba..😀

    Balas
  5. bole juga tuh dun…
    Ntar kita ktemuan y dun

    Balas
  6. cie… bikin janji segale…😀

    Balas
  7. lah ini s dudun nongol lagi??hehehe…
    keren22..pengen belajar framework PHP..ajarin yaks..

    Balas
  8. si dudun yang ilang itu http://sidudun.wordpress.com..

    si dudun yang ini.. alhamdulillah masih ada…😀

    Balas

Ada apa di pikiranmu?

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: