Linux管理をはじめて数年、これまでPleskにお任せして避けてきた自力サーバー管理をはじめることになった。自宅サーバーもやってみたいし。
実は私が借りているサーバには、最初から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オプションは下記の通り
このときlibjpeg.soが見つからないとエラーが出たので
を実行。
同じく見つからないとエラーが出たので
この2つをインストールした。rpmは楽だ。
そして
これでphp5.1.6環境の上から5.2を強引にインストールできた。たぶん。
その上でhttpdサービスを開始した。
service httpd start
ここでエラーが出たが、/etc/httpd/conf/httpd.confのphpモジュールを参照している行をコメントアウトしたら、うまいこと起動した。
私の場合、この手順でphp5.1.6をアンインストールすることもなく、apacheを再インストールすることもなく、phpからtritonnを利用できるようになりました。
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をダウンロードする。
それぞれを解凍する
mecabのインストールとビルド手順は下記の通り(EUC-JP)
mecab-ipadicのインストールとビルド手順(EUC-JP)
私の場合、mecab-ipdicのメイクでエラーが出た。
このunixコマンドはシステムに新しいライブラリを認識させるためのコマンドらしい。configする前にこれをやっておくとうまくいった。
sennaのインストール
sennaのソース公開ページからソースをダウンロードする。上と同じ感じで解凍・展開。
sennaのビルドとインストール手順。
nfkcでmakeが止まる場合は下記を試す。私の場合はこれでインストールが出来た。
tritonnのインストール
まずソース公開ページからソースをダウンロードする。もちろんunixのwgetコマンドを使おう。
私がダウンロードしたソースは tritonn-1.0.12-mysql-5.0.67.tar.gz
ダウンロードしたソースを展開する。
tritonnはMySQLを改造したプログラムだ。だからtritonnをビルドしてできあがるのは、やはりMySQLだということになる。MySQL’(ダッシュ)的な。
そんなわけでtritonnをビルドする時は、MySQLをビルドするのと同じオプションを指定してやらねばならず、トーシロな私はここで非常に苦戦した。
いろいろ経緯はあったのだが、私の環境でうまくいったconfitureオプションは下記の通り。
これでconfigureが無事に通ったら
これでtritonnがインストールできた。tritonnに記載されている手順を使って、日本語全文検索が出来ることを確認しました。
ここまでで軽く1日かかっているので、若干感激を覚えました。
でもまだこれで終わりじゃないんだな・・・
unixは動き出すと本当にすげーシステムだと思うが、動き出すまでが本当に大変だ。なんでこんなに大変なんだろう。
しかし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は動き出すと本当にすげーシステムだと思うが、動き出すまでが本当に大変だ。なんでこんなに大変なんだろう。
Apacheの設定はそれなりにやった経験があるが、せっかくなのでwebminを使ってやってみよう。
サーバ > Apache Webサーバ
とすすみ、「デフォルトのサーバ」をクリック、「ネットワークとアドレス」をクリックする。
表示された画面で
・サーバ管理者のメールアドレス
・サーバのホスト名
この2点を設定。
このままだとweb公開ディレクトリのファイル一覧が表示されてしまうので、httpd.confを修正
webminでやりたかったのだが、どこで設定すればいいか分からなかったので結局シェルで修正した。
サーバ > Apache Webサーバ
とすすみ、「デフォルトのサーバ」をクリック、「ネットワークとアドレス」をクリックする。
表示された画面で
・サーバ管理者のメールアドレス
・サーバのホスト名
この2点を設定。
このままだとweb公開ディレクトリのファイル一覧が表示されてしまうので、httpd.confを修正
Options Indexes FollowSymLinks
↓
Options -Indexes FollowSymLinks
webminでやりたかったのだが、どこで設定すればいいか分からなかったので結局シェルで修正した。