Home > manual  > V3.0 for Windows

V3.0 for Windows

1. 動作環境

 SUZAKU バージョン3は、以下の環境で開発・稼動確認をしています(2007/9/1現在)。

 ・Windows XP SP2 (Home Edition)
 ・Apache 2.0.59
 ・MySQL 5.0.45
 ・Ruby 1.8.4 (One-Click Ruby Installer)
 ・MySQL/Ruby for Windows 2.7.1
 ・Chasen 2.3.3
 ・ipadic 2.7.0 (UNIX版の文字コードをUTF-8に変換して使用)
 ・Ruby/Chasen Alternative

 Windows以外は、無償でダウンロードが可能です。ipadic(日本語辞書)は、文字コードをUTF-8に変換したものを当サイトからダウンロード可能です。Ruby/Chasen Alternativeも、当サイトからダウンロード可能です。
 MySQL 5.1は、MySQL/Ruby for Windows 2.7.1との組み合わせでは問題が出るため、MySQL 5.0の使用をお勧めします。

 SUZAKU バージョン3の文字コードは、UTF-8を前提としています。スクリプトもUTF-8で記述されているので、UTF-8のファイルを表示・編集できるエディタ(秀丸など)を準備してください。

投稿者 webmaster : 2007年09月19日 22:31 | コメント (0) | トラックバック (0)

2. 前提ソフトのインストール

 Windows PCをサーバーとして使用したことがない方は、例えば以下のような書籍に事前に目を通しておくことをお勧めします。
 Windows XPで作る最強の自宅サーバー
 Windows XPで作るスマート自宅サーバー

 ネットの情報としては、
 自宅サーバーをWindowsで構築しよう
などが参考になると思います。

2.1 Windows XP SP2のインストール

 (省略)

2.2 Apache のインストール

 ホームページ用に、以下のディレクトリを作っておきます。

 C:¥var¥www¥html
 C:¥var¥www¥cgi-bin

 The Apache HTTP Server Project のホームページ
 http://httpd.apache.org/
から、Windows版のダウンロードページ
 http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/binaries/win32/
に進みます。

 Window版のインストールパッケージ(apache_2.0.59-win32-x86-no_ssl.msi)をダウンロードします。
 ダウンロードしたファイル(インストーラ)を起動します。

 インストールが完了すると、Apacheの設定ファイルが、
 C:¥Program Files¥Apache Group¥Apache2¥conf¥httpd.conf
にあるので、それを修正します。

ファイル名: httpd.conf
---
ServerTokens Prod
ServerAdmin webmaster@your-host-name
ServerName your-host-name
DocumentRoot "C:/var/www/html"

<Directory />
  Options None
  AllowOverride None
</Directory>

<Directory "C:/var/www/html">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

HostnameLookups Off

CustomLog logs/access_log combined

ServerSignature Off

ScriptAlias /cgi-bin/ "C:/var/www/cgi-bin/"

<Directory "C:/var/www/cgi-bin">
Options ExecCGI
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

AddHandler cgi-script .cgi .rb
---

 修正後、Apacheを再起動します。(「スタート」メニューから、Apache HTTP Server 2.0.59 > Control Apache Server > Restart を選びます)。

2.3 MySQLのインストール

 MySQLのダウンロードページ
 http://dev.mysql.com/downloads/mysql/5.0.html
から、MySQL 5.0 Community Server (Windows Essentials (x86))をダウンロードします。

 ダウンロードしたファイル(インストーラ)を起動します。インストールが終了すると、MySQLの設定画面に進みます。ほとんどの画面はデフォルト設定のままでかまいませんが、

「Please select default character set.」の画面では、「Manual Select Default Caracter Set / Collation」を選択し、「Character Set:」「utf8」を選択します。

「Please set the Windows options.」の画面では、「Install As Windows Service」がチェックされていることを確認し、「Include Bin Directory in Windows PATH」にもチェックを入れます。

「Please set the security options.」の画面では、管理者(root)のパスワードを設定しておきます。

