Category Archives: tutorial

Cara Membuat Script Python Menjadi Daemon Pada Server Ubuntu

Kali ini saya membutuhkan sebuah script python yang harus otomatis start pada saat server ubuntu booting. Dan tetap berjalan sampai server dimatikan.

Saya mencoba menggunakan crontab, tetapi entah kenapa tidak jalan. Akhirnya saya menemukan cara lain, yaitu menggunakan upstart.

Langkah pertama yang harus dilakukan adalah membuat file konfigurasi di dalam directory /etc/init/. Misalnya saja saya membuat file worker.conf yang berisi kode berikut ini:

description "Worker Script"
author  "deptz<[email protected]>"

start on runlevel [234]
stop on runlevel [0156]

chdir /home/worker/
exec /home/worker/worker.py
respawn

Setelah itu run command berikut ini untuk reload konfigurasi.

sudo initctl reload-configuration
sudo start worker

Dan daemon pun akan dijalankan. Untuk stop daemon, bisa menggunakan perintah:

sudo stop worker

Semoga posting ini bermanfaat, terutama untuk saya, biar ga mengalami pusing-pusing lagi di kemudian hari karena tidak juga berhasil membuat daemon script python pada server ubuntu. 😀

Mengatasi ‘No Battery Available’ pada Macbook Pro

Beberapa hari yang lalu, seperti biasa saya membuka laptop saya, macbook pro, yang sedang dalam posisi sleep. Karena baterai habis, saya pun mengambil charger. Charger berfungsi normal dengan lampu menyala oranye. Tetapi saat saya akan memasang konverter mini display port ke VGA tiba-tiba laptop mati sendiri. Pet!

Saya coba nyalakan kembali, dan masih bisa booting. Suara fan terdengar lumayan keras, seperti sedang ada proses yang memakan banyak resource. Padahal status di activity monitor tidak ada aplikasi yang menggunakan banyak resource.

No Battery Available

Lampu charger tidak menyala, tombol status baterai di samping kalau dipencet pun tidak menyala. Dan status baterai menjadi no battery available. Saya coba restart pun tetap sama. Lha piye to ikih?

Berbekal googling, saya nemu petunjuk  Intel-based Macs: Resetting the System Management Controller (SMC). Saya ikuti langkah-langkah yang ada di situ. Mematikan laptop dulu, charger tetap dipasang. Kemudian pencet Shift-Control-Option keyboard sebelah kiri, dan tombol Power secara bersama-sama, lepas bersama-sama. Dan nyalakan ulang.

Dan semua kembali normal!! Laptop saya pun kembali sehat seperti sedia kala.. 🙂

How To Enable OCI8 on PHP 5.4 and Install Oracle Instant Client on Mac OS X 10.9 Maverick

After upgrading to OS X 10.9 Maverick, i’ve to reinstall PHP library and reconfigure it. Oracle OCI8 is one of PHP libraries which need to be reconfigured.

Today i spend more than 2 hours just to find out how to enable Oracle OCI8 in PHP 5.4.24. So I post it here just in case i have to reconfigure it again, i don’t have to feel the pain again.

Lets Start!

  1. Download Oracle Client Library from http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
    You have to download 3 files:

    After downloading 3 files above, you have to extract instantclient-basic and instantclient-plus zip files into one folder, for example in “/Applications/instantclient”. And then create folder named “sdk” inside that folder, and extract instantclient-sdk into it.  And then add symbolic link using this command in Terminal:

    ln -s libclntsh.dylib.11.1 libclntsh.dylib

    Oracle Instant Client folder

    Oracle Instant Client folder (click picture to enlarge).

  2. Download oci8 tar PECL package from http://pecl.php.net/package/oci8
    After downloading package from pecl, extract it anywhere you like. And then open “Terminal” and go to that folder. Then run commands below.

    phpize
    ./configure --with-oci8=shared,instantclient,/Applications/instantclient
    make
    sudo make install

    Edit “/Applications/instantclient/” to the path where you extract Oracle Instant Client (point 1).

  3. Edit Apache plist file on /System/Library/LaunchDaemons/org.apache.httpd.plist
    Open Apache plist using text editor and then find Environment Key section. Add DYLD_LIBRARY_PATH key and your Oracle Instant Client folder as value.

    Editing Apache plist File

    Editing Apache plist File

  4. Open your /Users/yourusername/.bash_profile file using text editor, then add “export DYLD_LIBRARY_PATH=/Applications/instantclient/” (without quotes) at the end of file.
  5. Edit your php.ini and add “extension=oci8.so”
  6. Open terminal, and run this command : sudo apachectl restart
  7. Done! Open PHP Info

    oci8 has been installed

    oci8 has been installed

