ni kvel

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

Archive for the ‘Linux’ Category

nginx を弄ってみた part.0

without comments

エンジンエックスとよむっぽい。
lighttpd よりも世界シェアは高いとか?ロシア産でロシアのユーザの何十パーセントが使用しているみたい。
ということで、家の鯖にも入れてみようかなと思っています。

nginx の Wiki を見つけたので忘備録もかねて。
http://wiki.codemongers.com/Main

最近ネタの草稿ばかり書いて、全然 blog に公開していない(汗
iSCSI Enterprise Target とか、Intel Atom を使った体験記とか・・・。
というか、もうこの WEB ページが動いている鯖はすでに Atom なんだけど。

Written by miroq

7 月 7th, 2008 at 7:10 pm

Posted in Linux

Tagged with

proftpd 1.3.2rc1 iconv パッチ

without comments

proftpd 1.3.1 に mod_clamav をインストールしようとしたら、rpmbuild 時にエラー発生。
ためしに、パッチを当てたソースから configure を行うも以下のような同様のエラー。

error: Installed (but unpackaged) file(s) found:

調べたら、proftpd.pc というファイルや libsupp.a が新たに生成されていたので、そのインストール先が spec ファイルにねぇということで怒られていました。そこを下のように %files に追加して rpmbuild 完了。

%files
・・・
%{_libdir}/proftpd/libsupp.a
%{_libdir}/pkgconfig/proftpd.pc

.mo .po ファイルも –enable-nls オプションで生成されるけど、nls オプションが微妙だし、–disable-nls にしますた。
ついでに、調べている時に ProFTPD のサイトで 1.3.2rc1 のリリースがあったので、1.3.2rc1 版の iconv パッチを作っておきました。

RPM と SRPM は現在動作確認中です 作成完了しました。mod_clamav / NLSTパッチ付ですが。

Written by miroq

4 月 23rd, 2008 at 2:45 pm

Posted in Linux, proftpd

Tagged with , , ,

proftpd で /var/log/secure にでてくるヤツ

with 2 comments

/sbin/nologin で設定しているユーザが FTP でログインすると /var/log/secure に下のようなメッセージが表示される。
/sbin/nologin で shell を指定していないユーザは下のようなログは表示されない。

Apr 11 15:54:03 orz proftpd[7811]: orz.miroq.info (XXX.XXX.XXX.XXX[XXX.XXX.XXX.XXX]) - USER hoge: Login successful.
Apr 11 15:54:03 orz proftpd[7811]: orz.miroq.info (XXX.XXX.XXX.XXX[XXX.XXX.XXX.XXX]) - Preparing to chroot to directory ‘/home/hoge
Apr 11 15:54:03 orz proftpd: pam_unix(proftpd:session): session opened for user hoge by (uid=0)
Apr 11 15:54:07 orz proftpd[7811]: orz.miroq.info (XXX.XXX.XXX.XXX[XXX.XXX.XXX.XXX]) - FTP session closed.
Apr 11 15:54:07 orz proftpd: pam_env(proftpd:setcred): Unable to open config file: /etc/security/pam_env.conf: No such file or d
irectory
Apr 11 15:54:07 orz proftpd: PAM audit_log_acct_message() failed: Operation not permitted
Apr 11 15:54:07 orz proftpd: pam_unix(proftpd:session): session closed for user hoge

/etc/security/pam_env.conf がねえと思って、ファイルを確認するが余裕で存在している。
/etc/proftpd.conf で設定している項目を確認すると、

AuthOrder mod_auth_pam.c* mod_auth_unix.c

という項目があった。評価が前から(?) なので mod_auth_pam.c の問題なのかな?
ということで、

AuthOrder mod_auth_unix.c

に変更して、proftpd を reload 。ログインしてみると、問題の /var/log/secure に表示はされなくなったけど、pam 周りになにかあったのかなぁ?と疑問。とりあえず表示されていないからいいけど、原因を究明したいところw
上のログから chroot しているので、その配下に pam_env.conf に関する項目のファイルが必要なのかな?
そして(uid=0)という項目も気になる。audit 関連?

Written by admin

4 月 11th, 2008 at 4:09 pm

Posted in Linux, proftpd

Tagged with

lighttpd で Apache みたいな Customlog

without comments

Lighttpd をやって思ったのは、spawn-cgi から fastcgi に渡して .php .cgi を処理するようにしているので、access.log にローカルで処理した分もでてきちゃう。しかも、blog とかの log だと、.gif とか .jpg とかも入って煩わしい。

Apache の時は、下のように処理してた。

SetEnvIf Request_URI “\.(gif)|(jpg)|(png)|(css)$” nolog
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
CustomLog /home/hoge/hoge.miroq.info_access.log combined env=!nolog

というようことで、実際に lighttpd でやってみた。
下のような感じでできるお。

$HTTP["remoteip"]!~”^(127\.|192\.168\.)”{
    $HTTP["url"] !~ “\.(gif)|(jpg)|(png)|(css)$” {
        accesslog.filename = “/home/hoge/hoge.miroq.info.access.log”
        }
    }

上の場合は 127.0.0.1 / 192.168.X.X と画像関連のファイルを acccesslog に吐かないようにした。
remoteip / url を逆にしてやってみたけど、だめだた。たぶん Request の評価の順番が、 remoteip > url なのだろう。考えればそのような気もするけどw

Written by miroq

4 月 11th, 2008 at 9:43 am

Posted in Linux, lighttpd

Tagged with

lighttpd で wordpress を使うには

without comments

lighttpd は Apache と違い、.htaccess のような個人ごとに制御を分離させることはできない。
そのため、wordpress にて redirect を使う方法をとってしまうと、大本の conf ファイルである lighttpd.conf に記述されないと動いてくれない。

wordpress を lighttpd で使うには、以下を lighttpd.conf に追加する。

url.rewrite = (
         ”^/(wp-.+).*/?” => “$0″,
         ”^/(sitemap.xml)” => “$0″,
         ”^/(xmlrpc.php)” => “$0″,
         ”^/(.+)/?$” => “/index.php/$1″
    )

lighttpd を再起動後問題なく動くことを確認できた。
lighttpd と Apache を ab でベンチとったけど ( ab -n 10000 -c 100 http://orz.miroq.info/ )
Apache では途中 defunct になってしまうものもあった。そしてプロセスが死骸みたいにのこって 80 番ポートを占拠しやがるw

そして、現在 lighttpd で運用中。 virtual host を include で別ファイルにおけないかどうか思案中。
たぶん余裕でおけるんだけどねw

Written by miroq

3 月 16th, 2008 at 9:29 am

Posted in Linux, lighttpd

Tagged with ,

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

【壊れたので】blog 復活【復活させてみた】

with 2 comments

AAのテスト

         ◤◥◣
  ▂  ◢◤▀〓▲▂▐         ▂ ▪ ▂▄▅▆▇■▀▀〓◣▬ ▪ ■ … .
 ▍ ▼     ◥◣▼        .▂▅■▀ ▪ ■ ▂¨ ∵▃ ▪ ・
  ▀▍ ◢◤     ▅ ▐◣   ◢◤ ◢▇█▀ ¨▂▄▅▆▇██■■〓◥◣▄▂
    ▍  ▅ ◢■     ▍ ■ ▂▅██▅▆▇██■〓▀▀ ◥◣ ∴ ▪ .
  ▐   ▂   ▐◣ ▐▅▇███████▀ ▪ ∴ ….▅ ■  ◥◣
   ▀◣▂  ▀◥▅▆▇████████▆▃▂  ▪ ■▂▄▃▄▂
     ◥◣▄▂▄▅▀   ■  ¨ ▀▀▀■▀▀▀ ▪ ■ ∴‥

                   ∧,, ∧
                   (`・ω・´)
                     U θ U
                 / ̄ ̄Ⅰ ̄ ̄\
                |二二二二二二二|
                |        |
パシャ パシャ  パシャ パシャ パシャ  パシャ パシャ パシャ パシャ パシャ
   パシャ パシャ パシャ パシャ パシャ  パシャ パシャ パシャ  パシャ  パシャ
 ∧_∧      ∧_∧     ∧_∧  ∧_∧    ∧_∧     ∧_∧
 (   )】      (   )】    (   )】 【(   )    【(   )    【(   )
 /  /┘ .   /  /┘.    /  /┘ └\ \   └\ \   └\ \
ノ ̄ゝ     ノ ̄ゝ      ノ ̄ゝ     ノ ̄ゝ    ノ ̄ゝ     ノ ̄ゝ


blockquote のテスト

this is test.
# testparm
# /etc/init.d/smb reload
# /etc/init.d/nmb reload

これの結果をみていろいろ CSS 変化させていくかの。
というか、雑記の場所なら wiki でもいいのかなと思ってきた今日この頃。

Written by miroq

1 月 29th, 2008 at 4:36 pm

Posted in Linux, その他

Tagged with