2.4 Rubyのインストール (One-Click Ruby Installer)

 One-Click Ruby Installer for Windowsのホームページ
 http://rubyinstaller.rubyforge.org/wiki/wiki.plから、インストールパッケージをダウンロードします。こちらの開発環境で使用しているのは、1.8.4-16 release candidate 1 です。これからインストールするのであれば、稼動確認は行っていませんが、1.8.4-xx または 1.8.6-xx の最新版がよいと思います。

 ダウンロードしたファイル(インストーラ)を起動します。インストール時に、インストール先のディレクトリとして、C:¥rubyを指定して下さい。

2.5 MySQL/Ruby for Windowsのインストール

 MySQL/Ruby for Windowsのホームページ
 http://www.vandomburg.net/pages/mysql-ruby-windows
から、zipファイル(mysql-ruby-windows-2.7.1.zip) をダウンロードして、解凍します。

 解凍したフォルダ内の mysql.so を、C:¥ruby¥lib¥ruby¥site_ruby¥1.8¥i386-msvcrt にコピーします。

 MySQLのバイナリディレクトリ(通常は C:¥Program Files¥MySQL¥MySQL Server 5.0¥bin)を、WindowsのPATHに追加します。(※上記 2.3の手順でMySQLをインストールした場合は、既に追加されています。)

 確認のため、下記の簡単なプログラムをカレントディレクトリに作成します。コマンドプロンプトから ruby test-mysql.rb と入力し実行します。

ファイル名: test-mysql.rb
---
require 'mysql'
puts Mysql::VERSION

---

 バージョン番号(例: 20700)が表示されれば、インストールは完了です。

2.6 ChaSen 2.3.3のインストール

 ChaSenのホームページは下記にあります。
 http://chasen-legacy.sourceforge.jp/

 ChaSenのダウンロードページ
 http://sourceforge.jp/projects/chasen-legacy/files/から、
 Windows版のChaSen 2.3.3のインストールパッケージ(chasen-2.3.3-20031208-exe)をダウンロードします。
 ダウンロードしたファイル(インストーラ)を起動します。

2.7 ipadic(UTF-8版)のインストール

 ここから、ipadic 2.7.0のUTF-8版(ipadic-2.7.0-utf8.zip)をダウンロードします。

(1)ダウンロードしたipadic 2.7.0のUTF-8版(ipadic-2.7.0-utf8.zip)を解凍するとdicというフォルダができます。
(2)C:¥usr¥local¥lib¥chasen¥dic¥ipadicというフォルダを作成し、その中に(1)でできたdicフォルダの中身をすべてコピーします。
(3)ChaSenのインストールディレクトリにあるdicフォルダ(C:¥program Files¥ChaSen¥dic)を、dic-oldにリネームします。
(4)C:¥Program Files¥ChaSen¥dicを再度作成し、その中に(1)でできたdicフォルダの中のchsenrcというファイルだけをコピーします。
(5)C:¥Program Files¥ChaSen¥dicの中のchasenrcというファイルの記述に、以下の定義を追加します(実際にはコメントアウトされているので、行頭の;を削除する)。これにより、英単語や数字が1文字づつ分解されないようになります。

ファイル名: chasenrc
---
(COMPOSIT_POS ((名詞 数))
((記号 アルファベット)))
---

