การติดตั้ง Apache + Passenger บน CentOS

1. ติดตั้ง library ที่จำเป็น curl-devel httpd-devel apr-devel และ apr-util-devel

$ su
$ yum install curl-devel
$ yum install httpd-devel
$ yum install apr-devel
$ yum install apr-util-devel

เป้าหมายของปี 2555

ทำใบขับขี่ อยากได้ก่อนกลางปีนี้
อ่านหนังสือ มีหนังสือกองในห้องเพียบ ต้องจัดการอ่านมันแล้วละ
ลดความใจร้อนและปากหมาลง ปีที่ผ่านมาพบว่าหมาในปากหมาเกินไป ควรจะลดลงบ้าง
ทำบุญ ตั้งใจจะบริจาคหนังสือให้โรงเรียนกันดารเป็นหลัก หวังว่าจะทำได้สัก 10 โรงเรียน (ขึ้นอยู่กับเงินเดือนเป็นหลัก)
หารายได้เพิ่มขึ้น หลังจากปลดหนี้ได้แล้ว ถึงเวลาจะสร้างฐานะด้วยตัวเองแล้ว

วิจารณ์ตนเองในปี 2554

วันนี้อยากเขีน blog ปิดท้ายของปีนี้ จึงคิดว่าเขียนวิจารณ์ตัวเองดีกว่า จะได้คิดถึงเรื่องที่ผ่านมาว่าทำอะไรสำเร็จ หรือผิดพลาดอะไรบ้าง

ปลดหนี้จาก กยศ. ทั้งหมด 149,000 บาท หลังจากเข้ามาทำงานในกรุงเทพในเวลาปีกว่า ๆ สาเหตุที่ทำสำเร็จคงมาจากกินอยู่อย่างประหยัด ซื้อของเท่าที่จำเป็นเท่านั้น

การติดตั้ง Sphinx บน Mac OS X

$ curl -O http://sphinxsearch.com/files/sphinx-2.0.3-release.tar.gz
$ tar zxvf sphinx-2.0.3-release.tar.gz
$ cd sphinx-2.0.3-release
$ ./configure --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql
$ make
$ sudo make install

การติดตั้ง Nginx, Passenger และ Rails 3 บน CentOS

1. ติดตั้ง Nginx และ Passenger

$ rvmsudo passenger-install-nginx-module

2. ติดตั้ง Rails

$ gem install rails

3. เนื่องจากต้องใช้คำสั่ง start-stop-daemon แต่ใน CentOS ไม่มีจึงต้องลงเพิ่ม

$ wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
$ tar xvfz apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
$ cd apps/sys-utils/start-stop-daemon-IR1_9_18-2/
$ gcc start-stop-daemon.c -o start-stop-daemon
$ cp start-stop-daemon /usr/sbin/

4. ติดตั้ง script สำหรับใช้งาน Nginx
 

การติดตั้ง RVM + Ruby บน CentOS 5.6

1. ติดตั้ง git และ curl โดย

$ su
$ yum install git
$ yum install curl

2. สร้าง group ชื่อ rvm และเพิ่ม root เข้าใน rvm

$ su -
$ groupadd rvm
$ usermod -a -G rvm root
$ logout

3. ติดตั้ง RVM เข้า system สำหรับใช้แบบผู้ใช้หลายคน

$ sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
$ echo '[[ -s "/usr/local/lib/rvm" ]] && . "/usr/local/lib/rvm"  # This loads RVM into a shell session.' >> ~/.bash_profile
$ source ~/.bash_profile
$ type rvm | head -1 # should print 'rvm is a function'

การใช้ session ใน cancan

โดยปกติแล้วไม่สามารถใช้ session ใน cancan ได้ แต่หากจำเป็นต้องใช้ Ryan Bates บอกให้สร้าง method เพื่อส่ง session ใน application_controller.rb ก่อน

# in application_controller.rb
def current_ability
  @current_ability ||= Ability.new(current_user, session)
end

แก้ไข initialize ใน ability.rb

# in ability.rb
def initialize(user, session)
  # ...
  can :update, Comment, :id => session[:comments_ids].to_a
end

เพียงเท่านี้ก็สามารถใช้ session ใน cancan ได้แล้ว