ni kvel

漠然的な Something を Do しちゃうところ。

Archive for 2 月, 2008

proftpd 1.3.1 iconv パッチ

without comments

UTF-8 な日本語ファイルを FFFTP などでみると思いっきり文字化けしてる。
OS からも FFFTP からもやっぱり日本語ファイル名は文字化けなくみたいわけで・・・。

ということで、ProFTPD iconv() 文字コード変換パッチを使用していたのですが、Fedora 8 の ProFTPD の最新 Ver が 1.3.1 になり、1.3.1 では –enable-nls オプションをつけ、proftpd.conf に

UseUTF8 on

をつけたら UTF-8 の文字コードであっても表示はされるのだが、日本語ファイル名は文字化けのまま。
上記サイトの patch を当てようとおもったが、src/netio.c modules/mod_ls.c の部分が変更になっていてそのままでは当てられなくなっているので、patch に記述している分を手動で変更してみた。
変更後、rpmbuild で自分用 RPM を作成しインストール。問題なく UTF-8 な日本語ファイルも FFFTP で表示されますた。

rpmbuild で RPM を作るまでの行程は以下のとおり。

# mkdir /usr/src/redhat
# cd /usr/local/src
# yumdownloader –source proftpd
# rpm -Uvh proftpd-1.3.1-1.fc8.src.rpm
# cd /usr/src/redhat

# cd SPEC
# vi proftpd.spec
※ %configure 部分を以下のように変更
<変更前>
–with-modules=mod_readme:mod_auth_pam:mod_tls \
<変更後>
–with-modules=mod_readme:mod_auth_pam:mod_tls:mod_codeconv:mod_df \

# cd ../SOURCE
# bunzip2 proftpd-1.3.1.tar.bz2 ; tar xvf proftpd-1.3.1.tar
# cp ~/proftpd-1.3.1-iconv.patch ./
# patch -p0 < ./proftpd-1.3.1-iconv.patch
# tar cvf proftpd-1.3.1.tar proftpd-1.3.1 ; bzip2 -z proftpd-1.3.1.tar

# cd ../SPEC
# rpmbuild -bb –target i686 proftpd.spec

# cd ../RPM/i686
# rpm -Uvh proftpd-1.3.1-1.fc8.i686.rpm

これで、あとは proftpd.conf を編集。表示は SJIS 書き込み/読み込みは UTF-8 なので、

CharsetLocal UTF-8
CharsetRemote CP932

を追記。

一応、今回作った SRPM / RPM / patch をおいておきます。お好きにどぞ。

RPM

    proftpd-1.3.1-1.fc8.i686.rpm
    proftpd-ldap-1.3.1-1.fc8.i686.rpm
    proftpd-mysql-1.3.1-1.fc8.i686.rpm
    proftpd-postgresql-1.3.1-1.fc8.i686.rpm

SRPM

    proftpd-1.3.1-1.fc8.src.rpm

patch

    proftpd-1.3.1-iconv.patch.gz

そして、今回 ProFTPD iconv() 文字コード変換パッチ を製作したT.Tsujikawa 氏に感謝。

Written by miroq

2 月 4th, 2008 at 3:43 pm

Posted in Linux, proftpd

Tagged with , ,

proftpd タイムスタンプ 問題

without comments

ファイルを生成したら、9時間の時差が発生している。 proftpd.conf に

TimesGMT off

を設定しても変化はなし、いろいろ調べてみると対処方法が載っていた。
profile.d 内のTZ変数を作成し、そこで調整するとのこと。

# echo ‘export TZ=JST-9′ > /etc/profile.d/tz.sh
# chmod 755 /etc/profile.d/tz.sh
#

これで、OS を再起動後、ffftp などのクライアントでつないでみると正常に JST 表示されておりました。

TimesGMT 項目に関しては、xinetd 上で ProFTPD を起動させると正常に動作するという記事をどこかでみつけたけど、昔 inetd で ProFTPD を起動させていたら、やたら変な動作して落ちたりしていたけど今は昔ってことかな?w
怖くていっつも Standalone にしていますたw

Written by miroq

2 月 4th, 2008 at 1:36 pm

Posted in Linux, proftpd