CentOS の事、或はその QuickMLサービス
ちょっと CentOS release 5.3 (Final) に QuickMLサービスを動かすことになった。
CentOS雑感
サービス管理
「sudo /sbin/chkconfig --list」で、登録されてるサービスと夫々のランレベルごとの稼動設定。
「sudo /usr/sbin/ntsysv」で、サービスが現に稼動してるかどうかと on/off。
「 sudo /sbin/service <サービス名> <コマンド>」でサービス個別の start|stop等(<コマンド>)、/etc/ini.d/スクリプトを直接動かすのと同義のようだけど、サービス全部を統一的に動かせるのは良いかも。
例えば quickmlサービス用の /etc/ini.d/スクリプト quickml を用意しておくとして、中に
# chkconfig: 345 98 02 # description: quickml server is a very-easy-to-user mailing list server.
とか書いておくとこれら RedHat系のサービス管理に載せてくことができる。
「sudo /sbin/chkconfig --add quickml」にて。345 は稼動させるランレベル、まあこんなものでしょう、98 02 は rc#.d での起動順、かなり後ろの方にしている。
メールサービス
CentOSデフォルトのメールサービスは Sendmail、とはいえ Postfix や Exim も簡単に使えるようになってる。
Sendmail の設定がよく分からなかったので、Postfix に切り替える。「sudo /usr/sbin/system-switch-mail」で選択、system-switch-mail は sbin だけじゃなくて bin にもあるんだけど何なのかな。
QuickML
CentOS 5.3 で Ruby は「ruby 1.8.5 (2006-08-25) [i386-linux]」、irbその他もパッケージで。gemは RubyForge から(http://rubyforge.org/projects/rubygems/)、そして「sudo ruby setup.rb」。「gem --version」=> 1.3.4
とはいえ、QuickML は yumパッケージにも gemパッケージにもなってないので本家(QuickML.COM: ようこそ)から。
ダウンロード: quickml server: an easy-to-use mailing list system
そして
$ ./configure $ make $ sudo make install
quickml
ものとしてこれくらいということでいいのかな
/usr/lib/ruby/site_ruby/1.8/quickml /usr/lib/ruby/site_ruby/1.8/quickml.rb /usr/lib/ruby/site_ruby/1.8/quickml/config.rb /usr/lib/ruby/site_ruby/1.8/quickml/core.rb /usr/lib/ruby/site_ruby/1.8/quickml/gettext.rb /usr/lib/ruby/site_ruby/1.8/quickml/logger.rb /usr/lib/ruby/site_ruby/1.8/quickml/mail.rb /usr/lib/ruby/site_ruby/1.8/quickml/server.rb /usr/lib/ruby/site_ruby/1.8/quickml/sweeper.rb /usr/lib/ruby/site_ruby/1.8/quickml/utils.rb /usr/lib/ruby/site_ruby/1.8/quickml/version.rb /usr/local/bin/quickml-analog /usr/local/etc/quickmlrc.sample /usr/local/sbin/quickml /usr/local/sbin/quickml-ctl /usr/local/var/quickml
サービス制御スクリプト
quickml の /etc/init.d/スクリプトとしては、quickml-ctl を使っても良いのだけど、ロックファイルを作らないとか、だから2重起動をチェックしないとか、ちょっと気になるところもあり、昔改造したのを見つけて来れたのでその辺で。上記 RedHat系サービス管理の記述も含め。status サブコマンド対応させてないの許して。
#! /bin/sh # RedHat init.d script for Quic-ML # 2003/12/24 HShimura (hs9587) # $Id: quickml,v 1.8 2003/12/26 11:06:35 shimura Exp $ # $Name: $ # # Add chkcpmfig: line by HShimura 2006/8/21 # chkconfig: 345 98 02 # description: quickml server is a very-easy-to-user mailing list server. # # cp quickml-ctl and /var/lock/subsys/quickml, rm /var/run/quickml.pid start() { echo -n "Starting QuickML services: " /usr/local/sbin/quickml touch /var/lock/subsys/quickml echo } stop() { echo -n "Stopping QuickML services: " kill `cat /var/run/quickml.pid` rm -f /var/run/quickml.pid rm -f /var/lock/subsys/quickml echo } already() { echo -n "QuickML is already running." echo exit 1 } case "$1" in start) if [ -f /var/lock/subsys/quickml ]; then already else start fi ;; stop) stop ;; restart) stop sleep 1 start ;; *) echo "Usage: quickml {start|stop|restart}" exit 1 esac exit 0
調整
メールサービスの詳細設定を書いてもしょうがないので概略だけ
なんかこれだけでは実際どうしたもんか全然分からないですね。
概ね http://yamashita.dyndns.org/blog/245/ こんな感じ