Apache, IPv4, Hosts, dan Dogol

August 20, 2006 at 9:49 am (dogol, linucks sux)

Okay, Minggu pagi gue dapet telpon urgent dari kantor, ngasih tau kalau webmail tidak bisa dibuka. Jadi orang-orang pada nggak bisa ngecek email via web. Baiklah™. Dateng ke kantor, ngecek sana sini, gue buka website kantor dan browser opera gue diem aja, connecting tapi nggak nongol apa-apa di layar. Dari komputer sebelah yang pake Windows, terlihat Internet Explorer terbuka dengan logo indahnya dan kata-kata manis bertuliskan “The Page Cannot be Displayed”.

Dugaan pertama gue masalah ada di DNS. Maka langkah pertama yang gue lakukan adalah ngecek DNS nyala atau hidup[1]. Cek sana sini, ping DNS, nge-resolve via DNS, semua jalan baik. Artinya DNS baik-baik saja.

Langkah ke dua, gue langsung login ke server web dan langsung mendapatkan kenyataan bahwa apache tidak jalan. Yaelah, ginian doang? Keciiiillll .. Pas gue eksekusi script buat start apache, gue dihadang satu masalah lain, apache nggak mau start tanpa pesan error.
# /etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [FAILED]

Damn! Cek file /var/log/messages, nggak memberikan info berarti selain gagal menyalakan apache. Langkah terakhir gue cek log dari apache sendiri, di /var/log/httpd/error_log.

[Sun Aug 20 08:58:11 2006] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "web"
Configuration Failed!

Nah, mendingan. Paling nggak ada error log yang bisa digooglekan. Setelah mencari di google dan tersesat di beberapa forum yang menemukan masalah yang sama tapi tidak ketemu penyelesaiannya, ada yang menyarankan untuk reinstall apache atau disuruh ngecek module python, yang mana semua gue yakin nggak berhubungan dengan masalah gue ini, nggak sengaja gue nyasar ke url ini yang ngasih tahu untuk ngedit file /etc/hosts.

Ya elah, perasaan apache gue ga ada hubungannya sama /etc/hosts. Dari jaman kapan ini apache jalan nggak pernah ngedit-ngedit /etc/hosts. Tapi karena ini clue terakhir, ya udah gue buka file /etc/hosts dan menemukan tampilah seperti ini:
# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 www localhost.localdomain localhost

That’s it! Hanya ada 1 baris yang nggak dikasih tanda pager. The beautiful IP, 127.0.0.1. Nggak ada IP komputer web itu sendiri.

Spontan gue jadi inget kemaren ada yang nanya ke gue:
Seseorang : “Gimana cara biar satu komputer nggak usah ngeresolve dns untuk dapet IP?”
Gue : “Ya mainkan di /etc/hosts”
Seseorang : “Gitu doang?”
Gue : “Yoih™”

Dan seseorang itu ternyata mengedit /etc/hosts dengan menghapus IP yang ada dan hanya menyisakan satu baris IP loopback. Yeah rite™

Penyelesaian masalah hanya tinggal mengedit file /etc/hosts menjadi kurang lebih seperti ini:
# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
202.1.2.3 www.domain.com www web

Restart apache.

# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

Done. Sekarang tinggal pulang dan nyari sarapan. Laper berat…


[1] Mustinya nyala atau mati. Tapi palingan kalian nggak notice.

Permalink 3 Comments

Playing with curl

August 9, 2006 at 11:19 am (linucks sux)

Pernah mo download banyak file dengan url yang berbeda-beda? Pernah mau download file dengan nama file seperti file001.mpg sampai file999.mpg? Kejadian seperti ini gue alami waktu mau download comic strip macam Garfield atau Calvin and Hobbes.

Website resmi Garfield atau Calvin and Hobbes memang menyediakan archive comic strip yang hanya bisa dilihat satu persatu untuk setiap comic stripnya. Sementara koneksi internet yang tidak Deden friendly adalah salah satu faktor penghambat untuk bisa menikmati comic strip sambil meminum secangkir nescafe pas (sumpah ini spam).

