ステータス:非推奨

この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。

理由 CentOS 6は2020年11月30日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このため、このガイドは維持されなくなりました。

代わりに参照:このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。

基礎


ユーザーがバニライメージ(この場合はCentOS 6.4 x64)からドロップレットを作成する場合、Ruby on Railsアプリケーションを実行してオンラインで利用できるようにするには、追加のシステム管理作業が必要です。 このチュートリアルでは、それを実現するために必要な手順を説明します。

手順3のPassengerコマンドはメモリを大量に消費するため、このチュートリアルを実行するには、少なくとも1GBのRAMを搭載した仮想サーバーが最小要件です。

また、チュートリアルでは、ユーザーがVPSへのrootアクセス権を持っていることを前提としています(root権限を持つユーザーまたはシステムrootとして)。

このチュートリアルは、実稼働ノードのセットアップを目的としたものではありません。 これには、開発ライブラリのインストールとマシンへのアドホックコンパイルが含まれますが、本番環境をセットアップする場合はお勧めできません。」

ステップ1–Apacheのセットアップ


すべてはWebサーバーから始まり、Apacheをインストールする最も簡単な方法は、yumリポジトリからプルすることです。

yum install httpd 

インストールが完了したら、システムの起動時にApacheを自動的に実行するようにシステムを構成する必要があります。

chkconfig httpd on 

この設定がないと、ドロップレットを再起動するたびにhttpdサービスを手動で開始する必要があります。

次のステップは、構成ファイルを編集して、着信要求を予期するようにApacheを構成することです。

nano /etc/httpd/conf/httpd.conf 

エディターの下部近くで、NameVirtualHost *:80を含む行を見つけてコメントを解除します。

エディターを保存して終了します。 Apacheを今すぐ開始する準備ができました:

service httpd start 

Voilà! WebブラウザでドロップレットのIPアドレスにアクセスすると、Apacheのウェルカムページが表示されます。

ステップ2–Ruby2.0とRails4.0のセットアップ


Apacheのセットアップは簡単な散歩でした。 Rubyをセットアップし、次にRailsをセットアップする方がさらに簡単です。

最も簡単な方法は、Rubyバージョンマネージャー(RVM)を使用して、マシン上に複数のRuby環境を維持することです。 RVMの最新の安定バージョンは、次のようにダウンロードおよびインストールされます。

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

RVMがすべてのユーザーによって使用されることになっている場合、ジョブに使用できるシェルスクリプトがあります。

source /etc/profile.d/rvm.sh 

さらに、RVMの要件をインストールする必要があり、このコマンドはさまざまな開発パッケージと依存関係をインストールします。

rvm requirements 

この時点で、RVMは完全に初期化され、使用できるようになります。

現在、最新のRubyバージョンは2.0.0であり、それをインストールする対応するRVMコマンドは次のとおりです。

rvm install 2.0.0 

Ruby環境をダウンロードしてインストールします。 インストール後、この時点でインストールされているのはこのバージョンだけですが、デフォルト環境として構成する必要があります。

rvm use 2.0.0 --default 

RailsはRubygemとして配布されており、ローカルシステムに追加するのは非常に簡単です。

gem install rails 

簡単なバージョンチェックにより、次のような出力が得られます。

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

良くやった!

ステップ3–PhusionPassengerのセットアップ


Phusion Passenger(通常はPassengerと短縮されるか、mod_passengerと呼ばれます)はアプリケーションサーバーであり、Rubyサイトに電力を供給するためによく使用されます。 そのコードはRubygemの形式で配布され、ターゲットマシンでコンパイルされ、モジュールとしてApacheにインストールされます。

まず、gemをシステムにインストールする必要があります。

gem install passenger 

Apacheモジュールをコンパイルする前に、2つの依存関係パッケージもインストールする必要があります。

yum install curl-devel httpd-devel 

これで、環境をコンパイルする準備が整いました。 このプロセスには数分かかり、次のコマンドで開始されます。

passenger-install-apache2-module  

このスクリプトは実際にはモジュールをインストールしないことに注意してください。 モジュールのバイナリをコンパイルし、gemのパスの下に配置します。 パスは画面に出力され、Apacheの構成ファイル(/etc/httpd/conf/httpd.conf)に手動でコピーして貼り付ける必要があります。

出力は次のようになります。

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 

これらの行をファイルの最後に配置すると、問題なく機能します。 変更を保存してApacheを再起動します。

service httpd restart 

2つの緑色のOKメッセージは、環境セットアップの完了を示します。 おめでとうございます!

最後に–Railsアプリの例


スモークテストを行うことは常に良いことであり、Railsのアプリスケルトンジェネレーターを使用することはそのタスクに理想的なツールです。 sqliteの開発パッケージをインストールする必要があります。

yum install sqlite-devel 

テストアプリケーションコードを配置する最も簡単な場所は、ApacheのWebルートフォルダーです。

cd /var/www/html 

このフォルダーでは、テストアプリケーションコードが「helloapp」フォルダーの下に生成されます。

rails new helloapp 
cd helloapp 

CentOSにはJavaScript実行環境が付属していないため、手動でインストールする必要があります。 これはgemとしてインストールできるため、次のようにGemfileにリストする必要があります。

gem 'therubyracer' 

Rubyアプリケーションに必要なgemは、アプリケーションのルートに配置してバンドルインストーラーを実行することでインストールされます。

bundle install 

また、開発データベースは移行ツールで初期化する必要があります。

rake db:migrate 

Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)に最後にアクセスする必要があります。 仮想ホストセクションが欠落しているため、下部に追加する必要があります:
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> 

変更を保存して、Apacheをもう一度再起動します。

service httpd restart 

ブラウザで仮想サーバーのIPアドレスに移動すると、「ようこそ– Ruby on Railsに乗っています!」と表示されます。 ウェルカムメッセージ。