Cobalt FAQ

ここではユーザーズグループで発見したノウハウ、Cobalt に質問して得られた回答などをまとめていこうと思います。

RaQ2に固有の質問と回答

一般的な質問

機能・トラブル

Qube2, RaQ, RaQ2 で root ユーザで ftp によるファイル転送がしたい。 (Qube2, RaQ2, RaQ)
.forward や /etc/aliases などに "|/usr/local/bin/forward" などとプログラムを書いて実行させようとするとエラーになる。 (RaQ2)
Macintoshの Outlook Express でメイルの受信が出来ません (Qube2, RaQ2)
ファンが壊れました。代用品は買えるでしょうか? (RaQ, RaQ2, RaQ3, RaQ4, RaQXTR, RaQ550)
FTPで登録したファイルの日付が9時間ずれて表示されるのですが。 (RaQ, RaQ2, RaQ3, RaQ4)
RaQ2にパッチを適用したら「Cannot open termcap file」と言われて vi がうまく使えません。 (RaQ2, Qube2)
汎用jpドメインを登録しました。user@domain.jp 宛てのメイルを user@domain.co.jp のユーザに届けたいのですが? (RaQ2, RaQ3, RaQ4)
/etc/aliases を書き換えて newaliases すると newaliases: cannot open /etc/aliases: Group writable file というエラーが出ます。 (RaQ2, RaQ3)
RaQ シリーズにおいて、サイト管理者でログインした時の初期ディレクトリをそのドメインのトップにしたい。 (RaQ2, RaQ3, RaQ4)
RaQ2にパッチを適用したらパスワード変更がうまく効かなくなりました。 (RaQ2)

運用・保守

バックアップファイルを復元せずに展開して中身を確認したい。 (Qube2700, RaQ, Qube2, RaQ2, RaQ3, RaQ4, Qube3, XTR)
パッチなどのパッケージファイルを手作業で展開したい (Qube2700, RaQ, Qube2, RaQ2, RaQ3, RaQ4, Qube3, RaQ550, XTR)

Web管理

Webトップディレクトリはどこですか? (RaQ, RaQ2)
パスワード認証の付いたページを作りたい。 (Qube2, RaQ2, RaQ3, RaQ550)
バーチャルサイトを 32 個以上作ると admin ユーザで ftp して、各サイトの Web ページを更新できなくなりました。 (RaQ, RaQ2, RaQ3, RaQ4)

Linux/プログラミング


一般的な質問

機能・トラブル

Q: Qube2, RaQ, RaQ2 で root ユーザで ftp によるファイル転送がしたい。 (Qube2, RaQ2, RaQ)
root 権限で ftp が可能になると、各種の設定ファイルを見られたり、書き換えられたりしてしまいますので、セキュリティ的にはかなり危険です。 それでも良いと言う方だけ、以下の作業をして下さい。

まず /etc/proftpd.conf にRootLogin onを追加しDefaultRootのadminをrootに変更します。

=RaQ=  9行目付近
DefaultRoot                     / root
DefaultRoot                     ~/../.. Site-adm
DefaultRoot                     ~ !Site-adm
RootLogin on

=RaQ2=  10行目付近
DefaultRoot                     / root
DefaultRoot                     ~/../.. site-adm
DefaultRoot                     ~ !site-adm
RootLogin on

=Qube2= 10行目付近
DefaultRoot                     / root
DefaultRoot                     /home !admin
RootLogin on
続いて /etc/ftpusers に書かれている root という行を削除します。

上記変更追加でRaq, RaQ2, Qube2ともrootでFTPが出来るようになりました。

但しこの作業には root 権限が必要ですので、root ユーザで telnet login して、しかも vi エディタなどで作業する必要があります。ご注意下さい。 (具体的な方法が判らない人はこの作業はしないほうが無難です。)
18 May 1999 松田さんからの情報

Q: .forward や /etc/aliases などに "|/usr/local/bin/forward" などとプログラムを書いて実行させようとするとエラーになる。 (RaQ2)
RaQ2 で普通にプログラムを .forward や /etc/aliases に書いて起動させた 場合、下記のようなエラーが出ます。(以下は FML の例)
   ----- The following addresses had permanent fatal errors -----