Dari website Garfield, gue menemukan bahwa comic strip yang muncul di sana disimpan di site images.ucomics.com. Misalkan untuk comic strip tanggal 15 Januari 2006, urlnya adalah http://images.ucomics.com/comics/ga/2006/ga060115.gif

Berarti kira-kira kalo gue mau liat archive 9 Juni 1997, mungkin urlnya adalah http://images.ucomics.com/comics/ga/1997/ga970609.gif. Apakah benar? Coba aja di cek.

Dulu sekitaran tahun 2004, gue pernah diskusi sama Aris gimana cara yang baik untuk mendownload comic strip ini. Dasar programmer, dia langsung buat sebuah script php yang berfungsi menghasilkan sebuah file dengan url-url comic strip yang ingin di download. Misalkan elo mau download seluruh comic strip yang ada dari taun 1996 sampai taun 1997, tinggal input range tahun, dan tercipta sebuah file dengan url-url yang tinggal digabungkan ke dalam perintah wget.

Baru beberapa bulan kemudian, gue menemukan cara yang lebih efisien untuk mendownload comic strip atau file-file apapun dengan url berbeda tapi ada polanya. Perintah yang gue pake adalah curl.

Dengan perintah curl, gue bisa mendownload range comic strip untuk setiap tahunnya, hanya dengan perintah seperti
curl http://images.ucomics.com/comics/ga/1989/ga89[01-12][01-31].gif -o ga89#1#2.gif

Setiap tanda [] berarti range angka yang akan digenerate dalam url tersebut. Artinya gue akan mendownload file dengan nama berawalan ga89 (garfield tahun 1989), bulan 1-12, tanggal 1-31.

Sementara output dari perintah tersebut akan disimpan ke file dengan nama ga89#1#2.gif. Yang mana tanda #1 itu adalah variable yang akan diisi dengan range angka pertama yang dipakai di url tersebut, #2 variable untuk range angka kedua, dan seterusnya.

Tapi dengan perintah curl seperti ini memang ada sedikit ‘kelebihan’. Kelebihan download tepatnya. Ada beberapa file yang tidak ada, tapi akan terdownload. Misalkan file dengan nama ga890230.gif atau ga890231.gif atau yang lainnya. Ya maklum lah, tanggal 30, 31 bulan februari kan nggak ada. Ataupun tanggal-tanggal 31 lain di bulan yang hanya berjumlah 30 hari.

Nah kalo udah selesai, tinggal gue ditodong Bunda buat ngaplod hasil codotan.

Garfield

Permalink 6 Comments

Lame Server Resolving

August 7, 2006 at 1:24 pm (linucks sux, redhat)

Gue baru ganti mesin secondary DNS server. Setelah setup mesin DNS 2 mingguan yang lalu, dibiarin up selama 2 minggu itu untuk ngeliat ada masalah atau nggak dengan mesin itu.

Soalnya itu mesin emang rada-rada. Waktu pertama kali gue pasang di ruang server, itu mesin ngadat booting dengan mulus. Setiap kali abis BIOS nongol pasti ada IRQ conflict. Yang aneh lagi, mesin ini sebelumnya dipake buat proxy dan ga pernah ada masalah dengan IRQ conflict. Sementara sebelomnya ga pernah utak-atik hardware atau BIOS.

Seharian gue kedinginan di dalam ruang server hanya untuk bolak balik reboot itu mesin nyari masalahnya apaan tapi ga bisa juga. Gak kuat kedinginan, mesin dogol itu gue bawa ke meja gue, pasang di sana. Boot … Ajaib! Gak ada IRQ conflict! Kayaknya ini mesin bagus gue kasih nama “Hantu” aja ya. Banyak masalah gaib. Mungkin letak mesin harus sesuai dengan Feng Shuinya.

Setelah masalah Feng Shui terselesaikan, pertama … gue install linux di mesin itu. Selesainya gue setup DNS. Setingan DNS yang lama gue kopi langsung ke mesin itu. Ada lebih dari ratusan zone dan gila aja kalo gue niat ngetik satu persatu zone yang ada.

Setelah kelar semua setingan yang ada, secondary DNS yang ada gue matiin, mesinnya gue ganti sama mesin yang udah di setup ini. Nyalain service DNS dan gue ngeliat zone-zone yang ada melakukan transfer file ke secondary DNS ini. Tapi di log sering nongol tentang lame server.