UPDATE:

If you still not getting it to work, check Sarah’s comment below.

Membuat Home Theatre dengan Rasberry Pi

Raspberry pi adalah komputer kecil yang pada awalnya ditujukan untuk pendidikan dan penelitian. Namun pada perkembangannya ternyata banyak sekali orang yang memanfaatkan raspberry untuk hal-hal yang tidak pernah dibayangkan sebelumnya. Bahkan untuk cluster server sekalipun.

Salah satu OS yang dikembangkan untuk raspberry pi oleh para geek di luar sana adalah raspbmc. Raspbmc adalah pengembangan dari XBMC, sebuah platform home theatre dengan basis kode terbuka (open source). Raspbmc sendiri dibuat dan dikembangkan oleh Sam Nazarko.

Fitur-fitur yang ada di dalam raspbmc bisa dibilang sangat mencukupi untuk membuat ‘home theatre murah’. Hanya berbekal raspberry pi dan monitor/TV yang ada port input HDMI, home theatre sudah siap untuk digunakan. Proses installasi Raspbmc sendiri cukup mudah. Bisa dibaca di halaman dowload-nya.

Installasi Raspbmc berlangsung secara online. Dengan koneksi speedy di rumah saya, membutuhkan waktu beberapa jam sampai proses installasi benar-benar selesai.

Proses Installasi Raspbmc

Proses Installasi Raspbmc

Raspbmc dapat memutar hampir semua format konten yang berasal dari komputer lain dengan protokol NFS, SMB, FTP dan HTTP. Juga bisa berasal dari USB drive. Raspbmc juga langsung mendukung koneksi LAN maupun Wifi. Saya menggunakan koneksi LAN karena tidak punya Wifi receiver.

Raspbmc ini berbasis pada sistem operasi Debian, sehingga sangat memungkinkan diinstall bermacam-macam software/paket yang diinginkan. Tapi santai saja, tanpa pengetahuan tentang Linux/Debian pun kita tetap bisa menggunakan raspbmc dengan sangat nyaman melalui antar muka yang simpel dan mudah dipahami.

Raspbmc Memutar Konten Video

Raspbmc Memutar Konten Video

Raspbmc ini bisa dikendalikan dengan menggunakan aplikasi pengendali mobile XMBC. Aplikasi resmi dari XMBC untuk android bisa diunduh pada tautan ini. Sedangkan untuk iOS bisa diunduh pada tautan berikut.

Aplikasi Remote untuk XMBC

Aplikasi Remote untuk XMBC

Fitur-fitur lain dapat dibaca pada halaman ini. Jadi sudahkah anda mencoba solusi home theatre murah dengan Raspberry pi ?

 

Membuat Virtual Host di Mac OS X 10.9 Maverick

Virtual Host membuat satu mesin dapat digunakan untuk banyak domain sekaligus. Hal ini menjadi sangat bermanfaat bagi saya karena saya mempunyai lebih dari satu website yang sedang dikembangkan di dalam macbook saya. Cara pun cukup sederhana. Hanya membutuhkan aplikasi ‘Terminal’ saja.

Langkah-langkahnya sebagai berikut:

1. Edit file httpd.conf
File httpd.conf ada di /etc/apache2/httpd.conf. Edit dengan perintah:

sudo nano /etc/apache2/httpd.conf