:"|/home/ml/test-ml/fml"
    (expanded from: test-ml)
   ----- Transcript of session follows -----
Message delivered to mailing list test-ml
sh: fml not available for sendmail programs
554 :"|/home/ml/test-ml/fml"... Service unavailable
この「not available for sendmail programs」というのは sendmail の エラーメッセージではなく /etc/sendmail.cf 中に指定されている smrsh の吐くメッセージです。これによるセキュリティガードに引っかかって います。
man smrsh をすると判りますが、/usr/adm/sm.bin/ 以下に、実行して良い ラッパープログラムを置かないとだめです。
つまり実行したいプログラムを /usr/adm/sm.bin/ 以下に置けばOKです。
8 Sep 1999

Q: Macintoshの Outlook Express でメイルの受信が出来ません (Qube2, RaQ2)
Qube2 の利用者からの報告によると、Qube2J + Macintosh + Outlook Express の組み合わせで、メイルの受信が出来なくなる場合があるようです。
いくつかの報告は「OS アップデート 3.0 2000年6月30日」をインストール した後から現象が起き、「セキュリティアップデート 3.0.1-6579 2000年8月24」を インストールすると何事もなかったように動作するようになった、とのことです。
原因は追及していませんが、上記の条件に合致するようでしたら一度試して 下さい。
11 Oct. 2000 松尾、大山さんからの情報
また、Mac + Outlook E. の組み合わせでも、IMAP で接続するぶんには正しく 機能するという情報があります。一度 Outlook E. 側の接続設定を IMAP に 変更して試してみると良いでしょう。
5 Nov. 2000 森口さんからの情報

Q: ファンが壊れました。代用品は買えるでしょうか? (RaQ, RaQ2, RaQ3, RaQ4, RaQXTR, RaQ550)
勿論販売店などを通して修理依頼するべきだと思いますが、パーツそのものは 汎用品で代用が可能ですので、腕に覚えのある人は自分で交換可能です。

RaQ, RAQ2  30mm x 30mm  厚さ 10mm 12V
RAQ3, RaQ4 35mm x 35mm  厚さ 10mm 12V
XTR        40mm x 40mm  厚さ 20mm 12V 
550        35mm x 35mm  厚さ 10mm 12V 

RAQ2 用は、CPUクーラー用のファンで代用可能です。
  日本橋 共立テクノベースで、1,100円
RAQ3,4,550 用は、リムーバブルHD用のケースファンがあうようです。
  TOW TOP  FAN-MR39  スペァーFAN  2個 2,980
    Nidec製 D03P-12TL-02 静音ファンも合うようです。
    PC-Success で 1932 円。
XTR 用は、SUNON KD1204PKVX がオリジナルの型番だそうです。
    現在は KDE1204PKVX MS で同仕様のものが入手出来ます。
    株式会社マウビック ( 053-433-1238 ) で購入可能。
    RaQware http://store.raqware.com/ でも買えたとのこと。
との情報を頂きました。
23 Nov. 2000, NEXTREE@西宮 さんからの情報
個人的経験かもしれませんが、私のRaQ2の場合はケースの工作精度がよくない ためか、ファンの留めネジが非常に固かったです。これによる歪みが故障の 原因かも知れないと思い、交換後はネジの本数を減らして固定しています。
23 Nov. 2000, 安田からの情報
シコー技研 0310N-12 DC12V 0.09A 単価 1,100円 が、共立テクノベース 営業所もしくはオフライン(E-mail/FAX)オーダーシート http://www.kyohritsu.com/sales/order-fax.html で入手可能と情報頂きました。上記フォームで注文、即日発送して貰えました。
27 Nov. 2000, 柴田さんからの情報
各モデルのファンが http://www.webhostsupply.com/ から購入できます。
2 Jun. 2003, 武田さんからの情報
XTR ファンの情報をいただきました。
15 Jan. 2004, 野口さん、湯浅さん、小林さんらからの情報
550 ファン交換情報 http://www.intl.chubu.ac.jp/ozeki/diary/MT/archives/000318.html をいただきました。
4 Aug. 2004, 尾関さんからの情報

