Sysphonic
ユーザーズ・マニュアル
Ubuntu 7.10 Server
Windows Vista / XP
左の枠外をクリックすると、どこでもメニューを表示できます。
オープンソース・グループウェア/CMS
Thetis インストール手順 《例》
対象バージョン: Thetis ver.0.9.4
∧ダウンロード

» Ubuntu 7.10 Server
① RubyとRailsのインストール
$ sudo apt-get install ruby
インストールされるライブラリなどが表示されるので、「Y」を入力して継続。
さらにインストールCDを要求されたらCDを入れて「ENTER」
同様にRubyGemsもインストール
$ sudo apt-get install rubygems
Railsのインストール
$ sudo gem install rails -y -v 2.1.0
Ruby-GetTextのインストール
$ sudo apt-get install build-essential
$ sudo apt-get install ruby1.8-dev
$ sudo gem install gettext -v 1.10.0
FasterCSVのインストール
$ sudo gem install fastercsv -v 1.2.3
WillPaginateのインストール
$ sudo gem install will_paginate -v 2.2.2
② FastCGIのインストール
$ sudo apt-get install libfcgi-dev
$ sudo gem install fcgi
③ MySQLのインストール
$ sudo apt-get install mysql-server mysql-client
「root」のパスワードを聞かれるので入力。
設定ファイル(my.cnf)の確認とバックアップ
$ cd /etc/mysql
$ ls
conf.d  debian-start  debian.cnf  my.cnf
$ sudo cp my.cnf my_bak.cnf
いったんMySQLサーバを停止
$ sudo mysqladmin -u root -p shutdown
my.cnf を以下のように編集
   ...
[mysqld]
   ...
max_allowed_packet=16M       (←確認!)
   ...
#>> Thetis add 
default-character-set = utf8
#<< Thetis add 
   ...
[mysql]
#>> Thetis add 
default-character-set = utf8
#<< Thetis add 
MySQLサーバを起動
$ sudo mysqld_safe &
④ Lighttpdのインストール
$ sudo apt-get install lighttpd
設定ファイル(lighttpd.conf)の確認とバックアップ
$ cd /etc/lighttpd
$ ls
conf-available  conf-enabled  lighttpd.conf
$ sudo cp lighttpd.conf lighttpd_bak.conf
lighttpd.conf を以下のように編集
server.modules = ( 
   ...
#>> Thetis add 
            "mod_fastcgi",
#<< Thetis add 
   ...
 )
   ...
#>> Thetis comment-out 
# dir-listing.activate        = "enable"
#<< Thetis comment-out 
   ...
#>> Thetis add 
$HTTP["url"] =~ "^/thetis($|[/])" {
  server.document-root = "/var/www/thetis/public"
  alias.url = ( "/thetis/" => "/var/www/thetis/public/" )
  server.indexfiles = ( "dispatch.fcgi" )
  server.error-handler-404 = "/thetis/dispatch.fcgi" 
  fastcgi.server = ( ".fcgi" =>
    ( "app-1" => ( "host" => "127.0.0.1", "port" => 7000 ),
      "app-2" => ( "host" => "127.0.0.1", "port" => 7001 ),
      "app-3" => ( "host" => "127.0.0.1", "port" => 7002 ) )
  )
}
#<< Thetis add 
lighttpd.conf の例 (別ウィンドウで開きます)
⑤ Thetisプロジェクトの配置
Thetisのリリースファイル(圧縮ファイル)の中の thetis フォルダを /var/www に配置
  • config/database.yml の3つの「password:」(実際に必要なのは「production:」のpasswordだけ)を、 MySQLインストール時に入力した「root」のパスワードに修正。
  • Rails 2.1.0以外を使う時は config/environment.rb の次の設定を変更(動作は保証できません)。
    (Railsのバージョンを調べるには rails -v または gem list で「rails」の行を探します)
    RAILS_GEM_VERSION = '2.1.0'
次のようにMySQLのコマンドラインを起動して、データベースを作成し、抜ける。
$ mysql -u root -p
mysql> create database thetis_production;
mysql> exit
thetisフォルダに移動し、rake コマンドでデータベースの中にテーブルを作成
$ cd /var/www/thetis
$ rake db:migrate RAILS_ENV=production
FastCGIを起動・停止するためのスクリプトに実行権限を付与
$ sudo chmod 755 ./script/process/reaper
$ sudo chmod 755 ./script/process/spawner
$ sudo chmod 755 ./public/dispatch.fcgi
⑥ FastCGI+Lighttpdの起動
$ sudo ruby /var/www/thetis/script/process/spawner -p 7000
$ sudo lighttpd -f /etc/lighttpd/lighttpd.conf
⑦ FastCGI+Lighttpdの停止
$ sudo ruby /var/www/thetis/script/process/reaper -a kill
$ sudo killall lighttpd

