Ahad, 19 April 2015

#118: SSH-ing Ubuntu Server Virtual Machine

SSH-ing Ubuntu Server Virtual Machine
Sepanjang menggunakan komputer, ambe amat mengambil berat tentang penjimatan eletrik. Power consumption di ketika bil eletrik dengan tariff tinggi amat penting diambil perhatian untuk memastikan bil eletrik kekal rendah. Ambe ada sebuah komputer dual-monitor, dengan CPU Intel Core 2 Quad, dan ambe fikir ia tidaklah praktikal jika komputer ambe ni hanya untuk menjadi sebuah "mesin" untuk browse Facebook atau MP3 player. Ambe fikir ambe tak boleh jadikan jadikan komputer ambe sebuah "250 Watt Facebook Machine!", menggunakan begitu banyak tenaga eletrik untuk memproses benda yang kecil.
Apple MacMini
Ambe ada sebuah komputer lain. Sebuah MacMini. Sebelum ini ambe pasang ia pada TV tapi ambe dah ada pasang Astro dan HyppTV, jadi ambe ketepikan MacMini. So, ambe ada sebuah CPU tanpa monitor disini. Dari situ ambe dapat satu idea untuk gunakan MacMini ambe ni sebagai sebuah server untuk serve Cloud9, online programming IDE. Cloud9 adalah sebuah projek open source yang dihost di GitHub. Anda boleh cuba Cloud9 IDE di C9.io. Di artikel ni ambe tak akan pegi lanjut sehingga Cloud9 IDE siap dipasang, tapi akan menyentuh berkenaan kaedah untuk menyambung Ubuntu Server yang di hos dalam virtual machine VirtualBox melalui SSH.
VNC, controlling MacMini from any OS! 
So, pertama sekali adalah, menggunakan VirtualBox untuk menghost guest operating system. Guest OS pilihan ambe adalah Ubuntu Server 14.10. Ambe pilih Ubuntu Server kerana ia tidak memerlukan display untuk berjalan. Aplikasi hanya dalam bentuk console. Ini bermakna ambe tak perlu pasang monitor pun untuk menjalankan Ubuntu Server. Dan ini bermakna, jimat $$$ serta penggunaan tenaga eletrik!

Download Ubuntu Server ISO
Disebabkan ambe tiada monitor untuk melihat apa yang berlaku pada MacMini, ambe menggunakan VNC. VNC adalah satu kaedah untuk mengawal komputer dari jarak jauh. Mac OSX nampaknya sudah tersedia terpasang dengan VNC server. Ia boleh diaktifkan dari "System Preference" dan pilih "On" untuk "Screen Sharing". MacMini ambe ini berada dalam satu network dan ia bersambung secara Wifi. Ambe buka VNC dan masukkan IP address MacMini ambe dan Vuala! Ambe dah boleh guna MacMini secara remote dari komputer lain! Walaubagaimanapun, ia tak terhad hanya komputer, VNC  juga boleh digunakan dari tablet atau android, iOS atau Android!

Download ISO dan install Ubuntu Server pada VirtualBox. Ambe menamakan virtual machine ini sebagai "ubuntuserver". Dalam proses installation, anda akan ditanya untuk install beberapa komponen seperti SSH Server, Mail Server, DNS Server. Sila pilih mengikut keperluan anda. Tapi untuk SSH dan penggunaan perkongsian file dengan komputer lain, pastikan anda install "SSH Server" dan "SMB Server".

Ok, setelah selesai, ini bermakna anda dah boleh login kedalam VM Ubuntu Server ini melalui SSH kerana Ubuntu Server secara automatik run OpenSSH sewaktu initialization. Seperkara lagi, untuk membolehkan VM Ubuntu Server menggunakan shared folder dari host operating system, bolehlah ikuti langkah ini:
  1. Run VM Ubuntu Server yang telah anda install tadi.
  2. Log in dan masuk ke terminal
  3. Dari menu, pilih "Devices" dan pilih "Insert Guest Additions CD image.."
  4. Mount VBox Guest Additions CD image dengan command "sudo mount /dev/sr0 /media/cdrom"
  5. Install dependency yang diperlukan oleh VBox Guest Additions dengan command "sudo apt-get -y install gcc make linux-headers-$(uname -r)"
  6. Bergerak ke lokasi mount CD tadi dengan command "cd /media/cdrom"
  7. Jalankan skrip dari Guest Additions CD sebagai super user "sudo ./VBoxLinuxAdditions.run"
  8. Selepas berjaya menjalankan skrip ni, sekarang bolehlah setting Shared Folder dari VirtualBox Manager.
  9. Reboot virtual machine untuk apply changes yang dibuat
