2008/12/22(月)logrotate

放置するにはいやなサイズになってきたのでlogrotateするようにしました。というか、logrotateは動いているのですが、標準で入る設定にミスがあるためrotateしていませんでした。*1

*1 : きちんとライセンス買ってればアップデートされているかもしれませんが、体験版的な状態で動かし続けてるものですから...

問題点

/var/log/cron の設定が2カ所あること。
/etc/logrotate.d/cron/var/log/cronの設定しているのに、/etc/logrotate.d/syslogでも同じようにrotateしようとしているためエラーでsyslogの設定がskipされています。

対策

/etc/logrotate.d/syslogから/var/log/cronを消してしまう。

rotateの確認をするなら /var/lib/logrotate.status/var/log/messages の行のタイムスタンプを1週間以上前にして /etc/cron.dairy/logrotate を実行する。
正しければrotateされています。

参考

http://www.turbolinux.co.jp/products/server/11s/user_guide/x12166.html

検索用

[logrotate] [Turbo Linux 11 Server] [/var/log/messages]

2008/11/08(土)プリンタの設定

半日かけてプリンタの設定.思ったよりも時間がかかった.
後半の方適当に書いてるので間違ってたらごめんなさい.

ドライバのインストール

Canon ソフトウェアダウンロード LinuxからLISP IV用のドライバを落としてくる.
あとは,rpmでインストール...の予定でした.が見事に依存関係でエラーでまくり.
何をどの順番で入れたか忘れたけど,どこぞのアップデートサイトからsrcを落として--rebuildしてインストール.

atk-1.17.0-2.src.rpm
cairo-1.4.10-3.src.rpm
cndrvcups-common-1.70-1.i386.rpm
cndrvcups-lips4-1.70-1.i386.rpm
gtk2-2.10.14-3.src.rpm
libXcursor-1.1.8-3.src.rpm
libXext-1.0.1-2.src.rpm
libXfixes-4.0.3-2.src.rpm
libXft-2.1.12-1.src.rpm
libXi-1.0.4-2.src.rpm
libXinerama-1.0.2-2.src.rpm
libXrandr-1.2.0-2.src.rpm
libXrender-0.9.2-1.src.rpm
libpixman-0.9.4-1.src.rpm
libtiff-3.8.2-1.src.rpm
pango-1.16.4-2.src.rpm
xorg-x11-util-macros-1.1.5-1.src.rpm
xorg-x11-xtrans-devel-1.0.3-1.src.rpm

CPUSの起動

/etc/cups/cupsd.confを編集し,192.168.100.254:631もサーバを開くようにして,192.168.100.0/24からのアクセスを許可
あとは,https://192.168.100.254:631/からプリンタの設定
適当にテスト印刷して出てくればOK

デバイスでパラレルポートが見えないときは

