Archive for July, 2007|Monthly archive page

Java, JRuby, Rails dan Netbeans di NexentaOS

Hari ini berhasil juga install JDK. Kuncinya ternyata sederhana saja, jgn pakai /usr/bin/sh yang merupakan symlink ke bash untuk menjalankan binary sh yang di download dari Sun. Saya nggak tau juga kenapa bisa begitu. Kalau menggunakan /usr/bin/sh, hasil extract akan dianggap corrupt. Untung saja saya menemukan infonya di http://www.gnusolaris.org/phpbb/viewtopic.php?t=5817&sid=ae4a6c783d950c98e573e4cf6eecff54.

Agak lucu juga sih kalau NexentaOS yang menggunakan kernel OpenSolaris ternyata tidak menyediakan JDK. Repository APT hanya menyediakan JRE (sunwjre1.5), jadi saya pakai saja yang self-extract dari java.sun.com.

Setelah berhasil, saya mensetting variable yang diperlukan di satu file environment variabel:

JAVA_HOME=/export/home/bpdp/software/jdk1.5.0_12
export JAVA_HOME

PATH=$PATH:$JAVA_HOME/bin
export PATH

MANPATH=$MANPATH:$JAVA_HOME/man
export MANPATH

Jadi, setiap kali  memerlukan jdk, tinggal source saja ke file itu. Beres.

Ok, sekarang karena JDK sudah ok, saya pengin nyoba IDEnya Rails yang di Netbeans. Meskipun baru M10, rasanya nggak rugi dicoba :-D . Edisi yang mengandung JRuby/Rails harus edisi full, jadi saya ambil edisi full untuk Solaris (netbeans-6.0m10-full-solaris-x86.sh) dan mulai menginstall. Kali ini /usr/bin/sh bekerja dengan baik :-D .

Meskipun belum mencoba secara keseluruhan, I am impressed. Works like a charm. Ini nih screenshoot dari Netbeans 6.0 – m10.

Netbeans 6.0 - M10 di NexentaOS

Ruby dan Rails di NexentaOS

Setelah sekian lama penasaran, akhirnya saya mendapatkan kesempatan dan waktu untuk install OpenSolaris. Penyakit gatal saya ini kumat gara-gara BeleniX, salah satu distro dari OpenSolaris merilis versi 0.6.1. Setelah mengambil ISO, saya mencoba LiveCD dari BeleniX dan nekad menghapus Arch Linux di komputer saya.

Mulanya saya kira bakal sulit, hmm … ternyata LiveCD BeleniX langsung saja jalan dengan mulus, termasuk DHCP, sound card, dan monitor (1280×1024). Sayangnya, software yang ada di dalamnya bukan software yang bleeding-edge. Nah karena membayangkan instalasi bakal gampang, jadi saya nekad saja menggunakan perintah untuk install:

hdinstaller

Setelah menunggu sekitar 20 menit, instalasi selesai. Ternyata proses berikutnya tidak semulus yang dibayangkan :-D . Pada saat create normal user, hdinstaller crash. Waduh, saya nekad saja reboot dengan perasaan tidak berdaya :-D . Lha gimana lagi, wong belum pernah pakai OpenSolaris, blas nggak akrab. Setelah reboot ternyata nggak bisa booting dari harddisk (karena multiboot tidak digunakan lagi). Setelah memeriksa ke situs yang disarankan pada saat booting dan mengubah GRUB, ternyata tetap tidak bisa. Hmm … ok, jadi saya memutuskan untuk tidak pakai BeleniX.

Gara-gara BeleniX tidak bisa dan sudah terlanjur terobsesi dengan OpenSolaris, akhirnya ambil ISO Elatte Alpha7 milis Nexenta dan saya install. Instalasi memang gampang karena saya pakai semua harddisk dan auto layout. Menurut beberapa artikel yang saya baca (ada URLnya di web Nexenta), proses partisi manual relatif “unpleasant”. Akhirnya setelah mengikuti petunjuk di wiki Nexenta, komputer saya sekarang menggunakan NexentaOS.

