2005年03月09日

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

 Fedora Core 3を例にとって、前提ソフトのインストール手順を説明します。
 なお、下記の手順で # で始まる部分は root で実行してください。
 各ソフトをダウンロードするには、こちらを参照して下さい。
 vi コマンドに続く、--- から --- までの部分は、ファイルの編集内容です。

2.1 Fedora Core 3

 サーバーとして使用する場合、不要なパッケージは極力インストールしないようにします。
 パッケージの選択では、「サーバー」で、「開発ツール」だけを選択し、その後、必要なパッケージだけを追加でインストールします。
 所定の手順に従って、インターネットにアクセスできるようにしておきます。
 パッケージ管理ソフトとして、yumも利用可能な状態にしておきます。

 個人の自宅のPCサーバーでも、常時接続可能な回線(ADSLなど)とダイナミックDNSサービスを使用すれば、外部に公開することができます。ただし、この際には、別途ファイアウォールを立てる、ADSLルータモデムのIPフィルタリング機能できちんとアクセス制限をかける、サーバー側でも不要なサービスを停止しておく、などのセキュリティ面での十分な対策が必要です。
 この辺りの詳しい設定方法については、多くの書籍が発売されているので、そちらを参考にしてください。
 Fedora Coreでのサーバー構築に関しては、以下のサイトが参考になります。
  ・Fedoraで自宅サーバー構築
 なお、前提とする文字コードは、今後一般化すると考えられるUTF-8としました。

2.2 Apacheのインストール

 webサーバーのApacheをインストールします。

$ su
# yum -y install httpd

 Apacheを起動して、インストールがうまくいったことを確認します。

# /etc/rc.d/init.d/httpd start

 設定ファイルを修正します。

# vi /etc/httpd/conf/httpd.conf
---
ServerTokens Prod
ServerAdmin webmaster@your-host-name
ServerName your-host-name
DocumentRoot "/var/www/html"

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

<Directory "/var/www/html">
 Options None
</Directory>

<Directory "/var/www/cgi-bin">
 Options ExecCGI
</Directory>

HostnameLookups Off
CustomLog logs/access_log combined
ServerSignature Off
#AddDefaultCharset UTF-8  <- コメントアウト
---

 再起動時にApacheを自動起動するように設定します。

# /sbin/chkconfig httpd on

2.3 Postfixの設定

 メールサーバーのPostfixをインストールします。
 (手順は省略)

2.4 MySQLのインストール

 MySQL 4.1のrpmパッケージをインストールします。Fedora Core 3に含まれるのはMySQL 3.23.x なので、http://www.softagency.co.jp/MySQL/downloads/mysql/4.1.htmlから、RPMパッケージ(Server、Client programs、Libraries and header files、Dynamic client libraries(including 3.23.x libraries))をダウンロードします。

# rpm -Uvh MySQL-server-4.1.9-0.i386.rpm MySQL-client-4.1.9-0.i386.rpm MySQL-devel-4.1.9-0.i386.rpm MySQL-shared-compat-4.1.9-0.i386.rpm

(注)既にMySQLの3.X/4.0を使用している場合は、可能であれば、一旦それらをアンインストール(データベースファイルも削除)した後、4.1を新規インストールすることをお奨めします。どうしてもアップグレードする必要がある場合には、こちらを参照して下さい。

 設定ファイルを修正します。

# vi /etc/my.cnf
---
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8  <-- 追加

[mysql]
default-character-set=utf8  <-- 追加

[mysqldump]
default-character-set=utf8  <-- 追加

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
---

 MySQLを起動します。

# /etc/rc.d/init.d/mysqld start

 再起動時に、MySQLを自動起動するように設定します。

# /sbin/chkconfig mysqld on

 MySQLのroot(システムのrootではない)のパスワードを設定します。

# mysqladmin -u root password "your_mysql_root_password"

2.5 Rubyのインストール

 Rubyは、まつもとゆきひろさんが開発した、オブジェクト指向のスクリプト言語です。
 以下の手順で、Rubyをインストールします。

# yum -y install ruby
# ruby --version

2.6 erubyのインストール

 erubyを使うと、htmlの中にRubyのスクリプトを埋め込むことができます。
 後述するmod_rubyと組み合わせて使用する場合、Fedora Core に含まれるrpmパッケージは使えません。ソースからインストールします。ソースは、euby/mod_rubyのホームページからダウンロードします。
 以下の手順で、erubyをインストールします。

# yum -y install ruby-devel
# cd /usr/local/src
# tar zxfv eruby-1.0.5.tar.gz
# cd eruby-1.0.5`
# ./configure.rb --with-charset=utf-8 --enable-shared
# make
# make install
# eruby --version

2.7 mod_rubyのインストール

 CGIでは、実行時、毎回プロセスが起動されるため、処理のオーバーヘッドが大きくなります。mod_rubyを使用すると、erubyスクリプトの実行時に毎回プロセスが起動されることがなくなるため、処理効率が向上します。
 ソースをeuby/mod_rubyのホームページからダウンロードします。
 以下の手順で、mod_rubyをインストールします。

# yum -y install httpd-devel