2.8 Ruby/Chasen Alternative のインストール

 Ruby/Chasen Alternativeのホームページは下記にあります。
 http://www5e.biglobe.ne.jp/~sirokuma/ruby/ruby-chasen.html

 Windowsの環境変数を設定します。環境変数を設定するには,[コントロールパネル]から[システム]を開き,[詳細設定]タブの[環境変数]ボタンをクリックしてください。

 Pathの設定に、libchasen.dllの置いてあるディレクトリ(通常は C:¥Program Files¥Chasen)を追加してください。
 新規に chasenrc というシステム環境変数を作成し、chasenrcという設定ファイルのフルパス(通常は C:¥Program Files¥Chasen¥dic¥chasenrc)を設定してください。

 次に、ここから chasen.zip というファイルをダウンロードし、解凍して下さい。cahsen.rb というファイルができるので、C:¥ruby¥lib¥ruby¥site_ruby¥1.8 にコピーして下さい。

 これだけだと、SUZAKUのスクリプト実行時、ブラウザにInterenal Errorが表示されるケースがあるので、ChaSenのインストールディレクトリに etc というフォルダを作成し、そこに chasenrc という設定ファイルをコピーして下さい(結果として通常は C:¥Program Files¥Chasen¥etc¥chasenrc ができる)

投稿者 webmaster : 2007年09月19日 22:38 | コメント (0) | トラックバック (0)

3. SUZAKUのインストール

3.1 SUZAKUパッケージのインストール

 SUZAKUのDownloadページから、アーカイブファイル(suzaku-x.x.x.zip)をダウンロードします。解凍すると、以下のフォルダができます。

 suzaku-3.x.x
  ¥cgi-bin
    ¥suzaku_sample ・・・ (1)
      ¥admin ・・・ (3)
      ¥bin
        ¥log
        ¥tmp
      ¥lib
  ¥html
    ¥suzaku_sample ・・・ (2)
      ¥images

 Apacheの設定ファイルで、ScriptAlias /cgi-bin/ に指定したディレクトリ(上記の例だと、C:¥var¥www¥cgi-bin)に、(1)のsuzaku_sampleフォルダを、フォルダごとコピーします。

 同じく、Apacheの設定ファイルで、DocumentRoot に指定したディレクトリ(上記の例だと、C:¥var¥www¥html)に、(2)のsuzaku_sampleフォルダを、フォルダごとコピーします。

 Windows版のSUZAKUは、rubyインタプリタが、C:¥ruby¥bin¥ruby.exe にあることを想定しています。これ以外の場所にrubyをインストールした場合には、(1)および(3)のフォルダ内にある .rb ファイルの先頭に記述されている
 #!/ruby/bin/ruby
の部分を修正する必要があります。

3.2 検索サイトの構築

 検索サイトのサンプル「suzaku_sample」を修正して、独自の検索サイトを構築します。

(1) 事前に確認/決定しておく事項

 以下の事項をあらかじめ確認/決定しておきます。

 ・検索サイトのURL
 ・管理者宛メールの送信用メールサーバー、送信元、送信先のメールアドレス
 ・データベース用のユーザーID、パスワード、データベース名
 ・どのようなカテゴリのホームページを検索対象とするか

 ここでは、仮に以下の前提で、設定方法の説明を行います。

 ・検索サイトのURL: http://localhost/eagle/
 ・管理者用メールの送信用メールサーバー: smtp.your_site.com
 ・管理者宛メールの送信元: webmaster@your_site.com
 ・管理者宛メールの送信先: your_name@your_site.com
 ・MySQL管理者(root)のパスワード: wxyz5678
 ・データベース用のユーザーID: eagle_user
 ・データベース用のパスワード: abcd1234
 ・データベース名: eagle
 ・カテゴリ: 01-コンピュータ・ハードウェア、02-コンピュータ・ソフトウェア
   (01,02はカテゴリ・コード(英数字2桁))

(2) 検索サイトのディレクトリ名と、「suzaku_conf.rb」ファイルの変更

 ディレクトリ名を変更します。

 C:¥var¥www¥cgi-bin¥suzaku_samplesuaku_sampleeagle に変更。
 C:¥var¥www¥html¥suzaku_samplesuaku_sampleeagle に変更。

(3) 設定ファイルの修正

 C:¥var¥www¥cgi-bin¥eagleにあるsuzaku_conf.rbを修正します。なお、行の先頭が#の部分はコメントです。

ファイル名: suzaku_conf.rb
---
# suzaku_conf.rb : 設定ファイル

site_name = "eagle"
image_file_directry = "/eagle/images/"

