パスワードを忘れた? アカウント作成
726028 journal

nekoieの日記: publicfileはファイル情報に敗北する。

日記 by nekoie

LAN内での簡易なファイル移動手段として、publicfileを試してみる事にする。

publicfileには、ucspi-tcpとdaemontoolsが必要らしい。
daemontoolsは既に導入済。
まずは、ucspi-tcpを導入する事に。

$ wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ tar xvfz ucspi-tcp-0.88.tar.gz
$ cd ucspi-tcp-0.88
$ make
$ su
# make setup check

以上。
引続き、publicfile。

$ wget ftp://ftp.jp.qmail.org/qmail/publicfile-0.52.tar.gz
$ tar xvfz publicfile-0.52.tar.gz
$ cd publicfile-0.52
$ make
$ su
# make setup check

アカウント作成。

# groupadd pfile
# useradd -g pfile -d / pfile
# useradd -g pfile -d / pfilelog
# vipw

特に問題か無い事を確認。
publicfileのconfigureプログラムを実行。
今回はインストールマニュアル通り、/に直接作成する事にする。

# /usr/local/publicfile/bin/configure pfile pfilelog /public tinymetal 192.168.0.9

とりあえずtcpの80番で既にapacheを動かしているので、publicfileのhttpdは8088番で動かす事に。

# vi /public/httpd/run

exec envuidgid pfile softlimit -o20 -d50000 tcpserver -vDRHl0 -b50 -c100 0 8088 /usr/local/publicfile/bin/httpd /public/file

試しに動かしてみる。

# ln -s /public/httpd /public/ftpd /service

動いてるのを確認。

# netstat -nl

可。

$ w3m http://tinymetal:8088/

404 Nof Found。可。

$ ncftp tinymetal

ログイン可能。ファイルは一つもないものの。

ファイルを置いてみる。

# echo 'boeboe' > /public/file/0/boeboe.txt
# chmod a+r /public/file/0/boeboe.txt

見る。

$ w3m http://tinymetal:8088/

何も無い。autoindex等と言う機能は、djbには無し。ウム。

$ w3m http://tinymetal:8088/boeboe.txt

見事に、boeboeが表示される。
尚、/public/fileの中には0以外に、192.168.0.9とtinymetalというファイルが存在していた。この二つは0へのシンボリックリンク。これを削除し、新たに通常のディレクトリを作成すれば、ヴァーチャルホスト機能となるのであろう。多分。

次。ftp。

$ ncftp tinymetal
# ncftp / > ls

+i769.193139,m1014353975,r,s7, boeboe.txt

ううむ。boeboe.txtはともかく、最初のファイルは何なのだ!?
ncftpがpublicfileのls出力の解析に失敗しているのだろうか。

# ncftp / > bye
$ ftp tinymetal
# ftp> ls

+i769.193139,m1014353975,r,s7, boeboe.txt

矢張り同じである。
とりあえず、もう一つファイルを増やしてみる事にする。

# touch /public/file/0/b

またftpログインを行い、ls。

+i769.193133,m1014354543,r,s0, b
+i769.193139,m1014353975,r,s7, boeboe.txt

増えた。
一番最後のセミコロンの前の文字がファイルサイズだと思われるところから、矢張りlsの出力結果の解析に失敗しているのであろう。
もしかして、日本語で日付をかえしていたりするのであろうか?

# vi /etc/profile

export LANG=C
#export LANG=ja_JP.eucJP
#export LC_CTYPE=ja_JP.eucJP

$ vi .profile

export LANG=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP

# svc -t /service/ftpd

試す。

$ ftp tinymetal
# ftp> ls

+i769.193133,m1014354543,r,s0, b
+i769.193139,m1014353975,r,s7, boeboe.txt

駄目か。
大元のsupervice自体を再起動しないと、superviceから環境変数を引き継いでいたりするのだろうか?
再起動。

しかし、同じ。
ウボア。

anonymous ftpを提供するのに使う事も考えていたのだが、コレでは駄目だ!
‥‥もしかして、日本語なlocaleの環境変数な状態でmakeしたのがまずかったのだろうか。しかし面倒なので今日はここまで。
publicfileも停止させる。

# touch /service/down
# rm /service/ftpd /service/httpd
# svc -x /public/ftpd
# svc -x /public/ftpd/log
# svc -x /public/httpd
# svc -x /public/httpd/log
# svc -d /public/ftpd
# svc -d /public/ftpd/log
# svc -d /public/httpd
# svc -d /public/httpd/log
# rm /service/down

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...