# cd /usr/local/src
# tar zxfv mod_ruby-1.2.4.tar.gz
# cd mod_ruby.0.8.4
# ./configure.rb --enable-eruby --with-apxs=/usr/sbin/apxs
# make
# make install

# vi /etc/ld.so.conf
---
/usr/local/lib  <- 追加
---

# /sbin/ldconfig -v

 mod_rubyを有効にするため、Apacheの設定ファイルを修正します。

# vi /etc/httpd/conf/httpd.conf
--
# for mod_ruby
LoadModule ruby_module modules/mod_ruby.so

# ClearModuleList

# for mod_ruby
# AddModule mod_ruby.c

AddHandler cgi-script .cgi

#
# for Ruby/eRuby
#
<IfModule mod_ruby.c>
# for Apache::RubyRun
RubyRequire apache/ruby-run

# for Apache::ERubyRun
RubyRequire apache/eruby-run

# for development
# RubyRequire auto-reload

# for add library
RubyAddPath /usr/local/etc/suzaku/lib

# exec *.rbx as ruby scripts.
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>

# handle *.rhtml as eruby files.
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Files>
</IfModule>
--

 Apacheを再起動します。

# /etc/rc.d/init/d/httpd restart

2.8 MySQL-Rubyインタフェースのインストール

 RubyからMySQLを使用できるようにするために、MySQL-Rubyインタフェースをインストールします。
 ソースをMySQL-Rubyのホームページからダウンロードします。
 以下の手順で、MySQL-Rubyインタフェースをインストールします。

# yum -y install mysql-devel

# cd /usr/local/src
# tar zxfv mysql-ruby-2.5.1.tar.gz
# cd mysql-ruby-2.5.1

# ruby extconf.rb --with-mysql-config
# make
# make install
# /sbin/ldconfig -v
# ruby -I. ./test.rb localhost root your_mysql_root_passwd

2.9 ChaSenのインストール

 SUZAKUでは、ホームページの検索を行うために、そこに含まれる日本語の文章から、検索の際に使用するキーワードを抜き出し、インデックス(索引)としてデータベースに格納します。ChaSenはフリーの日本語形態素解析器で、SUZAKUでは日本語の文章からキーワードを抜き出す際に、文章を単語単位に分解するために使用します。
 ChaSenと、 ChaSenが使用する辞書(ipadic)のソースをChaSenのホームページからダウンロードします。
 以下の手順で、ChaSen(およびその前提ソフトのDarts)をインストールします。make時にコンパイルエラーが出るので、プログラムソースの修正が必要です。合わせて、辞書の文字コードをUTF-8に変換します。
 参考: http://pcweb.mycom.co.jp/column/yetanother/045/

# cd /usr/local/src
# tar zxfv darts-0.2.tar.gz
# cd darts-0.2
# ./configure
# make
# make check
# make install

# cd /usr/local/src
# tar zxfv chasen-2.3.3.tar.gz
# cd chasen-2.3.3

# vi lib/dartsdic.cpp
---
(177行目)
//  (const char*)keys[size] = key.data();
    keys[size] = (char*)key.data();
---

# ./configure
# make
# make install
# /sbin/ldconfig -v

 次に、ipadicをインストールします。

# cd /usr/local/src
# tar zxfv ipadic-2.7.0.tar.gz

(辞書をUTF-8に変換する)

# cp -R ipadic-2.7.0 ipadic-2.7.0-UTF8
# cd ipadic-2.7.0-UTF8
# ./configure

#vi to-utf8.sh
---
#!/bin/sh
for file in $*
do
if [ -f $file ]; then
nkf --utf8 $file > tmpfile
mv tmpfile $file
fi
done
exit
---

#chmod 755 to-utf8.sh
#./to-utf8.sh *.dic *.cha

# `chasen-config --mkchadic`/makemat -i w
# `chasen-config --mkchadic`/makeda -i w chadic *.dic
# make install

# cd /usr/local/etc
# cp chasenrc chasenrc.org
# nkf --utf8 chasenrc > chasenrc.tmp
# mv chasenrc.tmp chasenrc

# vi chasenrc
(以下の定義を追加する。これにより、英単語や数字が1文字づつ分解されないようになります。)
---
(COMPOSIT_POS ((名詞 一般) (名詞 数) (記号 アルファベット)))
---

# echo "「日本語」を扱う上で欠かせないツール。" | chasen -i w
# echo "My name is Takashi. B777 DMC-FZ1 2005.04.01." | chasen -i w

2.10 Ruby/ChaSen のインストール

 Ruby/ChaSenは、RubyスクリプトからChaSenを使用するためのインタフェース・ライブラリです。
 RAA(Ruby Application Archive)から、Ruby/ChaSenのソースをダウンロードします。
 以下の手順で、Ruby/ChaSenをインストールします。

# cd /usr/local/src
# tar zxfv chasen1.6.tar.gz
# cd chasen1.6
# ruby -rmkmf -e 'dir_config("chasen","/usr/local"); \
> have_library("stdc++"); create_makefile("chasen") if have_library("chasen")'
# make
# make install
# /sbin/ldconfig -v

投稿者 webmaster : 00:04 | コメント (0) | トラックバック (0)

トラックバック

コメント