test_mode = false

# MySQL データベース接続パラメータ
host = "localhost"
userid = "eagle_user"
password = "abcd1234"
database = "eagle"

# MySQL データベース接続パラメータ
# (create/drop database)
root_userid = "root"
root_password = "wxyz5678"

# メール設定
mail_server = "smtp.your_site.com"
mail_from = "webmaster@your_site.com"
mail_to = "your_name@your_site.com"

# ホームページ巡回時の設定
# interval = 604800
# time_limit = 1800
start_level = 1
max_level = 9
max_continue = 20
tmp_dir = "tmp"
log_dir = "log"
log_out = true
limit_in_same_site = true
# message_out = false
# force = false
auto_delete = true

# 巡回テスト用
interval = 1800
time_limit = 180
message_out = true
force = true

# サイトのカテゴリー文字列
01 = "コンピュータ・ハードウェア"
02 = "コンピュータ・ソフトウェア"

# 表示色
text_color = "#333333"
bg_color = "#FFFFFF"
link_color = "#0000FF"
alink_color = "#0099FF"
vlink_color = "#800080"
result_color = "#990000"
score_color = "#DD6600"
info_color = "#999999"
table_color = "#CCCCCC"

# 表示色(管理者モード)
normal_msg_color = "#006666"
error_msg_color = "#CC0000"

 上記は設定は、システムの稼動確認用の設定例です。システムの本番稼動時には、上記の設定のうち「巡回テスト用」以下に記述されている
interval = 60
time_limit = 180
message_out = true
force = true