Cari baris yang ada kode berikut, dan hilangkan tanda ‘#’ di depan baris tersebut.

#Include /private/etc/apache2/extra/httpd-vhosts.conf

2. Edit file httpd-vhosts.conf
File httpd-vhosts.conf terdapat di /private/etc/apache2/extra/httpd-vhosts.conf. Edit dengan perintah.

sudo nano /private/etc/apache2/extra/httpd-vhosts.conf

Kemudian tambahkan virtual host yang diinginkan. Dalam contoh ini saya ingin membuat dengan nama domain examplesite.local dan mempunyai document root di /Users/pujipriyono/Sites/examplesite/public_html/

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot “/Users/pujipriyono/Sites/examplesite/public_html/”
ServerName examplesite.local
ErrorLog “/private/var/log/apache2/examplesite-error_log”
CustomLog “/private/var/log/apache2/examplesite-access_log” common
</VirtualHost>

3. Dan restart apache dengan perintah

sudo apachectl restart

4. Edit file “hosts”, dengan perintah

sudo nano /etc/hosts

Tambahkan line berikut pada baris paling akhir.

127.0.0.1 examplesite.local

5. Selesai. Buka browser, dan bisa langsung akses ke alamat http://examplesite.local

Cara Sharing Koneksi Internet di Mac OS X 10.9 Maverick

Setelah sebelumnya saya mempostingkan kesulitan saya dalam sharing koneksi internet di Mac OS X, sekarang saya ingin mempostingkan solusi dari masalah tersebut. Sebenarnya sudah dijawab oleh linggar di bagian komentar. Tapi tak apalah saya postingkan di sini. 😀

Langkah pertama jelas menghubungkan macbook dengan koneksi internet sesuai dengan apa yang tersedia. Bisa kabel, atau modem, atau Wifi. Tinggal pilih.

System Preferences -> Network

System Preferences -> Network

Langkah kedua, menyimpan setting default gateway yang digunakan oleh koneksi internet yang kita gunakan. Kali ini saya menggunakan modem dan dengan koneksi Tri.

route get default
Get Default Gateway

Get Default Gateway

Pada gambar di atas, dapat dilihat bahwa gateway yang digunakan adalah 10.64.64.64

Langkah ketiga, adalah melakukan seting pada System Preferences -> Sharing -> Internet Sharing. Sesuaikan dengan kondisi yang dibutuhkan.

System Preferences -> Internet sharing

System Preferences -> Internet sharing

Langkah keempat adalah melakukan penghapusan gateway default saat ini, kemudian mengembalikan sesuai dengan hasil langkah kedua.

sudo route delete default
sudo route add default 10.64.64.64
Delete default gateway

Delete default gateway

Dan sharing koneksi internet pun bisa dilakukan. Bisa digunakan seperti biasa.

Cara Mengeluarkan CD / DVD yang Tertelan di Macbook

Macbook mempunyai CD/DVD room yang unik. Tidak seperti kebanyakan laptop yang harus memencet tombol untuk mengeluarkan tempat CD/DVD, pengoperasian di macbook tinggal memasukkan CD/DVD ke semacam lubang yang tersedia. Seperti memasukkan kartu ATM ke mesin ATM. Memang memudahkan dan lebih praktis, namun ketika CD/DVD tertahan (stuck) di dalam, maka perlu usaha yang lebih untuk mengeluarkannya.

DVD Room Macbook Pro

DVD Room Macbook Pro

Jika dari finder maupun dengan memencet tombol eject tidak bisa, maka cara lain untuk mengeluarkan CD/DVD yang tertelan di macbook pun bermacam-macam. Dan perlu dicoba satu persatu sampai mana yang cocok dan akhirnya CD/DVD tersebut dapat ‘dimuntahkan’.

Cara yang pertama adalah menggunakan Disk Utility. Disk utility adalah software bawaan dari Mac OS X yang tersedia di Application/Utilities. Atau cari saja di spotlight search.

Eject Disk via Disk Utility

