ServersMan@VPSにおけるRoRアプリ運用環境 最短構築手順
WINGSプロジェクト 片渕 彼富 [著] 山田 祥寛 [監修] 2010/09/01 14:01

 本記事では、通常のレンタルサーバー上ではリソースの面で設定が制限されているApacheモジュールのインストールを行い、Ruby on Rails(以下RoR)を実用的な速度で利用するためのWebサーバーの環境設定を、ServersMan@VPS上で行う際の手順を説明します。

1 2 3 4 →

はじめに

 Virtual Private Server(VPS)とは、一台のサーバー上で仮想サーバーを何台も起動させることで、個々のユーザーに対して管理者権限を付与し、専用サーバーのような環境を提供するサービスのことをいいます。VPSのユーザーはサーバーのリソースを自由に使用でき、CGI実行環境のカスタマイズや大規模データベースの利用などが可能です。

 ServersMan@VPSは、そのVPSを格安で提供するサービスの一つ。例えば、ServersMan@VPSの「Entryプラン」では、HDD容量10GB、メモリー容量256MBのVPSが、初期費用無料、月額490円で利用できます。

 また、料金の安さだけではありません。申し込んでからすぐ利用できる、VPS環境を簡単にリセットできる、マニュアルや管理ツールが充実しているというメリットもありますので、試験的な開発や個人的な開発でサーバーのチューニングを行いたい場合などに適しています。

 さらにハイスペックなVPSが必要な場合には、月額980円の「Standardプラン」(HDD容量30GB、メモリー容量512MB)、月額1980円の「Proプラン」(HDD容量50GB、メモリー容量1GB、※注1)といったプランもあります。こちらのプランではIPアドレスの無料追加サービスもあり、Standardプランで1つ、Proプランで3つまで追加可能となっています。

 本記事では、通常のレンタルサーバー上ではリソースの面で設定が制限されているApacheモジュールのインストールを行い、Ruby on Rails(以下RoR)を実用的な速度で利用するためのWebサーバーの環境設定を、ServersMan@VPS上で行う際の手順を説明します。

※注1

 「Proプラン」の加入者には、光回線のプロバイダ料金が無料になるキャンペーンが実施されています(2010年8月30日現在)。

対象読者

 Linuxの基本的なコマンドを使える方、Linuxサーバー上でサーバーソフトウェアのインストールができる方を対象とします。

RoRを利用するために必要なミドルウェア

 RoRを利用するためにはRubyおよびRails関連モジュール、データベースサーバーとしてMySQLサーバーなどが必要となります。

 また、ApacheからRoRで作成したアプリケーションを利用するためにはApacheモジュールであるPhusion Passenger(mod_rails)、開発を効率よく進めるためにMySQL管理ツールphpMyAdminが必要となります。

RoRを利用するために必要なミドルウェア
ミドルウェア使用するバージョン概要
Apache2.2.3Webサーバー
Ruby1.8.7-p299Ruby本体
RubyGems1.3.7Rubyライブラリ管理ツール
Rails2.3.8RoR フレームワーク
Phusion Passenger2.2.15RoRをApacheを通して動かすためのモジュール
MySQL5.0.77データベースサーバー
phpMyAdmin2.11.10MySQL管理ツール
PHP5.1.6phpMyAdminを動かすために必要なスクリプト言語

ServersMan@VPSに接続する

ServersMan@VPSではSSHが解放されており、SSHクライアントを使って接続します。具体的な手順はServersMan@VPSのマニュアルを参照してください。

 本記事の環境設定はSSHでログインした前提で話を進めます。

Apacheの設定

 まずは、ServersMan@VPSにおけるApacheの設定から説明します。

Apacheのインストール環境

 ServersMan@VPSではデフォルトでApacheが以下のようにインストールされています。

デフォルトでのApacheの設定
環境概要
インストールディレクトリ/etc/httpd
設定ファイル/etc/httpd/conf/httpd.conf
httpdパス/usr/sbin/httpd
apachectlパス/usr/sbin/apachectl
ドキュメントルート/var/www/html

 設定ファイルを参照すると「Include conf.d/*.conf」という記述があります。これは「/etc/httpd/conf.d/」ディレクトリ内にconfファイルを作成しておくとApacheの起動時に読み込まれるという意味になります。

 次項以降でApacheの設定する場合には、「/etc/httpd/conf.d/」ディレクトリに設定ファイルを作成する前提で進めます。

Apache再起動時のエラー解消

 デフォルトの設定のままApacheを再起動すると、以下のようにエラーが出ることがあります。

リスト1 Apache再起動時のエラー
httpd: apr_sockaddr_info_get() failed for dti-vps-srvXXX
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

 これはホスト名がhostsファイルに設定されていないためで、hostnameコマンドで表示されたホスト名を「/etc/hosts」ファイルに記述することで解決できます。以下は、ホスト名が「dti-vps-srvXXX」である場合の記述例です。

リスト2 /etc/hosts(抜粋)
127.0.0.1       dti-vps-srvXXX

1 2 3 4
→
INDEX
格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する
Page1
はじめに
対象読者
RoRを利用するために必要なミドルウェア
ServersMan@VPSに接続する
Apacheの設定
MySQLの設定
PHPの設定
phpMyAdminの設定
Rubyの設定
RoRとApacheの連携
まとめ
プロフィール
WINGSプロジェクト 片渕 彼富 カタフチ カノトミ

WINGSプロジェクトについて>
有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2011年7月時点での登録メンバは36名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。


プロフィール
山田 祥寛 ヤマダ ヨシヒロ

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。
主な著書に「入門シリーズ(サーバサイドAjax/XMLDB/PEAR/Smarty)」「独習シリーズ(ASP.NET/PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET/PHP/Jakarta/JSP&サーブレット/XML)」「Pocket詳解辞典シリーズ(ASP.NET/PHP/Perl&CGI)」「今日からつかえるシリーズ(PHP/JSP&サーブレット/XML/ASP)」「書き込み式 SQLのドリル」他、著書多数


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト