ある日,プロジェクトでチームリーダーを務めている高野氏は不測の事態に遭遇し,一人ひそかに青くなっていた…
 
 このプロジェクトは,あるユーザー企業で大規模Webアプリケーションの開発に取り組んできた。開発言語は「Ruby」,フレームワークとして「Ruby on Rails」(RoR),データベースには「MySQL」を採用。これをRed Hat系Linuxである「CentOS」上に配備して動作させる想定だ。
 
 既に開発フェーズに入り,メンバー各自が社用PCにJavaの開発環境である「NetBeans」などをインストールし,開発作業を進めていた。OSは基本的にWindows XPで統一されている。しかしながら,開発環境はNetBeansだけでなく「Eclipse」や単なるエディタを使ったものなど,バラエティに富んでいる。

 プロジェクトのキックオフから7カ月たった時点まで,プロジェクトの常としてある程度のゴタゴタはあったものの,大きなトラブルに見舞われることもなく比較的順調に作業は進んできた。そろそろテスト環境をセットアップしてアプリケーションを配備してみようじゃないか,というところまでこぎつけた。

 進捗状況は,わずかにではあるが,計画を前倒しする形で進んでいる。まだテストが控えていることを考えると油断は禁物だが,進捗に遅れがないというのは,それだけで清々しいことである。

「ふふ,これも俺のスキルとマネジメント能力のなせるワザだな…」

 高野氏はひとりほくそえんでいた。このプロジェクトで良い成果を収めれば,次の案件ではより重要なポジションを任せてもらえるに違いない。複数の案件でリーダー経験を積み,いずれはプロジェクト全体をまとめあげるポジションに着いて,華々しい舞台で活躍する。目の前に広がる輝かしい未来予想図に一人酔いながら,高野氏はテスト環境のセットアップに着手した。

 しかし,そのテスト環境セットアップの過程に意地悪なトラブルが待ちうけていようとは,そのときの彼には知る由もなかった――

まさかの Service Temporarily Unavailable!?

 今回のシステムの運用環境では,OSにCentOS 5.3 を使用することになっていた。CentOSはWebからダウンロードしたISOイメージをCD-Rに焼付け,インストール・メディアを作成。既にインストールを終えている。

 このインストールには13枚のCD-Rと3時間近い作業時間を費やした。CentOS 5 のインストールには,全6本のCDイメージ・ファイルを使う。DVDなら1枚ですむところだが,残念ながら高野氏の勤めるオフィスにはDVDドライブの準備はない。
 
 加えて,ダウンロードとCDの作成を今年の新人君に頼んだところ,うっかり間違えて64ビット用のものを落としてきてしまうというポカをやらかした。64ビット版はCDイメージ・ファイルが7本ある。きちんと説明しなかった高野氏も悪かったのだが,若干痛い失敗だった。もちろんこんなことはプロジェクト・マネージャ(PM)にはナイショだ。

 CentOSを起動して「root」アカウントでログインし,動作環境のセットアップを行う。CentOSを使うのは今回が初めてだが,以前,別のプロジェクトでRed Hat Enterprise Linux上に同じような構成のアプリケーションの動作環境を構築した経験がある。特に問題はないだろう,と,高野氏は高をくくっていた。

 実際,ソフトウェアのインストールはつつがなく進行した。Javaの開発環境である「Java SE」をインストールし,Webサーバーの「Apache」,APサーバーの「Tomcat」をセットアップ。Java上のRuby実行環境である「JRuby」,RoR,Ruby向けWebサーバーの「Mongrel」を入れる。

 さらに,Apacheをロード・バランサ(負荷分散)として使用するためのモジュールとして「mod_proxy」と「mod_proxy_balancer」もインストール。ソース・ファイルを配備し,もろもろの設定も完了した。

「さて,では記念すべき初起動といきますか!」

 慣れた作業といえども,環境構築後の初起動には,やはり胸がときめく。はやる気持ちを抑えつつ,高野氏はApacheの起動コマンドをたたいた。

[root@localhost init.d]# httpd Enterキー

 カリカリ...という音とともにApacheが立ち上がる。これであとはMongrelを立ち上げてRoRのアプリケーションを起動し,Webブラウザからアプリケーションにアクセスすれば,システムのトップ画面が表示される,はずだ。

 しかし,事態は高野氏の思い通りには進まなかった。Webブラウザの画面には,いつものトップ画面の代わりに「503 Service Temporarily Unavailable」の文字が表示されている(写真1)。

写真1●Webサーバーを起動しようとしたらエラーに
写真1●Webサーバーを起動しようとしたらエラーに