はじめに
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上で行う際の手順を説明します。
「Proプラン」の加入者には、光回線のプロバイダ料金が無料になるキャンペーンが実施されています(2010年8月30日現在)。
対象読者
Linuxの基本的なコマンドを使える方、Linuxサーバー上でサーバーソフトウェアのインストールができる方を対象とします。
RoRを利用するために必要なミドルウェア
RoRを利用するためにはRubyおよびRails関連モジュール、データベースサーバーとしてMySQLサーバーなどが必要となります。
また、ApacheからRoRで作成したアプリケーションを利用するためにはApacheモジュールであるPhusion Passenger(mod_rails)、開発を効率よく進めるためにMySQL管理ツールphpMyAdminが必要となります。
ミドルウェア | 使用するバージョン | 概要 |
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が以下のようにインストールされています。
環境 | 概要 |
インストールディレクトリ | /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を再起動すると、以下のようにエラーが出ることがあります。
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」である場合の記述例です。
127.0.0.1 dti-vps-srvXXX