インストール/Scientific Linux の変更点

Top > インストール > Scientific Linux


[[インストール/Scientific Linux release 6.1 (Carbon)]]

[[インストール]]

Scientific Linux release 6.1 (Carbon) でのインストール方法を紹介します。(インストールのタイプは Basic Server、アーキテクチャはi386)


* 下準備

expat-devel、libicu-devel、rpm-buildをインストールしておきます。

* 開発ツール、eXpat、ICU、MeCab、Apache(httpd)のインストール

開発ツールには gcc、g++(MeCabのインストールに必要)、bison、rpm-build などが必要です。
eXpat、ICU は開発用ライブラリをインストールしておきます。
stmdは
デフォルトの形態素解析器としてMeCabを使用するので、MeCab(utf-8対応版)をインストールしておきます。
-必要なツールのインストール
 sudo yum install gcc
 sudo yum install gcc-c++
 sudo yum install bison
 sudo yum install expat-devel
 sudo yum install libicu-devel
 sudo yum install rpm-build
 sudo yum install httpd


* rpmbuildに、GETAssocのSPECを追加する

$HOME/rpmbuild/{BUILD,SRPMS,SPECS,SOURCES,RPMS}
を作成し、rpmbuildの下に
http://www.cs.nii.ac.jp/~getassoc/getassoc-SPECS-1.1.5.tar.gz
を展開します(SPECS下にファイルが3つ展開される)。さらに、http://www.cs.nii.ac.jp/~getassoc/{cxml,stmd,getassoc}-1.1.5.tar.gz
をSOURCESの下に置きます。
-rpmbuildの準備
 cd $HOME
 mkdir rpmbuild
 cd rpmbuild
 mkdir BUILD SRPMS SPECS SOURCES RPMS
 wget -q http://www.cs.nii.ac.jp/~getassoc/getassoc-SPECS-1.1.5.tar.gz -O- | tar xfzp -
 cd SOURCES
 wget -q http://www.cs.nii.ac.jp/~getassoc/cxml-1.1.5.tar.gz
 wget -q http://www.cs.nii.ac.jp/~getassoc/stmd-1.1.5.tar.gz
 wget -q http://www.cs.nii.ac.jp/~getassoc/getassoc-1.1.5.tar.gz
 cd $HOME


* cxml、stmd、GETAssocのインストール

準備ができたら、パッケージを作成し、続いてインストールを実行します。stmdのインストール時には、(野良ビルド故)MeCabが見つからなくとも中断しないよう--nodepsを付けておきます。
-パッケージの作成
 rpmbuild -ba rpmbuild/SPECS/cxml-1.1.5
 rpmbuild -ba rpmbuild/SPECS/stmd-1.1.5
 rpmbuild -ba rpmbuild/SPECS/getassoc-1.1.5

-インストールの実行
 sudo rpm -i rpmbuild/RPMS/i386/cxml-1.1.5-1.el6.i386.rpm
 sudo rpm --nodeps -i rpmbuild/RPMS/i386/stmd-1.1.5-1.el6.i386.rpm
 sudo rpm -i rpmbuild/RPMS/i386/getassoc-1.1.5-1.el6.i386.rpm


* stmdの設定

inetd版より高速なAF_LOCAL版を使います。起動スクリプトのサンプルが
/usr/local/share/examples/init.d/stmd
にインストールされているので、それをコピーして用います。
-起動スクリプトのコピー
 sudo cp /usr/local/share/examples/init.d/stmd /etc/init.d/stmd
 sudo chown root:root /etc/init.d/stmd
 sudo chmod 755 /etc/init.d/stmd
 sudo chkconfig --add stmd
 sudo chkconfig --level 345 stmd on
 sudo service stmd start


* GETAssoc の設定

rpm対応版は、バイナリとデータが異なるディレクトリ以下に配置されています。データの保管場所は自動では作成できないので、これを手動で作成します。以下の例は、データの置き場所を /home/ore/g としたものです。
-データの置き場所を作成
 mkdir -p /home/ore/g
 (cd /home/ore/g && mkdir bin etc nwam pwam tmp && chmod -R og+rX .)

作成したディレクトリの属性としては、stpを実行するユーザが全権利を持つこと、および、Apache(httpd、ユーザ=apache)が読めることと実行できることが必要です。(パスの途中のディレクトリの読み取りおよび実行権限、SELinuxの設定などもチェックポイントです。)

rpm対応版は、バイナリとデータが異なるディレクトリ以下に配置されているため、getassocにデータの位置を教える必要があります。これを、実行時引数か、環境変数で実現できれば良いのですが、Apache(httpd)のcgi-bin呼び出しではいずれの方法も利用できません。そこで、getassocと同名のスクリプトをかませてこの問題を解決します。置き場所は、/home/ore/g/bin にします。このファイルには、chmod +xで実行可属性をつけておきます。以下のサンプルで、/home/oreを$HOMEと書き換えてはならないことに注意してください。
-/home/ore/g/bin/getassoc: 
 #! /bin/sh
 exec /usr/local/libexec/getassoc/getassoc -R /home/ore/g


* httpdの設定

/etc/httpd/httpd.conf の変更を最小限に抑えるため、GETAssocに関係する設定はファイルを別にし、/home/ore/etcに置くことにします。/home/ore 以下には、etcとg/etcの二つの異なるディレクトリができることに注意してください。httpdの設定で用いるのは、etcの方です。作成するファイルは2つです。
-/home/ore/etc/ScriptAlias.conf:
      ScriptAlias /getassoc/ "/home/ore/g/bin/getassoc/"

-/home/ore/etc/Directory.conf:
 <Directory "/home/ore/g/bin/">
     AllowOverride None
     Options ExecCGI
     Order allow,deny
     Allow from all
 </Directory>

次に、これらのファイルを読み込むよう、/etc/httpd/conf/httpd.conf に2行追加します。
-/etc/httpd/httpd.conf: (2行追加)
 Include "/home/ore/etc/ScriptAlias.conf"
 Include "/home/ore/etc/Directory.conf"

Apache(httpd)を起動します。
-Apache(httpd)起動:
 sudo service httpd start

うまく行かないときは、ここをチェック!
-/etc/sysconfig/iptables
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-で、iptablesを再起動
 sudo service iptables restart

* データベースのインストール

stpを使います。stpの第一引数には/home/ore/g を渡します。
-例:
 stp -b /home/ore/g mai2001 title,link < mai2001.itb

TOP