ホーム » コンピュータ » Linux (ページ 46)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

KDE 4 で色々変わりすぎ…

Debian の update をかけていたら、testing では、KDE が 4 ベースになって、 総入れ替え状態。色々パッケージ削除やら大量のインストールを不気味に 思いながらも、自宅マシンだしお構いなしに、インストール。 すると、画面構成がまるっきり変わってしまった。 KDE 3.5 → 4 でここまでインタフェースが変わるとは思わなかった…

WebDAVの微妙な設定トラブル

自宅サーバのデータをWebDAVで公開すべく、設定で起こったトラブルのメモ。

以前から一部でWebDAVを使っていて問題がでていなかったのに、 Windows マシンから、「ネットワークプレースの追加」によりWebフォルダとして アクセスしようとすると、「有効なフォルダがない」と表示されてしまう。

いろいろ調べると、フォルダ指定で末尾に"/"がついているか/付いていないかで、 動かなかったりする。

((webDAVの設定行のダメな例))
Alias /path/ /var/www/hoge/path/
<Location /path/>
:
</Location>
((ネットワークプレースのアドレス指定のダメな例))
http://www.example.com/path/
★ともかく、フォルダ名の末尾に"/"をつけない!!
((webDAVの設定行の正しい例))
Alias /path /var/www/hoge/path
<Location /path>
:
</Location>
((ネットワークプレースのアドレス指定の正しい例))
http://www.example.com/path

言い訳:ブラウザでは、"http://www.example.com/path"と書いてあると、 path がファイルなのかフォルダなのかは、アクセスしてみないとわからない。 だから一旦ファイルのつもりでアクセスして、サーバからの返答に応じて 再びフォルダとして2度目のアクセスを行う。 このため、他人にURLを知らせる場合、 "http://www.example.com/path/"で教える方が、2度目のアクセスが発生しないので、親切。

だから、この習慣に従って、設定ファイルの記述でpath 指定に"/"を付けてしまうことが多い。 実際、自分でファイルをアクセスするプログラムを作る時にも、 設定ファイルの設定値の末尾が"/"付きか無か、付いてたら"/"を消すとかいった処理を 面倒がらずに書くのが「本当のプログラマー」…といいながらよく忘れる…

肝心な時に役にたっていないWeb FAX

最近、職場のFAXとして使っている複合機が、寿命なのか動かない。 んで、こういう時に限って、メールを使いなれない人から「FAXで…」と 頼まれる。 んで、自宅サーバにてWebから文字FAXを送れるように してあるから、それを使って仕事のメールを送信….

しかし、相手先より「読めなぃ…」との連絡。 また、文字化けしているみたい。 サーバの GhostScript のアップデートをかけたことで、 文字コード変換に失敗していた様子….

# 帰ったら、また設定見直さないと….
# 最近は、自宅でサーバより印刷なんてしないから、
# GhostScript の設定が壊れているのに気づかないんだな…

追記:ghostscriptの日本語対応 [Debian] SidでGhostscriptを参考に設定を追加し、 ひとまずghostscriptで日本語が使えるようになった。

ln -s /var/lib/defoma/gs.d/dirs/CMap \
/usr/share/ghostscript/8.64/Resource/
ln -s /var/lib/defoma/gs.d/dirs/fonts/cidfmap \
~/.fonts/

usbmount

USBを刺すだけで自動認識してmountしてくれる。

Windows ならあたりまえなんだろうけど…

MovableTypeのスタイルシートが読めなくなった

色々とMovableTypeの設定を触っていたら、スタイルシートが読めなくなったのか、 レイアウトが崩れてしまった。その割に、設定の見直しと思って作業を始めると まともに表示される…といった変な状態。

よくよく調べてみると、mt-config.cgi の設定で、CGIPathあたりの設定で、 「おれおれ認証」になっているhttpsの設定を記述したことが原因。 こうしちゃうと、httpで日記を読むと、部分的にhttpsが混ざってしまい (今回は特にスタイルシートにhttpsが混ざってしまった)、 セキュリティ問題の危険性よりブラウザが、ページ読み込みをしなかったのが原因。

『表示が変になる例』
((/etc/movabletype-opensource/mt-config.cgi))
CGIPath https://tsaitoh.net/cgi-bin/movabletype/
StaticWebPath https://tsaitoh.net/mt-static/

かといって、MovableTypeの設定ページをアクセスするときの認証で、 単純なhttpだけなのは、不安。 といってもオレオレ証明じゃない、まともな認証を使うのはプライベートじゃ無駄。

ということで、CGIPathには、/cgi-bin/movabletype/ で設定し、httpとhttpsを 使い分ける方が、確実に運用できる。

LEDバッジをLinuxで…

以前、購入していたLEDバッジであるが、活用できずにいたけど、ふとサーバに届くメールの簡易表示に 使えないかと再び情報を調べたら、それっぽい情報が見つかる。

しかし、スペイン語なんだなぁ….

こういうシリアルデバイスの解析に便利そうなソフト

procmailで既読メールに振り分け

procmail のレシピで、常習犯のSPAMを消し、

