【ぷろじぇくと64(ろくよん)】 ~第5日目:daemonはやっぱり悪魔でした・・・~

レンタルサーバー
BIG-server.com

簡単・はやい・大容量・どんな目的にもマッチするレンタルサーバー

HOME プライス お見積もり・プラン選択 お申し込み ユーザーサポート お問い合わせ

■ 【ぷろじぇくと64(ろくよん)】 ~T-Bananaサーバで64ビットOSを動かすぞっ!!の巻~

1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
目次に戻る
第5日目:daemonはやっぱり悪魔でした・・・

昨日はメールシステムの本体であるqmailとvpopmailをインストールしたけど、
これだけでは動かないんだよなあ。
という事で残ったucspi-tcpとtaemontoolsを今日インストールします。
まずは、ucspi-tcpからインストール!
その前に、、、、、解凍したパッケージを調べよう。
(昨日と同じ轍は踏まないぞ、っと・・・)

・・・・やっぱりあった、拡張子 .o のファイルが。
これは32bit版のオブジェクトだから、またエラーになる。
なので、ディレクトリ内の拡張子 .o のファイルを rm *.o で全て削除してから
make setup check インストール。
(ucspi-tcpの詳細についてはココを参照して下さい。)
ちなみにucspi-tcpのインストール時のコマンドは make setup checkだけです。

エラーは発生しなかったので、次にdaemontoolsをインストール。これも問題なし。
一度サーバをリブートして、メールシステムが立ち上がるか確認してみる。

・・・えー、なんで立ちあがらないの?
whichコマンドでtcpserverとかちゃんと表示するのに。
たぶんdaemontoolsからみんな実行されていくから、daemontoolsがちゃんと
動いていないのが原因だろうけど。うーん、判らない。。。。
ちょっとセットアップ用のシェルスクリプトを調べてみよう。

・・・・あった。起動用の設定がコメントになってる。
32bit版のパッケージはこの起動用の設定が適用された後で固めていたから
動いたんだ。
という事でコメントになっていた所を解除してもう一度インストールして、
サーバを再起動。
(daemontoolsの構築時のパラメータはココを参照して下さい。)

動いたー!各プロセスがキレイに立ち上がっている。
送受信テストもしたいけど、先にSpeedy-CGIやApacheの各種モジュールを
先にインストールしてから、まとめて動作確認しよう。


[ucspi-tcp]
ucspi-tcp(tcpserver)のインストールはすごく簡単です。

#!/bin/sh
make setup check

ucspi-tcp(tcpserver)は受信メールサーバ(POP3)や送信メールサーバ(SMTP)等で
外部(クライアント)とサーバの間の通信制御を行なうツールです。
単独でも動かせるんだけど、daemontoolsと一種にインストールする事で、
tcpserver自体の起動・停止等もdaemontoolsで自動管理できます。


[daemontools]
daemontoolsのインストールで注意することは、以下の2点。

1) command と compile というディレクトリがあったら削除しておく

コンパイルの結果作成されるオブジェクトがこの2つのディレクトリに
作成されます。もし作成されたオブジェクトが不具合がある時には
、 この2つのディレクトリがあると ./package/compileでコンパイルしても
オブジェクトの実体が存在すると実際に作成されないです。
(実行時のメッセージでも警告とか出ないので、パッと見わかりません。)

2) svscanboot を修正する

daemontoolsでは
  svscan (サービス監視プログラム:いわゆる本体)
  svscanboot (svscanを起動するスクリプト)
  supervise (個々のサービスの起動・停止を受け持つプログラム)
があります。

daemontoolsのコンパイル時にsvscanbootの中に記述されているPATH情報が実際のサーバの
PATHと違っていると動かないので、sedコマンドを使って書き換えを行ないます。

んで、インストール様のシェルスクリプトはこうなります。

./package/compile mkdir /var/service sed 's#/command:##' command/svscanboot\ | sed 's#/command/##'\ | sed 's#:/usr/X11R6/bin##'\ | sed 's#/service#/var/service#g'\ | sed 's#errors: .*$#errors: ..#' > tmp mv tmp command/svscanboot for file in command/* do if ( file ${file} | grep -i 'shell script' ) ; then install -o root -g wheel -m 0755 ${file} /usr/local/bin else install -o root -g wheel -m 0755 -s ${file} /usr/local/bin fi done


4日目に戻る。   6日目に続く。

1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
目次に戻る


Copyright (C) 1997-2013, BIG-server.com. All Rights Reserved.
レンタルサーバー BIG-server.com
Powered By Maido3.com