をコメントアウト(行の先頭に#を入れる)して、「ホームページ巡回時の設定」以下に記述されている同じキーワードの行を有効にする(行の先頭の#を削除する)とよいでしょう。

(5) データベースの作成

 検索対象とするホームページの URL を登録します。ブラウザで、URL
  http://localhost/cgi-bin/eagle/index.rb
にアクセスします。

 右下の「管理者モード」をクリック」すると、管理者モードのログイン画面が表示されます。

 パスワード(設定ファイルの「password =」で指定したもの)を入力し、「実行」をクリックすると、管理者モードに入ります。上部のメニューから、「システム管理」をクリックします。

 ホームページの URL や検索に使用するキーワードのインデックス(索引)を格納するデータベースを作成します。

 最初に「データベースの作成」をクリックします。
 次に「テーブルの作成」をクリックします。

 ※「システム管理」の「テーブルの削除」「データベースの削除」を実行すると、検索サイト内のデータが全て消えてしまうので、注意してください。

(6) URL の登録

 上部のメニューから、「サイトの新規登録」をクリックします。

「URL」に検索対象とするホームページのトップページのURLを入力します。(必須)
「種別」にはそのホームページの種類に応じたカテゴリーコードを入力します。(必須)
「名称(漢字)」「名称(かな)」は、そのホームページの名称を漢字(全角)とひらがな(全角)で入力します。(必須)
「メールアドレス」には、そのホームページの管理者のメールアドレスを入力します。(オプション)。
「コメント」には、そのホームページに関するコメントを入力します。(オプション)
 入力したら、「実行」をクリックします。

 上部のメニューの「登録サイト一覧」をクリックすると、登録したホームページの一覧が表示されます。

 登録した内容の修正、削除を行うときは、「NO.」欄の該当行の数字をクリックして下さい。

 登録が終わったら、「システム管理」で「登録サイトのバックアップ」をクリックして、バックアップを取っておきましょう。こうすると、admin ディレクトリの下に url_data.rb というファイル名で、登録したサイトのリストが保存されます。データベースが壊れたときに、「データベースの削除」「データベースの作成」「テーブルの作成」を実行した後、「登録サイトの復元」を行うと、データベースを初期状態に戻すことができます。

 「管理者モード」を終了するには、上部のメニューの「ログオフ」をクリックして下さい。

(7) ホームページの巡回処理を実行する。

 ホームページの巡回処理を実行します。最初にコマンドプロンプトを起動します。

 コマンドプロンプトの画面で、以下のコマンドを入力します。

 カレントディレクトリを、SUZAKUのbinディレクトリに移動する。
 > cd C:¥var¥www¥cgi-bin¥eagle¥bin

 巡回処理を実行する。
 > ruby robot.rb abcd1234

 巡回結果は、「管理者モード」の「登録サイト一覧」、「巡回ログ」、「システム状況」で確認できます。
 巡回処理を途中で中止したい場合には、「管理者モード」の「システム管理」で「インターネットの巡回を停止」をクリックして下さい。

(8) 検索サイトの画像の変更

 初期状態では、検索サイトのトップページは

 となっています。
ページ上部の画像は、C:¥var¥www¥html¥eagle¥images ディレクトリの下の title.jpg というファイルなので、あなたのサイトにふさわしい画像に変更して下さい。同じく、ページ中央の画像 main.jpg も変更して下さい。

投稿者 webmaster : 2007年09月19日 23:39 | コメント (0) | トラックバック (0)

4. SUZAKUの設定

 SUZAKUの設定は suzaku_conf.rb ファイルで行います。

 設定ファイルの各パラメータは、以下のような意味を持ちます。

パラメータ 指定する内容
site_name サイト名を指定する。
image_file_directry SUZAKUで使用する画像ファイルをおくディレクトリを指定する。
host 使用するMySQLのホスト名を指定する。
userid MySQLに接続するためのユーザーIDを指定する。
password MySQLに接続するためのパスワードを指定する。検索サイトの管理者モードにはいる際のパスワードとしても使用する。
database MySQLのデータベース名を指定する。
root_userid MySQLの管理者のユーザーIDを指定する。
database MySQLの管理者のパスワードを指定する。
mail_server SUZAKUのシステムが発行するメール用のメールサーバーを指定する。
mail_from メールの差出人のアドレスを指定する。
mail_to メールの宛先のアドレスを指定する。
interval 該当ページに最後にアクセスしてから、ここに指定された秒数を経過するまでは、再度分析処理を行わない。
time_limit ここに指定された秒数を経過したら、巡回処理を中断する。
start_level ホームページの巡回を開始するリンクの階層の深さを指定する。通常は1(トップページ)を指定する。
max_level ホームページの巡回を終了するリンクの階層の深さを指定する。
max_continue 巡回時、ここで指定した回数を超えると、他のサイトのページに移る。同一サイトへのアクセスの集中を避けるための指定。
tmp_dir 巡回対象のページを一時的にダウンロードするディレクトリを指定する。
log_dir 巡回処理のログを出力するディレクトリを指定する。
log_out 巡回処理のログを出力するときは true を、出力しないときは false を指定する。
limit_in_same_site 巡回の際に、トップページと異なるサイトの URL を対象外としたい場合には true を指定する。他のサイトの URL も巡回したい場合は false を指定する。
message_out エラーメッセージ以外のメッセージもログに出力する場合は true を指定する。エラーメッセージだけを出力する場合は false を指定する。
force 最後に巡回してから更新されていないページは、処理をスキップしたい場合には false を指定する。すべてのページを、再度処理したい場合には true を指定する。
auto_delete 削除されたり、アクセス不能となったりしたページの情報をデータベースから自動的に削除する場合は true を指定する。削除せずに残しておきたい場合は false を指定する。
01, 02, ... サイトのカテゴリを表す文字列を指定する。カテゴリコードには、2桁の英数字を使用する。

注: interval と time_limit について
 大量のサイトを巡回するために、サイトの巡回処理に24時間かかるとします。巡回処理は深夜0:00~8:00までの8時間だけ行い、3日間に分けて行いたいとします。この場合、intervalに、60(s)×60(m)×24(h)×3=259200を、time_limitには、60(s)×60(m)×8(h)=28800を指定します。

投稿者 webmaster : 2007年09月20日 01:02 | コメント (0) | トラックバック (0)