Q: FTPで登録したファイルの日付が9時間ずれて表示されるのですが。 (RaQ, RaQ2, RaQ3, RaQ4)
この現象はバーチャルホストでだけで発生していると思います。 特にこれが原因でトラブルは起きないと思いますが、 RaQで使っている ftp サーバープログラム、proftpd の設定ファイルを 修正することで対応できます。
但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 しかも vi エディタなどで作業する必要があります。ご注意下さい。 (具体的な方法が判らない人はこの作業はしないほうが無難です。)
原因は proftpd が、バーチャルサイトのファイル時刻を GMT (世界標準時)で 表示するためです。JST (日本標準時)と 9 時間の時差があります。
/etc/proftpd.conf 内に書かれている<VirtualHost xxx.xxx.xxx.xxx>の 部分に TimesGMT off という一行を加えます。
<VirtualHost xxx.xxx.xxx.xxx>

        TimesGMT                off      ←この行を追加
</VirtualHost>
リブートなどは特に必要ありません。 バーチャルサイトの登録などをやり直すと再発する可能性がありますので、 その都度直す必要があります。
20 Feb. 2001, 白川さんからの情報

Q: RaQ2にパッチを適用したら「Cannot open termcap file」と言われて vi がうまく使えません。 (RaQ2, Qube2)
この現象はパッチ適用後に terminfo の場所が変わってしまうために起こります。

(vi のトラブルなので言わずもがなでしょうが、作業にはご注意ください。)

root ユーザで telnet login して、以下のようにシンボリックリンクを張るこ とで解決できるでしょう。
# ln -s /usr/share/terminfo /usr/lib/terminfo
パッチに伴うものなので一過性のトラブルと想像します。
5, April 2001, 小田さんからの情報

Q: 汎用jpドメインを登録しました。user@domain.jp 宛てのメイルを user@domain.co.jp のユーザに届けたいのですが? (RaQ2, RaQ3, RaQ4)
RaQ4 であれば、仮想サイトの設定にある「電子メールサーバの別名」に他の ドメインを指定できますので、そこに domain.jp と指定すればいいでしょう。

それ以外の機種で、もっとも Cobalt 的な方法としては、 単純に domain.jp というドメインを一つ作り、user というユーザを登録して そのメイルの転送先を user@domain.co.jp とすることでしょう。 (勿論 DNS の処置はきちんとしないといけません)

次に、少し手間がかかりますが、/etc/virtusertable をうまく書き換えることで、 うまく対応できますので以下に紹介します。
但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 しかも vi エディタなどで作業する必要があります。ご注意下さい。 (具体的な方法が判らない人はこの作業はしないほうが無難です。)

0. 目標は、一台のマシンで @domain.jp 宛のメイルを @domain.co.jp に
   受け取らせることです。ホストの本名は www.domain.co.jp とします。
1. DNS に domain.jp の MX レコードを www.domain.co.jp となるよう追加。
2. www.domain.co.jp 内の /etc/virtusertable の最下行
   # Put custom additions below (Do not change/remove this line).
   の直下に
   @domain.jp        %1@www.domain.co.jp
   という一行を追加。
3. makemap コマンドで更新を反映。
   # cd /etc
   # makemap hash virtusertable.db < virtusertable
4. これでうまく受け取るようになったと思います。一度動作確認してみましょう。
makemap 作業をするかわりに、管理サイトの作業で何か適当なユーザをひとつ 作ったり削除したりすることによっても virtusertable ファイルの更新が 反映されます。
5, April 2001, 小田さん、陶山さん、伊藤さんらの情報から

