Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する

ServersMan@VPSにおけるRoRアプリ運用環境 最短構築手順

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/09/01 14:01

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

目次

はじめに

 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を利用するために必要なミドルウェア
ミドルウェア 使用するバージョン 概要
Apache 2.2.3 Webサーバー
Ruby 1.8.7-p299 Ruby本体
RubyGems 1.3.7 Rubyライブラリ管理ツール
Rails 2.3.8 RoR フレームワーク
Phusion Passenger 2.2.15 RoRをApacheを通して動かすためのモジュール
MySQL 5.0.77 データベースサーバー
phpMyAdmin 2.11.10 MySQL管理ツール
PHP 5.1.6 phpMyAdminを動かすために必要なスクリプト言語

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

  • WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)

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

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5