Thứ sáu, 06/12/2013 | 00:00 GMT+7

Cách thiết lập ứng dụng Rails 4 với Apache và Passenger trên CentOS 6


Những thứ cơ bản


Khi user tạo server từ hình ảnh vani (trong trường hợp của ta là: CentOS 6.4 x64), công việc quản trị hệ thống bổ sung là cần thiết trước khi ứng dụng Ruby on Rails có thể chạy và khả dụng trực tuyến. Hướng dẫn này cung cấp các bước cần thiết để biến điều đó thành hiện thực.

Để xem qua hướng dẫn này, yêu cầu tối thiểu là server ảo có ít nhất 1 GB RAM, vì các lệnh Hành khách trong bước # 3 rất tốn bộ nhớ.

Ngoài ra, hướng dẫn giả định user có quyền truy cập root vào VPS ( với quyền là user có quyền root hoặc với quyền là user root hệ thống).

Hướng dẫn này không dành cho cài đặt nút production . Nó liên quan đến cài đặt thư viện phát triển và biên dịch đặc biệt trên máy, đây không phải là một phương pháp hay khi bạn cài đặt môi trường production . "

Bước một - Cài đặt Apache


Tất cả bắt đầu với web server và cách đơn giản nhất để cài đặt Apache là kéo nó từ repository yum:

yum install httpd 

Sau khi cài đặt xong, hệ thống sẽ được cấu hình để tự động chạy Apache khi khởi động hệ thống:

chkconfig httpd on 

Nếu không có cài đặt này, dịch vụ httpd cần được khởi động theo cách thủ công mỗi khi server được khởi động lại.

Bước tiếp theo là cấu hình Apache để mong đợi các yêu cầu đến bằng cách chỉnh sửa file cấu hình của nó:

nano /etc/httpd/conf/httpd.conf 

Trong editor , gần cuối, tìm và bỏ comment có chứa: NameVirtualHost *: 80

Lưu và thoát khỏi editor . Apache đã sẵn sàng để bắt đầu ngay bây giờ:

service httpd start 

Voilà! Truy cập địa chỉ IP của server trong trình duyệt web sẽ hiển thị trang chào mừng của Apache.

Bước hai - Cài đặt Ruby 2.0 và Rails 4.0


Cài đặt Apache là một cuộc dạo chơi dễ dàng. Nó thậm chí còn đơn giản hơn để cài đặt Ruby, tiếp theo là Rails.

Cách nhanh nhất là sử dụng Trình quản lý version Ruby (RVM) để duy trì nhiều môi trường Ruby trên
máy móc. Phiên bản ổn định mới nhất của RVM được download và cài đặt như sau:

curl -L get.rvm.io | bash -s stable 

Nếu RVM được cho là được sử dụng bởi tất cả user , thì có một tập lệnh shell có sẵn cho công việc:

source /etc/profile.d/rvm.sh 

Ngoài ra, việc cài đặt các yêu cầu của RVM là cần thiết và lệnh này sẽ cài đặt các gói phát triển và phụ thuộc khác nhau:

rvm requirements 

Đến đây, RVM đã được khởi tạo hoàn toàn và sẵn sàng để sử dụng.

Hiện tại, version Ruby mới nhất là 2.0.0 và lệnh RVM tương ứng cài đặt nó là:

rvm install 2.0.0 

Nó sẽ download và cài đặt môi trường Ruby. Sau khi cài đặt và mặc dù nó là version duy nhất được cài đặt tại thời điểm này, nó phải được cấu hình làm môi trường mặc định:

rvm use 2.0.0 --default 

Rails được phân phối như một viên ngọc Ruby và việc thêm nó vào hệ thống local cực kỳ đơn giản:

gem install rails 

Kiểm tra version nhanh sẽ cho kết quả tương tự như sau:

[user@server ~]$ ruby -v 
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux] 
[user@server ~]$ rails -v 
Rails 4.0.1 

Công việc tốt!

Bước 3 - Cài đặt Phusion Passenger


Phusion Passenger (thường được viết tắt là Passenger hoặc được gọi là mod_passenger) là một server ứng dụng và nó thường được sử dụng để cấp nguồn cho các trang Ruby. Mã của nó được phân phối dưới dạng một viên ngọc Ruby, sau đó được biên dịch trên máy đích và được cài đặt vào Apache dưới dạng một module .

Đầu tiên, gem cần được cài đặt trên hệ thống:

gem install passenger 

Trước khi module Apache được biên dịch, hai gói phụ thuộc cũng cần được cài đặt:

yum install curl-devel httpd-devel 

Môi trường hiện đã sẵn sàng cho quá trình biên dịch. Quá trình này mất vài phút và nó bắt đầu bằng lệnh sau:

passenger-install-apache2-module  

Lưu ý tập lệnh này sẽ không thực sự cài đặt module . Nó sẽ biên dịch file binary của module và đặt nó dưới
đường dẫn của đá quý. Đường dẫn sẽ được in trên màn hình và nó cần được sao chép vào file cấu hình của Apache
(/etc/httpd/conf/httpd.conf) theo cách thủ công.

Đầu ra sẽ tương tự như sau:

LoadModule passenger_module /usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-
4.0.26/buildout/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.26 
PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-2.0.0-p353/ruby 

Đặt những dòng đó ở cuối file sẽ tốt. Lưu thay đổi và khởi động lại Apache:

service httpd restart 

Hai thông báo OK màu xanh lá cây đánh dấu hoàn thành cài đặt môi trường. Chúc mừng!

Cuối cùng - Ví dụ về ứng dụng Rails


Luôn luôn tốt khi thực hiện thử nghiệm khói và sử dụng trình tạo khung ứng dụng của Rails là một công cụ lý tưởng cho nhiệm vụ đó. Nó yêu cầu gói phát triển của sqlite được cài đặt:

yum install sqlite-devel 

Vị trí đơn giản nhất để đặt mã ứng dụng thử nghiệm là folder root web của Apache:

cd /var/www/html 

Trong folder này, mã ứng dụng thử nghiệm được tạo trong folder “helloapp”:

rails new helloapp 
cd helloapp 

Vì CentOS không đi kèm với môi trường thực thi JavaScript, một môi trường thực thi phải được cài đặt theo cách thủ công. Nó có thể được cài đặt dưới dạng gem, do đó nó chỉ cần được liệt kê trong Gemfile như sau:

gem 'therubyracer' 

Đá quý được ứng dụng Ruby yêu cầu được cài đặt bằng cách định vị trong folder root của ứng dụng và chạy trình cài đặt gói:

bundle install 

Ngoài ra, database phát triển cần được khởi tạo bằng công cụ di chuyển:

rake db:migrate 

Một lần truy cập cuối cùng vào file cấu hình của Apache (/etc/httpd/conf/httpd.conf) là cần thiết. Phần server ảo bị thiếu và nó phải được thêm vào ở dưới cùng:

Phát triển RackEnv

RackEnv development



<VirtualHost *:80> 
 ServerName www.yourhost.com 
 # !!! Be sure to point DocumentRoot to 'public'! 
 DocumentRoot /var/www/html/helloapp/public 
 <Directory /var/www/html/helloapp/public> 
 # This relaxes Apache security settings. 
 AllowOverride all 
 # MultiViews must be turned off. 
 Options -MultiViews 
 </Directory> 
</VirtualHost> 

Lưu thay đổi và khởi động lại Apache :

service httpd restart 

Truy cập địa chỉ IP của server ảo trong trình duyệt của bạn và bạn sẽ thấy thông báo “Chào mừng bạn đã lên tàu - Bạn đang sử dụng Ruby on Rails!” tin nhắn chào mừng.

<div class = "author"> Đệ trình bởi <a href= "http://www.linkedin.com/in/toncidamjanic"> Tonci Damjanic </a> </div>


Tags:

Các tin liên quan

Cách thiết lập công cụ Railo CFML với Tomcat và Apache trên Debian 7 hoặc Ubuntu 13 VPS
2013-11-19
Cách tạo chứng chỉ SSL trên Apache cho Debian 7
2013-11-11
Cách thiết lập server ảo Apache trên Debian 7
2013-10-29
Cách cấu hình Varnish cho Drupal với Apache trên Debian và Ubuntu
2013-10-21
Cách thiết lập mod_security với Apache trên Debian / Ubuntu
2013-10-21
Cách cài đặt Apache Wave trên VPS CentOS 6.4 x64
2013-09-18
Cách cấu hình bộ nhớ đệm nội dung bằng module Apache trên VPS
2013-08-16
Cách tạo chuyển hướng tạm thời và vĩnh viễn với Apache và Nginx
2013-08-12
Cách cấu hình web server Apache trên Ubuntu hoặc Debian VPS
2013-08-07
Cách thiết lập Apache với Chứng chỉ SSL đã ký miễn phí trên VPS
2013-07-17