Aug 7 09:15:02 ns2 named[2880]: lame server resolving 'www.blablabla.com' (in 'blablabla.com'?): 12.234.12.123#53

Anehnya beberapa domain yang nongol di log, sama sekali ga ada setingan zone-nya di konfig gue.
Nyontek dari sini dan sini, lame server itu adalah :

If you look in your message logs, you may see an error about a “lame server”. A lame server is when the NS record for a domain specifies a server that is not authoritative for the domain. For example, the NS record for www.domain.com may list ns1.domain.com as one of its nameserver; however, if you actually query ns1.domain.com, the nameserver does not answer as an authoritative server. The latter is do to a mis-configuration of that nameserver not yours. Lame servers are increasingly common as more and more people run their own DNS — often with improper configurations.

Jadi kesalahan bukan pada mesin Feng Shui ini. Tapi kenapa ga nongol di log mesin secondary DNS yang lama ya?

Dari site tersebut dijelasin juga, kalo pusing ngeliat lame server error itu di log, matiin aja log tentang lame server itu. Caranya? Install Lin… euh …

Tinggal di file named.conf masukin option kayak gini:

logging {
category lame-servers { null; };
};

Done.

Permalink Leave a Comment

Read The Changelog, Stupid!

August 4, 2006 at 10:56 am (linucks sux, slack)

Untuk desktop kerja gue, udah 3 tahun lebih gue pake distro slackware. Kenapa ga pake Windows? Ga tau, ga peduli, Gue cuma nyari mana yang nyaman gue pake buat kerja (brosing, ceting, donlod).

Untuk upgrade paket di slackware, gue pake software slapt-get, yang dikenal sebagai apt-nya slackware.

Satu bulan terakhir ini, gue asik ngapgred distro slack gue ke versi -current. Enak, tinggal jalanin slapt-get --update; slapt-get --upgrade -a Tunggu beberapa lama untuk dia download paket-paket yang akan diapgred, trus slackware gue udah apdet ke versi current.

Tapi gue selalu failed tiap kali apgred basic system, termasuk X11 dan KDE. Sampai akhirnya tiap kali apgred KDE ke versi 3.5.3, gue musti downgrade ke versi 3.4.2 bawaan slack 10.2. Daaaan, baru hari ini gue mencoba untuk apgred KDE lagi ke versi terbaru di slackware-current. Hasilnya? Blah! Gagal maning gagal maning son … Error messagesnya cuma “could not start kdeinit”. Tidak membantu sama sekali.

Pas lagi downgrade ke versi 3.4.2, ga sengaja ngeliat log error di file ~/.xsession-errors. Di situ gue tau ada file yang gak ada, yaitu libacl.so.1. Setelah googling, akhirnya gue tau semenjak 8 Februari 2006, paket acl dan attr dipisah dari paket xfsprogs. Dan dari forum ini akhirnya gue menyadari, bahwa aplikasi seperti slapt-get tidak akan menginstall paket-paket yang baru saja ditambahkan ke dalam versi current, karena mereka hanya akan mengapgred paket yang sudah terinstall. Bodoh! Makanya, sebelum melakukan apgred, baca dulu Changelog yang ada!

Anyway, sekarang KDE gue udah versi 3.5.3. Dan dulu setelah downgrade ke versi 3.4.2, gue ga pernah bisa ngepop gmail lagi. Sekarang setelah beberapa paket ditambahin sesuai dengan di Changelog, semuanya kembali normal :D

Permalink 3 Comments

nucks sux

August 4, 2006 at 9:59 am (linucks sux)

Hei, yayaya gue tau, linux sucks
ga usah dibahas, karena itu redundant.
Setelah sekian lama blog yang ini gue anggurin, kayaknya sekarang gue berniat menulis di sini sebagian kerjaan gue, sebagian oprekan gue, dan bukan di blog gue yang utama.

Kenapa ditulis di sini? Karena blog ini nganggur dan gue ga ingin catatan kerjaan gue hilang. Walaupun hal-hal remeh ga penting seperti lupa kopi file konfigurasi ke tempatnya etc etc …

That’s it.

Permalink Leave a Comment