Archive for January, 2007
Windows Service Dengan PHP
Kemaren saya nyari-nyari gimana bisa ngemulasiin Cronnya linux untuk diwindows. Solusi paling tepatnya tentu pake service-nya windows, soalnya kalo pake service bisa start program walaupun usernya belum login, trus kalo usernya logout programnya tetep jalan.
Hasil nyari-nyari diinternet akhirnya diputusin buat sendiri aja
(abis enggak ada yang muasin sih) Apalagi nemu tehnik untuk membuat windows service dengan menggunakan PHP dari blognya Wez Furlong. Tehnik ini sebenernya udah cukup lama ada tapi referensi tentang penggunaannya masih sedikit banget, apalagi dalam bahasa indonesia. Karena menurut saya tehnik pembuatan windows service menggunakan PHP cukup penting, makanya saya ngebahas disini.
Program windows service dengan PHP ngegunain model CLInya PHP (maksudnya PHP dirun langsung dari command prompt, bukan dari web server kaya Apache). Dalam implementasi, saya ngegunain PHP yang dipaket oleh WAMP 5 (sudah pake Apache 2 + PHP 5). Pertama, buka php.ini yang ada di :
c:\wamp\Apache2\bin dan trus tambahin baris ini di bagian extention :
extension=php_win32service.dlltrus pastiin ada file :
c:\wamp\php\ext\php_win32service.dllkemudian buat file cron.php di folder c:\wamp\www (posisi terserah sih, beda command jalaninnya aja nanti). isinya :
< ?php
if ($argv[1] == 'install')
{
win32_create_service(array(
'service' => ‘purefectCron’,
‘display’ => ‘purefectCron’,
‘path’ => ‘c:wampphpphp-win.exe’,
‘params’ => ‘-c c:wampApache2bin c:wampwwwcron.php run’));
}
else if ($argv[1] == ‘uninstall’)
{
win32_delete_service(’purefectCron’);
}
else if ($argv[1] == ‘run’)
{
chdir(’c:wampwww’);
win32_start_service_ctrl_dispatcher(’purefectCron’);
while (win32_get_last_control_message()!= WIN32_SERVICE_CONTROL_STOP)
{
echo(’[' . date('c') . '] checking…’);
// taro kode service disini
sleep(30);
}
}
?>
Kalo mau download, klik disini : cronphp.txt
Penjelasannya :
if ($argv[1] == ‘install’)
{baris ini digunakan untuk mengecek parameter yang dipassing dari command line, bagian ini untuk proses install service.
win32_create_service(array(
'service' => 'purefectCron',
'display' => 'purefectCron',
'path' => 'c:wampphpphp-win.exe',
'params' => '-c c:wampApache2bin c:wampwwwcron.php run',
));baris ini untuk mendaftarkan service dengan nama “purefectCron”. Service dan display boleh diganti, tapi saya saranin diisi dengan nilai yang sama.
path menunjuk ke exe dari PHP, saya gunain php-win.exe yang ada di c:\wamp\php
params adalah parameter yang akan dipassing ke php.exe saat menjalankan service.
-c c:\\wamp\\Apache2\\bin maksudnya adalah menggunakan konfigurasi php.ini yang ada di folder c:\wamp\Apache2\bin
c:\\wamp\\www\\cron.php run maksudnya php.exe menjalankan script cron.php yang ada di c:\wamp\www, dengan parameter “run”
else if ($argv[1] == ‘uninstall’)
{baris ini untuk filter operasi uninstall service
win32_delete_service('purefectCron');untuk menghapus service dari daftar service, parameternya adalah nama service yang sesuai dengan nama service/display waktu proses install.
else if ($argv[1] == ‘run’)
{filter untuk proses ngejalanin service, bagian ini nanti yang dijalanin sama windows
chdir('c:\\wamp\\www');Ganti working directory ke c:\wamp\www, maksudnya supaya kode selanjutnya berjalan di folder tersebut, jadi mirip sama kode web page punya kita.
win32_start_service_ctrl_dispatcher('purefectCron');Baris ini untuk men-start servicenya, parameternya samain dengan nama service/display waktu proses install.
while (win32_get_last_control_message() != WIN32_SERVICE_CONTROL_STOP)
{Kita looping selama belom di stop
writeln('[' . date('c') . '] checking…’);
// taro kode service disini
sleep(30);Taro kode service anda disini, sebenernya gak masuk sense sih echoin string, tapi ini cuma contoh doang. Ubah kode diatas sesuai dengan kebutuhan service kamu.
trus untuk install servicenya, buat file :
c:\wamp\install.batyang isinya :
cd www
"../php/php.exe" -c ../Apache2/bin cron.php install
reg add HKLM\SYSTEM\CurrentControlSet\Services\purefectCron /V Description /t REG_SZ /d "Purefect Cron Daemon" /f
NET START purefectCronkalo mau download, klik disini installbat.txt
Penjelasan :
cd www
"../php/php.exe" -c ../Apache2/bin cron.php installBaris ini untuk jalanin cron.php untuk nginstall servicenya
reg add HKLM\SYSTEM\CurrentControlSet\Services\purefectCron /V Description /t REG_SZ /d "Purefect Cron Daemon" /fSebenernya baris ini optional, gunanya untuk mengeset description dari service (soalnya saya gak tau gimana ngesetnya dari php
jadi manual aja)
NET START purefectCronBaris ini untuk start jalanin servicenya
untuk uninstallnya, buat file :
c:\wamp\uninstall.batyang isinya :
NET STOP purefectCron
cd www
"../php/php.exe" -c ../Apache2/bin cron.php uninstallkalo mau download, klik disini : uninstallbat.txt
Penjelasan :
NET STOP purefectCronKita berhentiin dulu sebelum uninstall
cd www
"../php/php.exe" -c ../Apache2/bin cron.php uninstallpanggil script cron.php, bagian uninstall.
Segitu aja penjelasan dari saya, kalo ada yang kurang jelas ato mau diskusi, bisa taro comment disini, ato kirim email ke denny(at)klorofil.org
8 commentsSurat Terbuka Untuk Pemerintah & OpenSource Indonesia
Ass.Wr.Wb.
Pertama-tama perkenalkan nama saya Denny, salah seorang developer di proyek open source Klorofil (www.klorofil.org). Melihat perkembangan perdebatan tentang MoU Indonesia dengan Microsoft, saya merasa perlu untuk urun pendapat masalah tersebut sebab sepertinya keterwakilan pihak developer opensource agak kurang dalam perdebatan ini.
Pertama-tama saya ingin memberitahukan posisi saya sebagai orang yang setuju dengan MoU tersebut, sebab MoU itu sejalan dengan salah satu tujuan kami, yaitu lepas dari Jeratan Pembajakan. Tidak bisa dipungkiri sebagian besar komputer dipemerintahan indonesia berbasis Windows yang (mungkin) bajakan. Kalau pemerintah hendak membeli produk microsoft yang nyata-nyata sudah dipakai dan memberikan kontribusi untuk jalannya pemerintahan Indonesia saat ini, menurut saya itu adalah keharusan.
Tapi melihat debat antar pemerintah dan komunitas (yang mengatas namakan) opensource, menurut saya ada beberapa hal yang terlupakan :
1. OpenSource != Linux
Yap, walaupun linux mungkin produk opensource yang paling terkenal, tapi mohon jangan samakan OpenSource dengan Linux. Masih banyak produk OpenSource lain yang hebat bahkan mungkin secara sadar-tidak sadar melayani aktivitas IT anda selama ini seperti :
- Apache Web Server
- SendMail Server
- QMail Server
- Mozilla FireFox
- OpenOffice
- FreeBSD
- BIND Name Server
- PHP
- dan pendatang baru Java
2. OpenSource != Gratis
Gratis mungkin hanya fitur tambahan dari OpenSource, hal utama dari OpenSource adalah kebebasan berkreasi, pemunculan ide dan teknologi baru lebih cepat dan dalam jangka panjangnya mencapai kesejahteraan bersama.
3. OpenSource != Produk Hobi
Kalau IBM bermain dengan Eclipsenya, Novell dengan Linuxnya, Sun dengan Javanya apa masih bilang opensource produk hobi ? Apa pernah lihat keteraturan organisasi Apache & Mozilla ? OpenSource bukan ajang pembuktian kehebatan hacker-hacker, tapi lebih dari itu, gerakan untuk kemaslahatan bersama.
4. OpenSource == Pilihan Realistis
Saya bukan penentang closed source software, bagi anda yang mampu untuk membeli (secara legal) dan puas dengan posisi sebagai konsumen yang hanya menunggu inovasi dari vendor software (dan membayar lagi untuk tiap versi yang berisi inovasi tadi) saya persilakkan.
5. Masyarakat OpenSource Indonesia Harus Realistis
Yap, kita tidak bisa memaksa suatu pihak untuk pindah ke opensource kalau opensource belum bisa menyediakan kebutuhan-kebutuhan pihak tersebut. Sekali lagi, OpenSource adalah pilihan dan untuk tidak memakai opensource juga adalah sebuah pilihan yang harus dihormati.
Moga-moga saja bisa memberi masukkan. Kalau ada rekan yang ingin berkomentar, membantah atau berdiskusi lanjut, saya persilakkan untuk menghubungi saya ke denny (at) klorofil.org
————————-
Ada yang bisa bantuin forward-in ke sofyan jalil
:D ![]()
Seleb IT dan Informatika (bukan pornomatika)
Saya punya cerita, lumayan lucu sih, tapi ngeselin juga
Ceritanya begini, kemaren saya ketemu orang yang memang bukan orang IT. Dia nanya di bidang apa sih saya bekerja, ya langsung aja saya bilang saya bekerja di bidang IT. Mendengar jawaban itu kontan dia berkata “wah sama dong sama Roy Suryo”. Ya saya mengamini pernyataan dia, soalnya memang orang yang berkecimpung di dunia IT paling terkenal di indonesia ya memang mas Roy Suryo.
Awalnya sih saya enggak punya pikiran macam-macam, ya memang itu kenyataannya sih. Tapi omongan lanjutan orang tadi yang bikin sebel. Soalnya dia langsung bertanya “Gimana video YZ-ME kemaren ? Asli enggak ?” Asli BeTe banget !!!
:(. Abis kesannya informatika itu cuma berhubungan dengan pornografi !!
Dengan agak malas saya menjawab, ya kemungkinan besar asli, kan belom ada yang bisa maenin file video kaya tehnik croping buat gambar. Paling juga nyari orang yang mirip, tapi iseng banget sih nyari orang mirip cuma buat bikin video panas
lagian orangnya juga udah ngaku.
Melihat saya males ngejawab soal pornomatika, dia beralih ngomongin Handphone-handphone terbaru. Ya walaupun saya bukan gadget freak, saya ngebalas juga omongnya (dengan agak males juga-red).
Ada satu hal di kepala saya waktu ngobrol dengan orang itu, yaitu, Informatika di kepala sebagian besar orang Indonesia adalah pornografi dan handphone. Saya enggak nyalahin orang-orang itu, soalnya seleb-IT (selebriti-nya orang IT) yang muncul di media ngomonginnya cuma pornografi dan handphone. Sayang juga sih, padahal informatika tuh berisi banyak hal menarik yang secara langsung gak langsung mempengaruhi seluruh sisi kehidupan manusia modern, jadi bukan cuma pornografi dan handphone.
Tapi kan orang tau arti informatika dari orang-orang informatika yang ngomong di media kan, ya jadi memang salah kita juga, orang informatika, yang enggak banyak punya orang-orang yang bisa jadi corong untuk menunjukkan kepada publik apa sih informatika itu. Jadi kita perlu seleb IT-seleb IT lain untuk muncul di media. Kalo dibidang pornografi dan handpnone kita udah punya seleb-nya, mungkin perlu dibidang lain seperti jaringan, web beserta layanan-layanan yang tersedia, OS, software sehari-hari, hardware-hardware, gerakan OpenSource, software lokal dan bidang-bidang lain yang belum saya sebutin (tapi tetep menarik loh).
Jadi bayangin kalo seleb-IT di indonesia banyak mungkin nanti ada acara gosip khusus IT, misal cek and ricek edisi IT
:D ![]()