Q: /etc/aliases を書き換えて newaliases すると newaliases: cannot open /etc/aliases: Group writable file というエラーが出ます。 (RaQ2, RaQ3)
(aliases ファイルはメイルの転送先を制御する設定ファイルです。 管理ページからの作業で自動的に更新されますが、これを手作業で修正するときの トラブルです。aliases ファイルをいじっている位ですから言わずもがなですが、 作業には気をつけてください。)
/etc/aliases(または/etc/mail/aliases)を変更してnewaliaesを実行すると、 本来は aliases.db ファイルを作ってくれるはずですが、 以下のようなエラーを吐きalises.dbが更新されない場合があります。
newaliases: cannot open /etc/aliases: Group writable file
パーミッションが664になっているのではないでしょうか。 sendmailは、groupにも書き込み権限がある aliases ファイルなどから、 それらの .db を作りません。 しかし、コバルトの場合、root ユーザの umask 値は 002 のため、 デフォルトのパーミッションが664になります。 このため、aliases ファイルのパーミッションが group writable に なったのでしょう。
# chmod 644 /etc/aliases
とした後に newaliases を実行するとよいでしょう。
完全に動作を保証するものではありませんし、ちょっと乱暴ですが、簡単な 予防法としてはrootのumaskを002にするため、
umask 022
という一行を、/root/.profile の末尾に加えるという方法もあります。
8, April 2001, 小田さんからの情報

Q: RaQ シリーズにおいて、サイト管理者でログインした時の初期ディレクトリをそのドメインのトップにしたい。 (RaQ2, RaQ3, RaQ4)
RaQで使っている ftp サーバープログラム、proftpd の設定ファイルを修正することで対応できます。
但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 しかも vi エディタなどで作業する必要があります。ご注意下さい。(具体的な方法 が判らない人はこの作業はしないほうが無難です。)
RaQ シリーズで、サイト管理者が ftp login した場合は、そのサイト管理者の ホームディレクトリが初期ディレクトリとなります。 ftp login の後で二つ上のディレクトリに移動したところが、そのサイトの トップディレクトリです。 普段は二つ上のディレクトリに移動(ftp コマンドで表現すると cd ../../ ) していると思いますが、それを省略するためにはサイト管理者の ftp login ディレクトリの設定が書かれている /etc/proftpd.conf を以下のように変更します。
<VirtualHost xxx.xxx.xxx.xxx>と</VirtualHost>の間に

DefaultChdir            ~/../.. site-adm
を入れます。 これで初期ディレクトリがそのサイトの一番上のディレクトリになります。

17, November 2001 Oda さんからの情報

Q: RaQ2にパッチを適用したらパスワード変更がうまく効かなくなりました。 (RaQ2)
パッチに不具合があったようです。以下の修正を施して下さい。

但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 しかも vi エディタなどで作業する必要があります。ご注意下さい。 (具体的な方法が判らない人はこの作業はしないほうが無難です。)

RaQ2J に siteUserEmail.cgiアップデート 4.0.1-10750 までのパッチを当てると 管理画面からパスワード変更できなくなる問題が出ています。

修正すべきファイル:
    /usr/lib/perl5/site_perl/auto/Cobalt/User/user_mod.al

修正個所(> のついた行を追加):
-----------------------------------------------------------------
    return "4505 名前にコロンを含めることはできません。"
    if ($newdescr =~ /:/o);
    return $return unless (($return = Cobalt::User::lock_passwd()) =~ /^2/o);
>
>   # beware of periods...
>   $name_exp = $name;
>   $name_exp =~ s/\./\\\./g;
>
    # Truncate the GCOS if it's too long
    $newdescr = substr($newdescr,0,$MaxGcosLen) 
-----------------------------------------------------------------
(おまけ)
今回のバグは,ユーザ名にピリオドを含められるように施した 修正が中途半端であったため発生したようです.元のモジュールは きちんと直ってるんですが...
  元のモジュール:
    /usr/lib/perl5/site_perl/Cobalt/User.pm -- きちんと直してある
                ↓ ツールによる自動生成(含む日本語化)
  実際に使われるモジュール:
    /usr/lib/perl5/site_perl/auto/Cobalt/User/user_mod.al
                -- なぜか1ヶ所だけ,修正が反映されていない.

9, July 2003, 田中さんからの情報
http://www.eee.kagoshima-u.ac.jp/~tetsu/