プリンタの追加時にパラレルポート(LPT #1)が見えない時は,ローカルプリンタが共有されてない可能性があります.とりあえず,CPUSのサーバの管理で"このシステムに接続されている公開済みプリンタを共有"してください

それでも見えない

lp0がparallel0とくっついてない可能性大です.

# modprove lp

で初期化しておきましょう.

プリンタのモデルが不明

PPDファイルは rpm により /usr/share/cups/model にインストールされます.ここで適切な名前を調べておくか,ファイルを適当にコピーしておきプリンタのインストール時にアップロードしてしまうのが早いです.
見れば分かるけど,LBP-2510の場合は /usr/share/cups/model/CNCUPSLBP2510LJ.ppd

windowsから

Canon ソフトウェアダウンロードからinf版をダウンロードして展開しておく.

sambaで共有する場合

samba上からプリンタダブルクリックでインストール開始.
途中プリンタドライバの指定で,ファイル使用 -> さっき落としてきたLISP4フォルダ -> OS -> CNL40J.INFを選択し,使いたいプリンタを指定.

HTTPでネットワーク印刷する場合

サーバでoctet-streamを印刷するように指定しておく必要があります./etc/cups/mime.convsを開き,最後の方にある

# application/octet-stream        application/vnd.cups-raw        0       -

#を外して,CUPS再起動.

プリンタの追加ウィザードでインターネット上のプリンタを指定.場所は先ほどのCUPSのプリンタのアドレス.
CUPSでプリンタのアドレスがhttps://192.168.100.254/printers/lbp2510ならば,http://192.168.100.254/printers/lbp2510です((https -> httpに注意)).
あとは適当に選択.

検索用

[Linux] [CUPS] [LBP-2510] [LBP5500] [CANON] [TURBO LINUX SERVER 11]

2008/09/24(水)Linux標準教科書

LPI JapanがLinux勉強用に作成したテキストです。
今月16日あたりにVer.1.0が公開になってます。
Linux標準教科書

学生に読ませようかと思ってるのですが、いかんせん量が多すぎる。通年で勉強させるにはちょうどいいけど、即効性を求めることができない。必要な部分を抜き出して読ませておいて、あとは辞書的に使わせようかな。

2008/09/13(土)ImageMagick

テスト用サーバにPerlMagickが入ってなかった...
どうりでサムネイルが作られないはずだ

$ wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
$ tar xvzf ImageMagick.tar.gz
$ cd ImageMagick-6.x.x
$ ./configure --with-perl
$ make
# make install

2008/08/09(土)[rpm] パッケージの作成

rpmでパッケージをアップデートしたいのに,rpmが配布されていなかったので仕方なくソースからrpmを作った.

specファイルとインストールしたいソフトのソースファイルを用意する.
specファイルを自分で書くのが面倒なら,利用しているディストリビューションのsrc.rpmを落としてくると楽.

rpmは/var/src/rpmの下で作成する.
SPECにコンパイルなどの情報を書いたspecファイル,SOURCEに実際にコンパイルされるソースファイル,RPM/xxxに作成されたrpmファイルが入る.

# wget http://foo.com/xyz.tar.bz2
# mv xyz.tar.bz2 /var/src/rpm/SOURCE
# wget http://bar.com/SRPM/xyz.src.rpm
# rpm -i xyz.src.rpm
# cd /var/src/rpm/SPEC
# vi xyz.spec
バージョン情報とかを適当に編集
マイナーバージョンアップ程度ならバージョン情報を書き換えるだけで通ることが多い
# rpmbuild -bb xyz.spec
... たらたらとコンパイルが始まる
# cd /var/src/rpm/RPMS/i686/
# rpm -Uvh xyz.rpm

以上

rpmbuild

rpmファイルを作るためのソフト.

  • bの後ろに指定する文字によって,パッケージのコンパイル,作成,インストールなどを指定できる.

rpmbuild

以下検索用

[rpm] [srpm] [rpmbuild] [rebuild] [ソース] [パッケージ] [作成] [SPEC]

2008/07/26(土)[postfix] 拡張アドレス

ユーザ名の後ろに何か付けたアドレスを使いたい場合
/etc/postfix/main.cf

recipient_delimiter = +

を追加すればいいらしい.

+を設定すると,ユーザ名+fooのように+fooが付けられる.
他の記号(-など)にすれば,ユーザ名-fooのように-fooが付けられる.

以下検索用

[postfix] [recipient_delimiter] [拡張アドレス] [ワイルドカード] [エイリアス] [仮想アドレス]

2008/07/15(火)[subversion] インストール

turbolinuxに入れてみた.
aprが無かったので,apacheから落としてきてインストール.

apr

http://apr.apache.org/からapr-1.3.2.tar.gzを落としてインストール.

./configure
make
make install

何も指定しないと,/usr/local/apr/に入ります.

apr-util

aprと同じく,http://apr.apache.org/からapr-util-1.3.2.tar.gzを落としてインストール.

aprのインストールの仕方によりますが,パスの設定が必要な場合もあります.

./configure --with-apr=/usr/local/apr/
make
make install

neon

OPTIONALになってるけどインストール.
http://www.webdav.org/neon/からneon-0.28.2.tar.gzを落としてインストール.

./configure
make
make install

subversion

http://subversion.tigris.org/からsubversion-1.5.0.tar.gzを落としてくる.
あとは,上のライブラリを指定してconfigしてmakeしてinstall

./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr/
make
make install

configure時にBerkeley DB使えってWarning出るけど気にしない.

検索用キーワード

[turbolinux] [turbo linux server 11] [subversion] [svn] [apr] [apr-util]

2008/05/08(木)[debian] qmail + smtp_auth(qmail-vida) + pop3

インストール前に

現在動いているexim4を止めて起動しないようにする.
teapopも一緒に止める.必要ならinetdにHUPシグナルを送って再起動.

# /etc/init.d/exim4 stop
# update-rc.d -f exim4 remove
# /etc/init.d/teapop stop
# update-rc.d -f teapop remove
# vi /etc/inetd.conf
# kill -HUP `ps -C inetd | grep inetd | awk '{print $1;}'`

ダウンロード

ソースを落として解凍.

$ wget http://qmail.org/netqmail-1.06.tar.gz
$ wget http://jaist.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz
$ wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
$ tar xvzf netqmail-1.06.tar.gz
$ tar xvzf qmail-vida-0.53.tar.gz
$ tar xvzf ucspi-tcp-0.88.tar.gz
$ tar xvzf checkpassword-0.90.tar.gz

コンパイル前に

qmail-vidaを解凍して出てきたdoc/install.htmlを参考にしてます.

Makefileの修正とパッチ当て

$ cd qmail-vida-0.53
$ vi Makefile
$ diff Makefile.org Makefile
1c1
< QMAILSRC        = ../qmail-1.03
---
> QMAILSRC        = ../netqmail-1.06
43c43
<       ${PATCH} -p1 < $${here}/patch/qmail.patch
---
>       ${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
$ make patch
$ make copy
$ cd ../checkpassword-0.90
$ patch -p1 < ../netqmail-1.06/other-patches/checkpassword-0.90.errno.patch
$ cd ../ucspi-tcp-0.88/
$ patch -p1 < ../netqmail-1.06/other-patches/ucspi-tcp-0.88.errno.patch

グループとユーザの追加

仮想メールボックスは/var/vboxに置くようにしています.
グループ名,ユーザ名を変更する場合は各パッケージのconf-*を適宜変更します.

# groupadd -g 500 vida
# useradd -d /var/vbox -g vida -u 500 pop 
# useradd -d /var/qmail/authdb -g vida -u 501 -s /bin/false authdb
# useradd -d /var/qmail/qmailu -g vida -u 502 -s /bin/false qmailu

# groupadd -g 501 nofiles
# useradd -g nofiles -u 503 -d /var/qmail/alias alias
# useradd -g nofiles -u 504 -d /var/qmail qmaild
# useradd -g nofiles -u 505 -d /var/qmail qmaill
# useradd -g nofiles -u 506 -d /var/qmail qmailp
# groupadd -g 502 qmail
# useradd -g qmail -u 507 -d /var/qmail qmailq
# useradd -g qmail -u 508 -d /var/qmail qmailr
# useradd -g qmail -u 509 -d /var/qmail qmails

コンパイルとインストール

# cd netqmail-1.06
# make setup check
# cd ../checkpassword-0.90
# make
# make setup check
# cd ../ucspi-tcp-0.88/
# make
# make setup check
# cd ../qmail-vida-0.53/src/vida
# make
# make setup check
# cd ../../
# make install-doc

設定

初期設定

popで平文通すために

# cd netqmail-1.06
# config-fast mail.hoge.com
# /var/qmail/bin/vida-pwdbinit
# vi /usr/local/etc/pop3.rul
# cat /usr/local/etc/pop3.rul
:allow,ALLOWPLAIN="",DOMAINOWNER=""
# tcprules /usr/local/etc/pop3.cdb /usr/local/etc/pop3.tmp < /usr/local/etc/pop3.rul

起動スクリプト

起動のみです.終了部は書いてませんのでだまされないように(汗)

qmail

#!/bin/sh
HOST="hoge.com"
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin

case "$1" in
    start)
        # Start daemons.
        echo "Starting qmail:"
        exec env - PATH="$PATH" qmail-start ./Maildir/ splogger qmail &
        exec env - PATH="$PATH" DOMAINOWNER="pop" \
tcpserver -vHR -l"$HOST" -- 0 587 fixcrio \
qmail-smtpup "$HOST" checkpassword qmail-smtpd 2>&1 | \
splogger smtpd &
        ;;
    stop)
        # Stop daemons.
        ;;
    *)
        echo "Usage: qmail {start}"
        exit 1