Putty Configuration
Ok, langkah seterusnya, menyambung SSH. Ambe menggunakan aplikasi Putty untuk membuat sambungan dengan SSH. Putty boleh didownload disini. Sebelum anda boleh menyambung melalui SSH client ini, anda mesti tahu berapakah IP address virtual machine anda. Ini boleh diperiksa dengan menggunakan command "ifconfig" dari dalam Ubuntu Server. Simpan nombor ini kerana ia adalah nombor IP yang ditujukan kepada VM Ubuntu Server anda.

Pastikan VM Ubuntu Server anda sedia terpasang untuk menerima sambungan SSH. Pasang aplikasi Putty dan masukkan nombor IP yang anda telah ambil tadi. Klik butang "Open". Aplikasi Putty akan mengeluarkan satu window berwarna hitam dan bila sambungan berjaya dibuat, ia akan meminta input dari anda untuk login sebagai siapa? Masukkan username dan password seperti yang telah anda set sewaktu proses installation Ubuntu Server tadi dan diikuti Enter. Dan vuala! Anda dah berjaya membuat sambungan SSH secara remote!
Let me get this straight! I'm logging inside my Ubuntu Server hosted on VirtualBox on my MacMini CPU!
SSH client dari mobile pun boleh login!

Ok, taniah kerana dah berjaya bersambung dengan VM Ubuntu Server melalui SSH! Tapi setup belum complete. Ini kerana Ubuntu Server masih berjalan melalui GUI Oracle VirtualBox Manager. Sebenarnya Virtual Machine ini boleh berjalan sendiri tanpa memerlukan GUI VirtualBox Manager pun. Oleh kerana Ubuntu Server tidakpun mempunyai desktop yang boleh diakses menggunakan mouse seperti Windows atau Mac OSX, Ubuntu Server boleh dijalankan sebagai "headless". Bermakna, CPU tanpa skrin attached.

Power off VM Ubuntu Server anda dengan command "sudo poweroff". Buka terminal pada host operating system dan gunakan command ini untuk execute VM Ubuntu Server sebagai headless dan background process "VBoxHeadless -s ubuntuserver &". Tunggu beberapa ketika supaya selesai proses initialization dan cuba buat sambungan SSH ke VM Ubuntu Server. Anda sepatutnya mendapat keputusan yang sama dengan menggunakan GUI Oracle VirtualBox Manager tadi.

Semua proses shutdown boleh dilakukan dari dalam SSH. Gunakan command "sudo poweroff" atau "sudo halt" untuk unload Ubuntu Server. Power off juga boleh dilakukan dari GUI Oracle VirtualBox Manager atau dengan command dari host operating system iaitu "VBoxManage controlvm ubuntuserver acpipowerbutton" atau "VBoxManage controlvm ubuntuserver poweroff".

Sekarang, anda dah berjaya setup sebuah fully-operated operating system, gunakan ia sepenuhnya! Install Node.js JavaScript engine, Nginx webserver, setup gaming server, Plex Media Server, Render Farm, Torrent box, Cloud Storage, Usenet box, Proxy server etc, hanya imaginasi anda yang menjadi limit!
My VirtualBox hosted Ubuntu Server now serving Cloud9 online programming IDE!

Ahad, 5 April 2015

#117: Another Level Of Spiciness!

Bekas jiran ambe baru balik dari lawatan kerja di Sri Lanka dan bawa pulang ini. Lada. Ambe tak pernah tengok lada bentuk begini. Katanya lada ni pedas gila. Ambe search di internet dan nampaknya lihat dari segi bentuk, ini merupakan lada Habanero atau mungkin Trinidad Moruga Scorpion, antara lada paling pedas di dunia. Tahap kepedasannya diukur sebagai 200k hingga 2juta unit, berbanding Lada Thai, 50k unit. Ambe terlalu takut utk cuba lada ni sebab ia mungkin 100 kali lebih pedas dari cili api Hahaha!
Scoville Heat Scale
Mengikut kawan ambe yang pernah cuba lada ni, rasanya adalah sangat pedas dengan ada rasa asid. Dia potong lada ni kecil-kecil seperti potong daun pandan dan campur dengan bee hoon sup! Ambe fikir ambe nak keringkan lada ni dan tumbuk halus-halus supaya jadi chili flakes, supaya senang nak digunakan dalam smaller portions. Mungkin campur dengan sambal kicap johor?

Lagi sorang kawan ambe mencadangkan supaya buat minyak dengan cili ni. Panaskan minyak kanola sampai menggelegak, lepas tu masukkan lada yang dah dipotong dan pastikan lada tenggelam habis dalam minyak. Masak hingga 4:30 saat dan tutup api.. Penjagaan masa amat penting sebab capsaicin (komponen pedas dalam lada) boleh hilang melalui wap. Sejukkan minyak cili, lepas tu masukkan dalam balang dan boleh diguna bila-bila masa. Kawan ambe ni juga kata kepedasan cili ni sangat kuat, 1-2 biji dah cukup utk pedaskan gulai sekawah.
How lovely.. Habanero nampak macam buah ceri.