» Windows Vista / XP
① One-Click Ruby Installer for Windowsのインストール
http://rubyforge.org/projects/rubyinstaller/ (別ウィンドウで開きます)
からパッケージ(ruby186-26.exe)をダウンロードして実行。(すべてデフォルトで「Next >」)
コマンドラインでバージョンを表示して確認してみます。
> ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
Railsのインストール
> gem install rails -y -v 2.1.0
Ruby-GetTextのインストール
> gem install gettext -v 1.10.0
文言修正など必要な場合、rake update_po RAILS_ENV=production しても 「msgmerge が無い」などエラーになりましたが(前はそんなことなかったのに‥) Glade/Gtk+ for Windows(別ウィンドウで開きます)(gtk-dev-2.12.9-win32-2.exe) をインストールしたらマージ成功しました。
FasterCSVのインストール
> gem install fastercsv -v 1.2.3
WillPagenateのインストール
> gem install will_paginate -v 2.2.2
MySQLライブラリのインストール
> gem install mysql -v 2.7.3
MySQLライブラリのインストール時、ドキュメントのインストールに失敗しましたが、 本体のインストールには成功し、動作に問題は無いようです。
② SCGIのインストール
http://www.zedshaw.com/projects/scgi_rails/ (別ウィンドウで開きます)
から「gem」(scgi_rails-0.4.3.gem)をダウンロードして、コマンドラインのカレントディレクトリに保存します。
その後、次を実行。
> gem install cmdparse -v 2.0.2
> gem install highline -v 1.4.0
> gem install scgi_rails-0.4.3.gem
scgi_rails-0.4.3の場合、Rails2.0.x以上ではこのままだとSCGIの起動時にエラーになります。
 C:\ruby\lib\ruby\gems\1.8\gems\scgi_rails-0.4.3\bin\scgi_service
 (パスはRubyのインストールディレクトリにより異なります)
の36行目
ActiveRecord::Base.threaded_connections = false
をテキストエディタで次のように編集して下さい。
ActiveRecord::Base.allow_concurrency = false
③ MySQLのインストール
http://dev.mysql.com/downloads/ (別ウィンドウで開きます)
から「MySQL Community Server」(Windows ZIP/Setup.EXE(x86))をダウンロードして解凍し、Setup.exeを実行。
「MySQL Server Instance Configuration」 Wizard に入るまでは、すべてデフォルトで「Next >」
「Instance Configuration」に入ってからは、次のように進みます。
  • Detailed Configuration」 (デフォルト)
  • Server Machine
  • Multifunctional Database」 (デフォルト)
  • InnoDB Tablespace Settings はデフォルトで「Next >」
  • ユーザー数に応じて選択し「Next >」
  • 接続数は20もあれば通常十分なのでデフォルトで「Next >」
  • ネットワークオプションもデフォルトで「Next >」
  • Best Support for Multilingualism」(UTF-8)を必ず選択する
  • Windows オプションでは、「Include Bin Directory in Windows PATH」にチェックを入れる。
  • rootのパスワードを入力。
インストールを実行中に「Connection Error」というエラーメッセージが出たら、ファイアウォールの設定で弾かれている恐れがあります。 エラーメッセージを表示させたまま、 「コントロールパネル」から「Windowsファイアウォール」を起動し、「設定の変更」の「例外」タブで「ポートの追加」をしてやります。 エラーメッセージに「... TCP port 3306 ...」のように書いてあるので、そのポート番号を “例外” として追加します。
(ウィルス対策ソフトがブロックしている場合は、それぞれの説明に従ってください)
その後で、エラーメッセージの「Retry」ボタンをクリックします。
④ Lighttpdのインストール
http://wlmp.dtech.hu/down_lighty.php?lang=en (別ウィンドウで開きます)
もしくは、ミラーサイト
http://files.akl.lt/incoming/wlmp-mirror/ (別ウィンドウで開きます)
からダウンロード。
インストールを実行し、すべてデフォルトで「Next >」して完了する。

インストールフォルダ(デフォルトだと「C:\Program Files\LightTPD」)の「bin\Service-Install.exe」を実行し、Windowsサービスに登録する。 サービスを開始するか聞かれるので「Y」を入力。
ブラウザで、「http://127.0.0.1/」を見てみましょう。「LightTPD Test Page」が表示されれば問題なしです。
表示されない時は、ファイアウォールに弾かれている恐れがあります。上の青枠を参考に、ポート番号80を「例外」に追加します。
Windowsの「コントロールパネル」-「管理ツール」-「サービス」を開いて、「LightTPD」が登録されているのを確認。 開始/停止/再起動はここで右クリックしてできます。
「コントロールパネル」-「管理ツール」-「サービス」画面は、
  • キーボードの「Windowsマーク」を押しながら「R」キー
        ⇒ 「ファイル名を指定して実行」ダイアログを表示
       ▼
  • services.msc」と入力して「OK」をクリック