esac

exit 0

pop

#!/bin/sh
HOST="hoge.com"
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin

case "$1" in
    start)
        # Start daemons.
        echo "Starting qmail-popd:"
        exec env - PATH="$PATH" DOMAINOWNER="pop" \
tcpserver -vHR -l"$HOST" -x /usr/local/etc/pop3.cdb -- 0 110 \
qmail-popup "$HOST" checkpassword qmail-pop3d Maildir 2>&1 | \
splogger pop3d &
        ;;
    *)
        echo "Usage: pop3 {start}"
        exit 1
esac

exit 0

動作確認

以下はmailtestというユーザを作成してテストしています.

Maildirの作成

$ cd
$ /var/qmail/bin/maildirmake Maildir

パスワードの設定

ここで設定したパスワードをsmtp, pop3で利用します.
例では testpassword というパスワードを設定しています.

$ /var/qmail/bin/vida-passwd
New password: testpassword
Retype new password: testpassword

接続

SMTPから

$ telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.hoge.com ESMTP
EHLO localhost
250-mail.hoge.com
250-AUTH CRAM-MD5
250 8BITMIME
auth cram-md5
334 PDI2NDk2LjEyMTAyNDg1NTJAcGMxNy5tYWViYXNoaS1pdC5vcmc+
bWFpbHRlc3QgOTRkN2QwMzU2ZDgzYjFmYTJjNDc2NTU4Nzg3OTQ3Y2E=
235 ok, go ahead (#2.0.0)
MAIL FROM: mailtest@localhost
250 ok
RCPT TO: mailtest@mail.hoge.com
250 ok
DATA
354 go ahead
Subject: test mail

this is test mail
.
250 ok 1210248605 qp 26499
quit
221 mail.hoge.com
Connection closed by foreign host.

cram-md5の認証に関しては以下のスクリプトを参考にさせて頂きました.
http://nai.homelinux.net/telnet_smtp_auth.html

続いてpop

$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <26541.1210248810@mail.hoge.com>
USER mailtest
+OK
PASS testpassword
+OK
LIST
+OK
1 403
.
RETR 1
+OK
Return-Path: <mailtest@localhost>
Delivered-To: mailtest@mail.hoge.com
Received: (qmail 26499 invoked from network); 8 May 2008 12:09:56 -0000
X-Authentication: mailtest was authenticated by mail.hoge.com
 at  8 May 2008 12:09:56 -0000
Received: from unknown (HELO localhost) (127.0.0.1)
  by mail.hoge.com with SMTP; 8 May 2008 12:09:56 -0000
Subject: test mail

this is test mail

.
quit
+OK
Connection closed by foreign host.

APOP対応なのに使ってないワナ.
とりあえずインストールしてみただけなのでそのうちexim4に戻す予定.