次に、SpamAssassinで、それをかいくぐったものを振り分けして、
次に、その残りをThunderbird により、最終振り分けすることで、
ほぼ迷惑メールは振り分けができてい。
しかし、Thunderbird起動時に、SpamAssassin が振り分けした
フォルダ内を、Thunderbird が再びスキャンするもんだから、
SpamAssassin で振り分けしたものと、Thunderbird が振り分け
したものが混ざってしまい、めんどくさい。
をそのまま使って、振り分け処理を書き換えた。
でも、procmaillのテクニックが分かり難く、導入するまでにマニュアルを
何度も読み直す。
≪$HOME/.procmailrc≫
# SpamAssassin と URIRBL のどちらかでSPAM判定されたら、別処理
:0
* 9876543210^0 ^X-Spam-Status: Yes
* 9876543210^0 ^X-URIRBL: Yes
{
    # SPAM判定を、INBOX/Spam/SpamAssassinに格納、copyで次の処理を継続
    :0c
    Maildir/.Spam.SpamAssassin/
    # ファイル名末尾の「/以降」を$tailに覚えておく
    :0
    * LASTFOLDER ?? /\/[^/]+$
    { tail=$MATCH }
    # procmail処理終了後処理で cur に移動、ファイル末尾に
# 既読マーク":2,S"をつける
    TRAP="/bin/mv $LASTFOLDER
Maildir/.Spam.SpamAssassin/cur/$tail:2,S"
    # ホスト名の環境変数を消す(いまだにこれが必要な理由がわからん)
    HOST
}

MyDNS.jp に移行

3domain.hk の停止予告に伴い、Dynamic DNS の管理を MyDNS.JP に移行した。

≪/..path../mydns-jp.sh≫
#!/bin/bash
# "chmod 711 mydns.jp" にて、ひとまず見えないように...
# MyDNS.JP にて発行された情報
USER=hogehoge
PASS=fugafuga
# アドレスの更新
if [ -x /usr/bin/wget ]; then
/usr/bin/wget --no-proxy \
--http-user="$USER" --http-passwd="$PASS" \
-O /dev/null -q http://www.mydns.jp/login.html
fi
この後、
  • さくらインターネットに登録してある、tsaitoh.net の DNS サーバの設定を変更
  • DNSサーバの稼働チェックの nagios の設定を変更

などの設定を加える。最後に、以下のコマンドで正しく引けていることを確認。

$ dig @dns1.ttn.ne.jp tsaitoh.net

movabletype-opensource でコメント認証メールの文字化け

MovableType に移行後、それなりに以前と同じような使い方になってきた。

しかし、ブログへのコメントの認証メールが文字化けして読めない。
メールのソースを見ると文字コードが変。
≪$MT/Mail.pm≫
 my $mgr = MT->config;
 my $xfer = $mgr->MailTransfer;
 my $enc = $mgr->PublishCharset;
 my $mail_enc = uc ($mgr->MailEncoding || $enc);
を見ると、MailEncoding なる設定値を参照している様子。
Debian の movabletype-opensource は、メンテナーは日本じゃないし、
さっそく、
≪/etc/movabletype-opensource/mt-config.cgi≫
MailEncoding ISO-2022-JP
EmailReplyTo 1
の設定を追加する。

movabletype 移行に伴い、記事サマリ収集プログラムの修正

movabletype に変更して、自宅サイトのトップの記事サマリが実態にあわなくなった。

自動生成されている Atom 形式の RSS フィードを、マージするプログラムを作り、
その処理に、記事サマリを HTML 化したものを出力するように変更する。
#!/usr/bin/perl
use Jcode ;
use XML::TreePP ;
use XML::FeedPP ;
use POSIX qw( strftime ) ;
# 新規に生成するRSSフィード
$rss_atom = "/var/www/system/atom.xml" ;
# RSSフィードをHTML形式でも作成(トップページ用)
$rss_html = "/var/www/system/rss.html" ;
# RSSフィードを探すユーザ一覧
@local_rss_uid = ( "ユーザ名" ) ;
my $feed = XML::FeedPP::Atom->new();
$feed->merge( "/var/www/system/rss.xml" ) ;
# 自宅 MovableType の RSS Feed をマージ
foreach $uid ( @local_rss_uid ) {
  if ( -f "/home/$uid/public_html/mt/atom.xml" ) {
    $feed->merge( "/home/$uid/public_html/mt/atom.xml" ) ;
  }
}
# RSS Feed に全体情報を設定
$feed->title( Jcode->new( "tsaitoh.net全体のRSSフィード" )->utf8 ) ;
$feed->pubDate( time() ) ;
# フィード一覧をHTMLで生成
open( HTML , ">$rss_html" ) ;
print HTML "<ul>\n" ;
foreach my $item ( sort( $feed->get_item() ) ) {
  if ( $item->title() ne "" ) {
    my $date = strftime( "%m/%d" ,
                         localtime( XML::FeedPP::Util::get_epoch( $item->pubDate() ) ) ) ;
    print HTML "<li>$date <a href=\"".$item->link()."\" target=\"_top\">"
      .Jcode->new( do htmlspecialchars( $item->title() ) )->euc ."</a></li>\n" ;
  }
}
print HTML "</ul>\n" ;
close( HTML ) ;
$feed->to_file( $rss_atom ) ;

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報