忍者ブログ
Linux管理をはじめて数年、これまでPleskにお任せして避けてきた自力サーバー管理をはじめることになった。自宅サーバーもやってみたいし。
[1] [2]
[PR]  
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


実は私が借りているサーバには、最初からphpやapacheなどいくつかのモジュールが組み込まれていた。
tritonnのインストールはすなわちMySQLの改造版をインストールすることになるのだが、MySQLは最初から組み込まれているわけではなかったので、新規にインストールしたことになる。
そのためphpからMySQLを使うためのコンパイルオプションが付加されていなかった。

phpからMySQLを使用するためには--with-mysqlというコンパイルオプションがついている状態でビルドする必要があるのだ。
で、結局phpをソースからインストールしなければならないということが分かった。
いろんなページを見てみるとapacheもインストールしなおすというドキュメントを見かけたが、ダメもとでapacheはそのまま、phpだけをインストールすることにした。

unixのインストール作業に慣れていない私にとって、既に存在するphpを上書きする手順がよく分からない。いろいろなページを見てみたが、やっぱりよく分からない。
結局php5.1.6がインストールされていたが、ここにphp5.2を上書きインストールしてみることにした。php5.1.6のアンインストール方法も全然分からない。現状のままで、php5.2をソースからコンパイルしてインストールしてみた。
この方法がどのくらい危険なのか正直よく分からないし、フツーのスキルを持っている人だったらやらない気もするが、最終的にはうまく動いた。
まずはhttpdのサービスを停止
service httpd stop

私の環境でうまくいったphpのconfigureオプションは下記の通り
'./configure' \
'--prefix=/usr/local' \
'--with-mysql=/usr/local/mysql' \
'--with-pdo-mysql=/usr/local/mysql' \
'--with-apxs2=/usr/sbin/apxs' \
'--enable-mbstring' \
'--enable-mbregex' \
'--with-jpeg-dir' \
'--enable-ftp' \
'--enable-exif' \
'--enable-sockets' \
'--with-openssl' \
'--with-zlib' \
'--with-gd' \
'--with-curl' \
'--enable-zend-multibyte' \
'--enable-pcntl' \
'--with-mcrypt' \
'--with-tidy'


このときlibjpeg.soが見つからないとエラーが出たので
cp /usr/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so
を実行。
同じく見つからないとエラーが出たので
libtidy-0.99.0-14.20070615.el5.x86_64.rpm
libtidy-devel-0.99.0-14.20070615.el5.x86_64.rpm

この2つをインストールした。rpmは楽だ。

そして
make
make install

これでphp5.1.6環境の上から5.2を強引にインストールできた。たぶん。
その上でhttpdサービスを開始した。
service httpd start
ここでエラーが出たが、/etc/httpd/conf/httpd.confのphpモジュールを参照している行をコメントアウトしたら、うまいこと起動した。
LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so

# LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so


私の場合、この手順でphp5.1.6をアンインストールすることもなく、apacheを再インストールすることもなく、phpからtritonnを利用できるようになりました。

私はtritonnを導入したかったがためにPlesk卒業を決断したという経緯がある。なのでこの作業はどうしてもうまくいってもらわないと困る所。
しかしtritonnはmecabとsennaが入っていないと動かない。そしてtritonnをインストールした後もphpをインストールしなおしたりしなければならない。

tritonn公式ページ

unixのインストールで便利なrpmは使えない。というのもrpm版はutf8でビルドされているからだ。私はほとんどphpでコンテンツを作るのでujis(EUC-JP)のほうがなじみ深い。
せっかくここまで来たのだから、どうしてもeucjpで使いたい、と思ったら、やっぱりソースからビルドするしかないようだ。
そんなわけでtritonnをソースからインストールすることに決めた。

tritonnをインストールする前にmecabとsennaをインストールする。これらもソースからのインストールになる。

mecabのインストール
mecabソース公開ページ
ここからmecabとmecab-ipadicをダウンロードする。
それぞれを解凍する
gzip -dc 解凍するファイル名 | tar xvf -

mecabのインストールとビルド手順は下記の通り(EUC-JP)
./configure --prefix=/usr --with-charset=eucjp
make
make install


mecab-ipadicのインストールとビルド手順(EUC-JP)
./configure --prefix=/usr --with-charset=eucjp
make
make install


私の場合、mecab-ipdicのメイクでエラーが出た。
ldconfig
このunixコマンドはシステムに新しいライブラリを認識させるためのコマンドらしい。configする前にこれをやっておくとうまくいった。


sennaのインストール
sennaのソース公開ページからソースをダウンロードする。上と同じ感じで解凍・展開。
gzip -dc senna* | tar xvf -

sennaのビルドとインストール手順。
./configure --prefix=/usr
make
sudo make install


nfkcでmakeが止まる場合は下記を試す。私の場合はこれでインストールが出来た。
( cd lib; ../libtool --tag=CC --mode=compile \
gcc -I. -I.. -Wall -O0 -fno-strict-aliasing -g -MT nfkc.lo \
-MD -MP -MF .deps/nfkc.Plo -c -o nfkc.lo nfkc.c )


tritonnのインストール
まずソース公開ページからソースをダウンロードする。もちろんunixのwgetコマンドを使おう。
私がダウンロードしたソースは tritonn-1.0.12-mysql-5.0.67.tar.gz
ダウンロードしたソースを展開する。
gzip -dc tritonn* | tar xvf -

tritonnはMySQLを改造したプログラムだ。だからtritonnをビルドしてできあがるのは、やはりMySQLだということになる。MySQL’(ダッシュ)的な。
そんなわけでtritonnをビルドする時は、MySQLをビルドするのと同じオプションを指定してやらねばならず、トーシロな私はここで非常に苦戦した。
いろいろ経緯はあったのだが、私の環境でうまくいったconfitureオプションは下記の通り。

CC='gcc' CFLAGS='-g' CXX='gcc' CXXFLAGS='-g' LDFLAGS='' ASFLAGS='' \
./configure \
'--prefix=/usr/local/mysql' \
'--localstatedir=/usr/local/mysql/data' \
'--libexecdir=/usr/local/mysql/bin' \
'--with-comment=MySQL Community Server (GPL)' \
'--with-server-suffix=' \
'--enable-thread-safe-client' \
'--enable-local-infile' \
'--enable-assembler' \
'--with-pic' \
'--with-fast-mutexes' \
'--with-client-ldflags=-static' \
'--with-mysqld-ldflags=-static' \
'--with-zlib-dir=bundled' \
'--with-big-tables' \
'--with-yassl' \
'--with-readline' \
'--with-archive-storage-engine' \
'--with-blackhole-storage-engine' \
'--with-ndbcluster' \
'--with-csv-storage-engine' \
'--with-example-storage-engine' \
'--with-federated-storage-engine' \
'--with-innodb' \
'--with-charset=ujis' \
'--with-extra-charsets=all' \
'--with-senna' '--with-mecab'


これでconfigureが無事に通ったら

make
make install


これでtritonnがインストールできた。tritonnに記載されている手順を使って、日本語全文検索が出来ることを確認しました。
ここまでで軽く1日かかっているので、若干感激を覚えました。

でもまだこれで終わりじゃないんだな・・・
unixは動き出すと本当にすげーシステムだと思うが、動き出すまでが本当に大変だ。なんでこんなに大変なんだろう。


カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
Powered by ニンジャブログ  Designed by ゆきぱんだ
Copyright © Plesk卒業日記 All Rights Reserved
忍者ブログ / [PR]
PR