Oh ya, ada beberapa pelajaran yang bisa dipetik dari instalasi Nexenta:

  • Jangan mengubah /etc/apt/sources.list ke unstable. Proses ini hanya akan menghasilkan broken packages dan jika digunakan apt-get -f install, GNOME akan di-remove :-D .
  • Xorg menggunakan konfigurasi built-in, jadi tidak ada xorg.conf. Saya menggunakan Xorg -configure untuk menghasilkan xorg.conf.new di $HOME dan mengedit resolusi monitor (tepatnya: menambahkan) menjadi 1280×1024 karena konfigurasi builtin menggunakan 1400×1050 yang di monitor LG Flatron L1753S saya terlalu besar.

Berikut ini adalah isi lengkap xorg.conf:


Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
RgbPath "/etc/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/X11/fonts/misc/"
FontPath "/usr/share/X11/fonts/TTF/"
FontPath "/usr/share/X11/fonts/OTF"
FontPath "/usr/share/X11/fonts/Type1/"
FontPath "/usr/share/X11/fonts/CID/"
FontPath "/usr/share/X11/fonts/100dpi/"
FontPath "/usr/share/X11/fonts/75dpi/"
EndSection

Section "Module"
Load "extmod"
Load "dbe"
Load "glx"
Load "record"
Load "xtrap"
Load "freetype"
Load "type1"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
#DisplaySize 340 270 # mm
Identifier "Monitor0"
VendorName "GSM"
ModelName ""
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Card0"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B60 [Radeon X300 (PCIE)]"
BusID "PCI:2:0:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection

Setelah semua beres, sekarang tiba waktunya untuk Ruby dan Rails. Instalasi dari source code ternyata tidak bermasalah.


bpdp@bpdp-nexenta:~$ ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-solaris2.11]
bpdp@bpdp-nexenta:~$ psql --version
psql (PostgreSQL) 8.1.9
contains support for command-line editing
bpdp@bpdp-nexenta:~$ rails -v
Rails 1.2.3
bpdp@bpdp-nexenta:~$ gem --version
0.9.4
bpdp@bpdp-nexenta:~$ gem list --local

*** LOCAL GEMS ***

actionmailer (1.3.3)
Service layer for easy email delivery and testing.

actionpack (1.13.3)
Web-flow and rendering framework putting the VC in MVC.

actionwebservice (1.2.3)
Web service support for Action Pack.

activerecord (1.15.3)
Implements the ActiveRecord pattern for ORM.

activesupport (1.4.2)
Support and utility classes used by the Rails framework.

cgi_multipart_eof_fix (2.1)
Fix an exploitable bug in CGI multipart parsing which affects Ruby
<= 1.8.5 when multipart boundary attribute contains a non-halting
regular expression string.

daemons (1.0.7)
A toolkit to create and control daemons in different ways

fastthread (1.0)
Optimized replacement for thread.rb primitives

gem_plugin (0.2.2)
A plugin system based only on rubygems that uses dependencies only

mongrel (1.0.1)
A small fast HTTP library and server that runs Rails, Camping, Nitro
and Iowa apps.

postgres (0.7.1)
The extension library to access a PostgreSQL database from Ruby.

rails (1.2.3)
Web-application framework with template engine, control-flow layer,
and ORM.

rake (0.7.3)
Ruby based make-like utility.

sources (0.0.1)
This package provides download sources for remote gem installation
bpdp@bpdp-nexenta:~$

Hmm … life is beautiful, isn’t it?

Akhirnya berhasil juga install Instiki

 Dengan menggunakan petunjuk dari Carsten Andersen di  http://www.instiki.org/show/Debian, akhirnya Instiki terinstall di http://www.akakom.ac.id:8080/.

Ternyata hanya semudah menghapus seluruh isi direktori vendor ( :-D )