Perbaikan Komentar

| 3 Comments | No TrackBacks

Hari Jumat yang lalu, 3 Oktober, salah seorang pemakai Yahoo! Messenger mengirim pesan bahwa fasilitas komentar di situs ini bermasalah. Agak mengherankan, karena selama ini saya uji coba dari dalam, di belakang firewall, tidak menjadi soal. Sayang sekali saya hanya menerima (accept) permintaan ybs. untuk memasukkan akun Yahoo! Messenger saya dan tidak saya tambahkan ke daftar Friends. Begitulah, setelah saya periksa lagi dan ternyata memang benar terdapat kegagalan pengiriman komentar, saya kesulitan menghubungi orang tersebut untuk mengucapkan terima kasih banyak atas pemberitahuan tersebut.

Pertama kali yang saya curigai adalah konfigurasi komentar di MT yang saya pasang untuk Coret Moret. Selama ini modus anonimous tidak saya izinkan sehingga pengirim komentar harus memasukkan nama dan alamat email. Namun setelah diperiksa dengan baik dengan cara mengubah konfigurasi untuk membolehkan atau menolak, hasilnya tidak berbeda banyak lewat uji coba di belakang firewall. Oleh karena itu rasa penasaran saya mengarahkan untuk menguji coba dari luar. Ternyata benar, respon untuk komentar, Pratilik (preview) atau Kirim, keduanya mengembalikan kode kesalahan No entry_id found.

entry_id adalah variabel yang dipakai oleh jendela komentar untuk pencatatan rujukan artikel yang dikomentari. Nomor urut yang dipakai oleh entry_id bersesuaian dengan field entry_id di tabel mt_entry di basisdata MT. Saya periksa di log server Web dan di form komentar, variabel tersebut ada, sebagai

mt-comments.cgi?entry_id=58
atau
<input type="hidden" name="entry_id" value="58" />
Namun kenapa keduanya tidak sampai ke modul komentar di server Web?

Cukup lama juga saya menyusun kemungkinan kegagalan pengiriman variabel tersebut. Kasus dengan hasil kegagalan seperti ini hanya sedikit tercatat di Google. Salah satu yang dibahas di Support Forum MT adalah persoalan yang ditimbulkan akibat penulisan entri CGIPath yang kurang lengkap dibanding URL yang digunakan. Contohnya awalan www tidak diikutkan pada penugasan (assignment) variabel tersebut padahal dipakai sebagai bagian dari URL. Sebelum menangkap esensi persoalan pada variabel tersebut secara utuh, saya sempat mencoba menambahkan www di depan coretmoret.degromiest.nl, yang tentu saja tidak menyebabkan perubahan lebih baik apapun!

Dengan demikian, fakta yang tersusun sekarang sebagai berikut,

  1. URL yang diekspos keluar: http://coretmoret.degromiest.nl;
  2. URL di atas diredireksi menjadi http://coretmoret.degromiest.nl:8000 karena server untuk Coret Moret menggunakan port 8000;
  3. redireksi dilakukan menggunakan mod_rewrite Apache;
  4. masukan dari form komentar dikirim ke server Web menggunakan metode POST.

Pertanyaan yang terpikir pertama oleh saya adalah: apakah mekanisme redireksi yang diterima oleh peramban (browser) tidak otomatis mengirim ulang isi POST? Jikalau tidak, karena toh variabel dan isinya tidak sampai ke server Web seperti yang saya temui sekarang, bagaimana cara mengatasi kendala pada sistem komentar di Coret Moret?

Setelah saya telusuri perubahan state dari permintaan perambah sampai ke server Web yang dituju di dalam firewall, trik yang paling gampang tentu saja melengkapi CGIPath di atas dengan nomor port 8000 yang digunakan. Dengan demikian harusnya ditulis sebagai

CGIPath http://coretmoret.degromiest.nl:8000/mt/
Baru saat itu saya faham esensi dari diskusi di Support Forum. Singkatnya: tuliskan URL benar-benar persis seperti yang dibaca oleh pengunjung.

Benarlah, kasus tersebut dapat dicarikan solusinya. Saya tes dari luar firewall dan baik pratilik dan kirim komentar berjalan baik! Masalah yang muncul sekarang, diakses dari dalam (intranet), justru gagal karena masih menggunakan port 80/http. Rasanya tidak enak mengubah begitu saja port yang dipakai menjadi 8000. Saya ingin perubahan seperti itu transparan (tidak terlihat) oleh pemakai. Solusi dua buah instan Apache dengan masing-masing port juga saya batalkan karena kurang elegan.

Berarti pembelokan port (port forwarding) harus dilakukan dan iptables akan membantu dalam proses transparansi ini. Skrip penting yang saya pasang,

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp     \
        -d 192.168.1.3 --dport 8000 -j DNAT    \
    --to-destination 192.168.1.3:80

