Passenger

Cài đặt Redmine trên Centos 5.3

Hôm nay mới chính thức được setup Redmine trên hệ điều hành Centos. Cách đây một thời gian mình cũng đã cài thành công Redmine trên Dreamhost, hôm nay có được một máy chủ VPS nên phải tự lực cấu hình.

Cài Ruby on Rails

yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql

Tiếp theo là download và cài ruby gems

wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
tar xvf rubygems-1.3.4.tgz
cd rubygems-1.3.4
ruby setup.rb

Cài rails

gem install rails --include-dependencies

Cài đặt Phusion Passenger

gem install passenger

Cần cài thêm một số công cụ cho Apache

yum -y install httpd-devel apr-devel

Tiếp theo từ dòng lệnh chạy

passenger-install-apache2-module

Sau khi module Apache 2 cài đặt thành công, chúng ta mở file cấu hình Apache thêm đoạn giống như dưới đây vào cuối file đó

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.2
PassengerRuby /usr/local/bin/ruby

Khởi động lại Apache bằng lệnh

service httpd restart

Sau khi Apache khởi động xong thì để triển khai các ứng dụng Ruby on Rails trên Web thì chúng ta trỏ DocumentRoot vào thư mục public của các RoR project.

Để hoàn tất việc cài redmine, ví dụ tôi muốn cái Redmine lên subdomain http://a.xyz.com. Đầu tiên tôi tạo một thư mục projects trên server rồi download phiên bản mới nhất của Redmine về và giải nén vào thư mục projects đó. Sau đó tạo một subdomain http://a.xyz.com có DocumentRoot trở vào thư mục public trong projects. Như vậy khi chúng ta vào trang http://a.xyz.com thì module Passenger sẽ được kích hoạt để chạy ứng dụng RoR.

Các bước cấu hình Redmine thì làm giống như trên trang hướng dẫn cài đặt.

PS:

Các lỗi thường gặp:

/usr/local/apache/include/apr_file_info.h:200: error: 'apr_ino_t' does not name a type ..."

Lỗi này xuất hiện là do cài 2 thư viện apr trên server. Một cái cài mặc định và một cái cài Cpanel. Để khắc phục ta tạo một symbolic link như hướng dẫn dưới đây.

#ln -s /usr/local/apache/include/ /usr/include/apr-1

Subscribe to Passenger