Eject Disk via Disk Utility

Cara yang kedua menggunakan iTunes. Klik pada Control -> Eject Disk. Kalau beruntung, maka CD/DVD akan keluar.

Eject disk via iTunes

Eject disk via iTunes

Cara yang ketiga menggunakan commandline Terminal. Terminal juga software bawaan dari Mac OS X. Masukkan perintah-perintah berikut ini, dicoba satu per satu.

  • drutil tray eject
  • diskutil eject /Volumes/PATH TO CD DVD
  • hdiutil detach -force /Volumes/PATH TO CD DVD

Untuk mengetahui path to CD atau DVD, ketikkan “df” di terminal dan press enter.

Path to Volumes

Path to Volumes

Cara yang keempat digunakaan saat booting. Pada saat booting, press tombol option, hingga muncul pilihan booting ke Mac OS X atau recovery. Pada saat muncul pilihan ini, segera pencet tombol eject.

CD yang tertelan di Macbook

CD yang tertelan di Macbook

Dan pada kejadian yang saya alami, cara yang keempatlah yang berhasil ‘memuntahkan’ CD tersebut. Ada yang juga pernah mengalami CD stuck di macbook? Cara manakah yang akhirnya berhasil?

Belajar Menyetir Mobil

Belajar menyetir mobil memang gampang-gampang susah. Dan tentunya semuanya butuh proses yang memang tidak sebentar. Saya mulai belajar menyetir sekitar pertengahan tahun 2012. Guru yang melatih menyetir adalah @lupekz  , @mwoel dan Pakdhe saya.

Dari proses demi proses yang saya jalani dalam belajar menyetir, saya dapat menyimpulkan tahapan yang optimal bagi saya pribadi dalam belajar menyetir.

1. Latihan Gas, Kopling, Rem.

Proses yang pertama adalah latihan menggunakan kombinasi gas, kopling dan rem. Saya latihan menggunakan mobil dengan transmisi manual. Latihan terdiri dari memasukkan gigi, mulai mengegas, dan belajar mengerem. Tempat latihan yang cocok untuk latihan ini adalah lapangan yang luas dan datar. Saya berlatih paling banyak di Stadion Pacar, Imogiri, Bantul.

2. Latihan Belok, Mundur

Setelah bisa menggunakan kombinasi gas, kopling, dan rem, kemudian mulai latihan membelok dan mundur. Tempat latihan yang cocok untuk latihan ini sama seperti latihan 1, yaitu lapangan yang luas dan datar.

3. Latihan di medan jalan

Setelah dirasa mempunyai kemampuan untuk belok dan mundur, maka mulai untuk latihan di medan jalan. Walaupun ‘jalan buatan’. Yang penting ada track yang harus dilalui dan ada batas-batas yang membentuk jalanan. Tempat yang cocok untuk latihan ini di daerah jogja adalah Stadion Maguwoharjo, Sleman. Di sana ada lapangan yang lumayan lapang dan ada ban-ban bekas yang bisa dibentuk semacam track.

4. Latihan di jalan raya

Proses demi proses belajar telah dilalui, dan kemudian ke ‘dunia nyata’ yaitu di jalan raya. Tentunya dimulai dengan jalan yang tidak terlalu ramai. Selain di jalan raya yang mendatar, juga harus berlatih di jalan raya yang ada bagian naik dan turun. Saya dulu berlatih di daerah Imogiri.

Setelah dirasa cukup di jalan raya yang sepi, maka harus segera memulai berlatih di jalan raya yang lumayan ramai. Perlahan-lahan sampai akhirnya dirasa kemampuannya memadai, baru saya berani menyetir sendiri.

Pada proses terakhir ini saya sempat ‘dipaksa’ oleh @lupekz untuk mencoba nyetir di daerah Janti saat jam pulang kerja. Sempat deg-degan. Tapi akhirnya bisa juga. Memang benar kata lupek. Masalah mental harus dilatih juga. 😀

Punya pengalaman lain dalam proses belajar menyetir mobil?