運用・保守

Q: バックアップファイルを復元せずに展開して中身を確認したい。 (Qube2700, RaQ, Qube2, RaQ2, RaQ3, RaQ4, Qube3, XTR)
Cobalt のバックアップファイルは機種によって微妙にフォーマットが異なります。 以下に機種ごとの説明をつけておきます。

但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 作業する必要があります。ご注意下さい。 tar による展開で、どのようなことが起きるのかを把握していない人は この作業はしないほうが無難です。

Qube2700 / RaQ
  zcat -f バックアップファイル名 | tar xvpPf -

Qube2 / RaQ2
  sed -e '1,/^%%END_INDEX/d' バックアップファイル名 | zcat -f | tar xvpPf -

RaQ3 / RaQ4
  sed -e '1,/^%%END_XML/d' バックアップファイル名 | zcat -f | tar tvpPf -

  (ただし RaQ3 はユーザ管理に PostgreSQL を使っていますから、手作業で
   復元する場合は 
      /etc/rc.d/init.d/crond stop
      /etc/rc.d/init.d/postgresql stop
    などをしてからファイルを上書きする必要があります。)

XTR
  zcat -f バックアップアーカイブ名 | tar tvpPf -

  (XTR では仮想サイトのバックアップしかできません。念のため。)

Qube3
  (元から単なる tar 型式でバックアップファイルが作られると思い
    ますので特に説明しなくてもいいですよね?)

11 July. 2002 日商エレクトロニクス、T、武田、はたやま、堀池さんたちからの情報

Q: パッチなどのパッケージファイルを手作業で展開したい (Qube2700, RaQ, Qube2, RaQ2, RaQ3, RaQ4, Qube3, RaQ550, XTR)
Qube3,RaQ550 の Sausalito アーキテクチャ及び XTR と、それら以前の機種ではパッチなどに使われている Cobalt パッケージファイルのフォーマットが異なります。 以下に機種ごとに操作方法をつけておきます。

但しその作業には root 権限が必要ですので、root ユーザで telnet login して、 作業する必要があります。ご注意下さい。 tar による展開で、どのようなことが起きるのかを把握していない人は この作業はしないほうが無難です。

(1) Qube2700からRaQ4までの機種について

tar+gz で RPM ファイルやインストールスクリプトをまとめた形になって
います。

RaQ4-All-System-2.0.1-13993.pkg の場合

展開
tar zxvf RaQ4-All-System-2.0.1-13993.pkg


(2) XTR及びQube3,RaQ550 (と恐らくはそれ以降)の機種について

gpg で署名されているので中身を確認するには下記の手順で展開を行なう

Qube3-ja-Update-1.0.pkg の場合

署名の確認
gpg --verify Qube3-ja-Update-1.0.pkg

展開
gpg --decrypt Qube3-ja-Update-1.0.pkg | tar zxvf -
または
gpg --decrypt --output Qube3-ja-Update-1.0.tgz Qube3-ja-Update-1.0.pkg
tar zxvf Qube3-ja-Update-1.0.tgz

11 July. 2002 はたやまさんからの情報

Web管理

Q: Webトップディレクトリはどこですか? (RaQ, RaQ2)
/home/sites/ 以下にドメインごとにディレクトリが用意されています。 /home/sites/hostname/web が、http://hostname.dom/ でアクセスされるディレクトリに相当します。 仮想ホストを使っていない場合は /home/sites/home/web です。

トップページの内容を更新するには、ここの index.html を書き換えてください。 オリジナルの index.html は、以下のように管理ページである http://hostname.dom/cobalt/ への即移動指示が書かれているだけのものです。

<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=/cobalt/" >
</HEAD>
</HTML>
トップページを置き換えた後で管理ページを見る場合は、 http://hostname.dom/cobalt/ (RaQ2の場合は /admin/ ) にアクセスして下さい。
仮想サイト(バーチャルドメイン)を立ち上げてる場合 /home/sites/仮想サイト名の頭12文字/ が、http://virtual-site.dom/ でアクセスされるディレクトリに相当します。
8 Feb. 1999