iptables -A FORWARD -d 192.168.1.3 -i eth0 -p tcp   \
    -m tcp --dport 8000 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -m state       \
        --state NEW,RELATED,ESTABLISHED -m tcp  \
        --dport 8000 -j ACCEPT
Skrip lengkap ipt.sh dapat dilihat di sini.

Sayangnya trik iptables di atas tidak dapat digunakan dari localhost itu sendiri, padahal server Web tersebut digunakan untuk pengembangan juga. Informasi dari salah satu mailing-list Debian membantu. Cukup dengan memasang modul redir dan tambahkan baris berikut di skrip start-up sistem,

redir --lport=8000 --cport=80 --syslog &

Fasilitas komentar di Coret Moret sudah diperbaiki dan dapat digunakan. Sekali lagi terima kasih kepada pengunjung yang telah memberi tahu saya persoalan di bagian komentar tersebut.

Silakan tulis komentar, saya tunggu opini balik saudara!

No TrackBacks

TrackBack URL: http://mt4.atijembar.net/mt-tb.cgi/25

3 Comments

Kaitan tentang bilangan acak dan deterministik saya tulis di Hidup ini Singkat. Topik itu sendiri tidak saya bicarakan dengan teman yang saya maksud pada tulisan tsb., melainkan sebuah artikel menarik di Slashdot, LavaRnd. Berdasarkan sumber penyusunan angka acak yang dijelaskan tim Lava Lamps dari Silicon Graphics, mereka menyebut LavaRnd sebagai sumber angka acak yang sebenar-benarnya dengan bantuan kamera dan perangkat keras yang tidak mahal untuk mendapatkan sumber yang memadai.

Saya sendiri beranggapan bahwa untuk keperluan normal teknik ini sudah lebih dari memadai. Sekalipun demikian, karena pada diskusi tersebut kami melihatnya lebih transendental lagi (antara lain ujar-ujaran Einstein bahwa, “Tuhan tidak bermain dadu”) maka sebuah peristiwa yang benar-benar berdiri sendiri (tidak berformulasi) tidaklah ada.

Dengan santun kami sebut kebolehjadian sebenarnya adalah kejadian yang teratur di mata Tuhan.

Hallo, akhirnya udah diperbaiki yang fitur untuk komentarnya. Ada gunanya juga ya naruh yahooid di sini.

Hmm, kemarin itu mau mengomentari soal bilangan random yang katanya tidak bisa dihasilkan komputer karena sifatnya yang deterministik. Tapi sekarang gak ketemu artikelnya yang mau dikomentari yang mana :).

Cuma mau bilang, bahwa meskipun komputer itu deterministik, tapi kan ada banyak lain yang sifatnya tidak deterministik di dalam komputer. Suhu prosessor, kecepatan fan pendingin, voltase yang diterima prosessor, jarak antar pengetikan keyboard user, dll, semua sifatnya tidak deterministik dan itu semua bisa diukur dari dalam prosessor.

Hasilnya, Linux (dan beberapa OS lain) punya /dev/random, yang merupakan bilangan random murni hasil dari pengumpulan entropi sistem. Jadi, komputer, sebagai suatu sistem (bukan dipandang dari teori otomata), bisa menghasilkan bilangan acak sejati.

Wah kalau sudah bicara soal determinisme jadi susah :). Nanti akhirnya akan mengarah ke free will, jika ada takdir, jika Tuhan merencanakan semuanya, adakah tempat untuk kehendak bebas? Dst. Nanti segala sudut pandang bisa dibahas, apakah kehendak itu hanya ilusi? apakah kehendak bebas itu ada tapi terbatas?

Jika kehendak bebas itu ada, tapi sebenarnya terbatas, lalu bagaimana dengan efek chaos, jika kepakan seekor kupu-kupu di Brazil bisa menciptakan badai di Texas, betapa terbatasnya kehendak bebas (jika kehendak bebas memang ada tapi terbatas), karena setiap aksi kecil dapat mengubah semuanya?

Jika ada kehendak bebas, berarti saya sudah menciptakan bilangan random dong, dengan secara tidak langsung mengubah entropi sistem komputer. Tapi jika tidak ada kehendak bebas, berarti semua tulisan ini sia-sia dong (karena sudah diset seperti ini oleh Tuhan).

Saya sendiri termasuk orang yang kurang suka memikirkan hal tersebut. Karena saya tidak tahu apakah akan berguna bagi saya, jika saya tahu jawabnya. Atau mungkin juga saya memang tidak ingin tahu jawabnya.

Google Friend Connect

About this Entry

This page contains a single entry by Ikhlasul Amal published on October 5, 2003 8:17 AM.

Bulan Bahasa was the previous entry in this blog.

Campus Agreement dan Open Source is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

  • About
  • Contact
OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.261