IT MEMO

WindowsでのMT-4のインストール

DB::mysqlモジュールが見つからないとエラーになる。このDB::mysqlがうまくインストール
できないので、SQLiteのDBを使い、MT-4を動作できた。
LinuxマシンにもSQLiteのDBを使い、MT-4を動かそうとしたが、なかなか上手くいかなかった。
原因は、DBへの書き込み禁止になっていたことであった。


Debian Proftpd が立ち上がらない

inetd とxinetdが競合したためか?

写真集の作成

zphoto -o flowercenter --photo-width=800 --gamma 1.25 --title '大船フラワーセンタの花' ~/fcenter/*.JPG

Proftpdの設定

(1) [/etc/xinetd.d/ftp]
------------------------------------------------
# default: off 
# description: Proftpd
# securlevel: 30
service ftp
{       
        disable = no    
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/local/sbin/in.proftpd
}
------------------------------------------------
(2) [/usr/local/etc/proftpd/proftpd.conf]
--------------------------
ServerType     inetd
--------------------------


Reverse Proxy(Portfoward)

ようやく、自作のLinux ルータで、portfowardができるようになりました。

#!/bin/sh
DAEMON=/usr/bin/redir
test -x $DAEMON || exit 0
case "$1" in
  start)
    echo -n "Start redir:"
    $DAEMON --lport=80 --cport=80 --caddr=192.168.0.100 --syslog &
    echo "."
    ;;
  stop)
    echo -n "Stop redir:"
    kill -9 `ps ax | grep redir | awk '$6=="--lport=25"{print $1}' `
    echo "."
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop}"
    exit 1
    ;;
esac
http://www.linux.org/apps/AppId_865.html

Redir is a port redirector. Its functionality basically consists of the ability to listen for TCP connections on a given port, and, when it recieves a connection, to then connect to a given destination address/port, and pass data between them. It finds most of its applications in traversing firewalls, but, of course, there are other uses. It can run under inetd or stand alone (in which case it handles multiple connections). It is 8 bit clean, not limited to line mode, is small and light.

メールの転送

postfix で、main.cfに

virtual_alias_maps = regexp:/etc/postfix/virtualdata
を追加し、virtualdataに以下のように記述すると

abc.xxxxあてのメールはxyz@yahoo.co.jpに転送される。

/^abc\.(.*)@/ xyz@yahoo.co.jp

メールサーバのプロキシ接続

外向きメールサーバから内部メールサーバーに転送する方法

main.cfで、

transport_maps=hash:/etc/postfix/transport

transportの内容

hoge.jp smtp:[xxx.xxx.xxx.xxx]

.hoge.jp smtp:[xxx.xxx.xxx.xxx]

このファイルをDB化する。

postmap /etc/postfix/transport

XML-RPCとは

Webサービスの原点であるXML-RPCについて、調査し、各種の言語でのサンプル を紹介します。
XML-RPCは、1999年に、USERLANDで開発されたもので、XML言語とRPCを巧妙に 組み合わせ、CGIよりも汎用性のあるしくみでる。その後、IBM,Apche ORG で、SOAPに引き継がれました。

Expat

EXPATは、C言語で、最初に開発されたXML処理ツールです。ApacheのWebサーバにも最近 組み込まれています。JavaのXercesや、Perlなどにも組み込まれています。

文字コード変換

SMBで、LinuxマシンとWindows間で、ファイル交換が容易にできます。ただ、改行の変換が いまのところうまくいきません。下記のようにして変換しています。
 perl -pe 's/\r\n/\n/'  Windows file > Linux file

 perl -pe 's/\n/\r\n/' Linux file > Windows file

Debian Linuxのクーロン

Debian Linuxのcronはcrondがありません。?????cronがデーモンのようです。 試行錯誤しているうちに、cronが2個runしており、adslを自動起動するcrontabを 作成しましたが、うまくいきません。

そこで、/var/run/のcrond.pidとcrond.rebotを削除し、2個のcronをkillしました。
そして、/etc/rc0.dのクーロンの起動パラメータ(Usage: /etc/init.d/cron start|stop|restart|reload|force-reload)を使い、/etc/crontabに直接、 adslの自動起動パラメータを書くとうまくいきました。なお、adslは、午後6時にスタートし、 朝、7時にストップするようにしています。

Windowsのログイン名を取得する

http://www.namazu.org/~tsuchiya/perl/Fork.html を参考にしました。

#!/usr/bin/perl
use Fork;
$ip=shift;
$p=new Fork("nmblookup -A $ip");
while( $_ = $p->getline ){
     if(/<03>/) {$data=$_;}
 }
$data =~ s/\t//;
($name,$tmp)=split(/ /,$data);
print "$name \n";

ipchains

/etc/ppp/firewall-masq