Q: パスワード認証の付いたページを作りたい。 (Qube2, RaQ2, RaQ3, RaQ550)
パスワードによる保護はディレクトリ単位で掛かります。保護したい Web ディレクトリ以下に、.htaccess という名前で(ファイル名先頭の . (ドット) を忘れずに)下記のような内容のファイルを作ります。 このサーバに登録されたユーザのうち、require で指定されたユーザ名だけが、 このページを見ることが出来るようになるでしょう。 この時のパスワードは、このサーバのパスワードと同じものです。
AuthName "Limited page for member."
AuthType Basic
<Limit GET>
        require user sample
</Limit>
もしも、登録ユーザ以外の人に、ユーザ名とパスワードで限定されたページを 提供したい場合は、.htaccess の名前を下記のようにします。
(AuthPAM_Enabled offに注目してください。RaQ550 ではこの行は不要です。)
AuthUserFile /home/sites/home/users/foo/password1.dat
AuthGroupFile /dev/null
AuthName "Limited page for member."
AuthType Basic
AuthPAM_Enabled off
<Limit GET>
        require user sample
</Limit>
AuthUserFile に指定されたファイルには、限定するユーザ名とパスワードの列を 登録します。ここに登録されたユーザ名とパスワードの組み合わせを知っている 人だけが、アクセス出来るようになります。
例えば上の例だと、passwrod1.dat ファイルの中身は、
sample:PfyJ0.mjA.LQI
Yasu:bSm6OpAYUIIao
というようになります。(試しにユーザが二つ登録されています。そのうち 上の例の .htaccess では sample ユーザだけがアクセス可能になります。)
このファイルを作るツールはいろいろあると思いますが、とりあえず Cobalt に telnet login できる人なら、htpasswd コマンドがあります。 (但し古い機種である Qube2700, RaQ には htpasswd コマンドがありません。)
最初に password1.dat という名前のパスワードファイルを、sample という 名前のユーザだけで作成する場合は、
% htpasswd -c password1.dat sample
などとします。既にパスワードファイルに登録されているユーザのパスワードを 変える場合、または既存のファイルにユーザを追加する場合は、-c オプションを 抜いて、
% htpasswd password1.dat sample
のようにします。

17 Jun. 2000 安田、渋谷さんからの情報

RaQ550 ではデフォルトでは PAM 認証モジュールが入っていないため、 AuthPAM_Enabled on/off の記述があるとエラーが出ます。 550 についてはこの行は書かないで下さい。 (httpd.confでコメントアウトされています)

25 Jun. 2003 奥野さんからの情報

Q: バーチャルサイトを 32 個以上作ると admin ユーザで ftp して、各サイトの Web ページを更新できなくなりました。 (RaQ, RaQ2, RaQ3, RaQ4)
RaQで32を越えた数のバーチャルサイトを作ると、それ以降はadminユーザーで 各バーチャルサイトの Web ディレクトリに対してFTPできなくなる不具合が 有ります。との投稿がありました。どうやらこれはLinuxの仕様とRaQの 管理の仕組みが絡んだ問題のようです。
Linuxの場合、普通はgroupに所属できる最大値が32に設定されているため、 それを越えたgroupには所属していない扱いになり、自分自身のアクセス権があ るはずのディレクトリでも、32を越えたgroup属性でのチェックができなくなり ます。これと、RaQのadminが多く(バーチャルサイトの数だけ)のグループに属する ユーザになってしまうという事情が重なって、結果的にadminユーザで 仮想サイトのWebディレクトリにftpできなくなってしまいます。
参考:/usr/include/linux/limits.h の NGROUPS_MAX を参照
仮想サイトのWebディレクトリには、バーチャルサイト毎に用意されている サイト管理ユーザーを使ってFTPできるのですが、やはりこれはCobalt社 からのアップデートを期待したいところです。

20 Sep. 2000

Linux/プログラミング


This page is administrated by
Cobalt Users Group. (usersgroup@cobaltqube.org)
All rights are reserved.
[BACK]