でも表示できます。 次回からドロップダウンリストから「services.msc」を選択できるので素早く「サービス」画面を表示できます。
次に、Lighttpdのインストールフォルダの「conf\lighttpd-inc.conf」をバックアップしてから、 以下のように編集します。
server.modules = ( 
   ...
#>> Thetis add 
            "mod_rewrite",
            "mod_redirect",
            "mod_scgi",
#<< Thetis add 
   ...
 )
   ...
#>> Thetis comment out 
  ▼ この行をコメントアウト
# dir-listing.activate        = "enable"
#<< Thetis comment out 
   ...
#>> Thetis add 
$HTTP["url"] =~ "^/thetis($|[/])" {
  server.document-root = "C:/RailsApps/thetis/public" 
  server.indexfiles = ("frames/index")
  alias.url = ("/thetis" => "C:/RailsApps/thetis/public")
  server.error-handler-404   = "/thetis/dispatch.scgi" 
  scgi.server = ( "dispatch.scgi" => (( 
    "host" => "127.0.0.1",
    "port" => 9999,
    "check-local" => "disable" 
   )) )
  scgi.debug=3
}
#<< Thetis add 
lighttpd-inc.conf の例 (別ウィンドウで開きます)
⑤ SSLの設定
この章はHTTPS( https://~/thetis )でアクセスさせたい方のみ適用して下さい。
Lighttpdのインストールフォルダに ssl という名前のフォルダを作成して、 コマンドラインで次のコマンドを実行します(2つとも改行なしで)。
(Lighttpdのインストールフォルダ= C:\Program Files\LightTPD とします)
> cd C:\Program Files\LightTPD\ssl
> openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes -config "C:\Program Files\LightTPD\OpenSSL.cnf"
いろいろ聞かれるので、それぞれ入力します。
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Toshima-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ***
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:****
Email Address []:****@****
Lighttpdのインストールフォルダの「conf\lighttpd-inc.conf」を 以下のように編集します。
   ...
#### SSL engine
#>> Thetis enable 
  ▼ 次の2行のコメントを外し編集
ssl.engine                 = "enable"
ssl.pemfile                = "C:/Program Files/LightTPD/ssl/server.pem"
#<< Thetis enable 
   ...
⑤ Thetisプロジェクトの配置
Cドライブのルートに 「RailsApps」 というフォルダを新規作成。その中に「logs」というフォルダも作っておきます。
Thetisのリリースファイル(圧縮ファイル)の中の thetis フォルダを「C:\RailsApps」の中に配置します。
  • config/database.yml の3つの「password:」(実際に必要なのは「production:」のpasswordだけ)を、 MySQLインストール時に入力した「root」のパスワードに修正。
  • Rails 2.1.0以外を使う時は config/environment.rb の次の設定を変更する必要があります(動作は保証しかねます)。
    (Railsのバージョンを調べるには rails -v または gem list で「rails」の行を探します)
    RAILS_GEM_VERSION = '2.1.0'
MySQLのコマンドライン(MySQL Command Line Client)を起動して、次のようにデータベースを作成し、抜ける。
mysql> create database thetis_production;
mysql> exit
Windowsのコマンドラインでthetisフォルダに移動し、rake コマンドでデータベースの中にテーブルを作成
> cd C:\RailsApps\thetis
> rake db:migrate RAILS_ENV=production
そのまま 次のコマンドを実行して、「thetis/config/scgi.yaml」を生成します。
(パスワードを聞かれるので適当に入力)
このファイルは、SCGIの起動時に参照されます。
> scgi_ctrl config -S
⑥ SCGI+Lighttpdの起動
次のように、SCGIを起動(再起動)するバッチファイルを作っておきます。
@echo off
C:
echo Stopping SCGI Service...
taskkill /F /IM ruby.exe > nul
cd C:\RailsApps\thetis
echo Starting SCGI Service...
scgi_service

exit
このバッチファイルをダブルクリックして実行し(「エラー:プロセス "ruby.exe" が見つかりませんでした。」という表示は気にしないでください)、 かつ「コントロールパネル」-「管理ツール」-「サービス」でLightTPDのサービスを再起動し、ブラウザで「http://127.0.0.1/thetis/」を表示してみます。
もしページが何も表示されなければ、バッチファイルの最後の「exit」を「REM exit」に変えて もう一度実行し、エラーが出ていないか確認します。
⑦ SCGI/Lighttpdの停止
SCGIの停止は、上のバッチファイルから停止の部分( 「taskkill /F /IM ruby.exe > nul」 )を切り出して専用のバッチファイルを作っておくか、 タスクマネージャで直接「ruby.exe」を強制終了します。
Lighttpdの停止は前述の通り、Windowsの「コントロールパネル」-「管理ツール」-「サービス」からできます。

©2007-2008 Sysphonic