Memasang PlanetPlanet di Shared Hosting

Saya berniat membuat feed aggregator untuk blog teman-teman Kaipang dan mencoba plugin-plugin dari wordpress. Tapi tidak ada yang sesimpel, sebagus, dan terutama sekhas planet dengan hackergotchi-nya. Rata-rata, komunitas perangkat lunak terbuka mempunyai feed aggregator sendiri untuk blog pengembangnya dan mereka menggunakan planet. Misal seperti :

dan lain sebagainya.

Yep, planet.ntb.linux.or.id sudah up! Belum keren benar sih, CSS-nya belum dibenahin.

Planet dapat diunduh di http://planetplanet.org. Pasang/unggah berkas-berkas planet ke server anda, ke path yang dikehendaki. Planet berbasis python dan pada mulanya saya mengira script python tersebut mesti dijalankan via browser, seperti halnya django. Ternyata tidak demikian. Terberkatilah otak saya yang bego ini.

Cara kerja planet adalah, kita mengkonfigurasi berkas config.ini, melengkapinya dengan umpan rss yang ingin kita kumpulkan, membuat cron job untuk menjalankan script planet yang mana akan meng-generate sebuah berkas html yang sudah lengkap dengan kumpulan umpan RSS. Berkas html itulah yang dikonsumsi publik.

Di shared hosting, python memang tidak tertulis sebagai fitur di cpanel, tapi mengingat betapa python sudah menjadi dependensi yang hampir selalu ada di setiap distribusi GNU/Linux, terutama server, maka bisa dipastikan, pada shared hosting tersebut python bisa dijalankan, meski pun tidak secara langsung.

Di shared hosting saya, juga tidak disediakan fitur akses shell. Jadi satu-satunya jalan adalah saya mencoba menjalankan perintah python tersebut di fitur cron dan menunggu outputnya via email.

Saya menggunakan perintah berikut untuk di-cron setiap 12 jam.

python /home/username/public_html/planet/planet.py /home/username/public_html/planet/examples/fancy/config.ini

Awalnya, karena tidak sabaran, saya men-set cron untuk berjalan setiap menit supaya bisa lihat langsung hasilnya. Akibatnya fatal, CPU load-nya full terusĀ  dan situs menjadi sulit diakses, termasuk cpanel. Jadi untuk testing-lihat-langsung, saya kira interval 3-5 menit sudah cukup. Mesti sabar. :P

Satu lagi catatan untuk konfigurasi planet pada berkas config.ini, mengganti setiap path di berkas tersebut dengan path absolute adalah sangat disarankan. Pada kasus saya, tanpa melakukannya, skrip planet.py hasilnya random, kadang berhasil kadang gagal (gagal mendeteksi berkas yang diperlukan). Konfigurasi selebihnya sudah dijelaskan dengan gamblang pada komentar di berkas config.ini.

Contoh output cron yang berhasil dan saya terima di email :

DEBUG:planet.runner:Socket timeout set to 50 seconds
INFO:planet.runner:Loading cached data
INFO:planet:Feed <http://doomplo.linux-id.net/feeds/posts/default> unchanged
INFO:planet:Updating feed <http://amrinz.wordpress.com/feed/>
DEBUG:planet:Last Modified: 2013-09-30T08:33:24+00:00
DEBUG:planet:Items in Feed: 8
INFO:planet:Feed <http://blog.pdft.net/feed/> (formerly <http://blog.pdft.net/feed>) unchanged
INFO:planet:Updating feed <http://furkan.dompu.info/feeds/posts/default>
DEBUG:planet:E-Tag: W/"D0YGR3k4cCl7ImA9Wh5SGUk."
DEBUG:planet:Last Modified: 2013-10-16T17:38:46+00:00
DEBUG:planet:Items in Feed: 25
INFO:planet:Feed <http://blackclaw.wordpress.com/feed/> unchanged

INFO:planet.runner:Processing template /home/username/public_html/planet/index.html.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/index.html
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/atom.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/atom.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/rss20.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/rss20.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/rss10.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/rss10.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/opml.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/opml.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/foafroll.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/foafroll.xml

Kemudian silakan dicek berkas html yang berhasil di-generate. :)

Mas Willy Permana atas bisikannya yang sakti. :D

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>