ni kvel

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

Archive for the ‘Linux’ Category

Fedora 10 で Online Upgrade でやってみた

without comments

といっても、初めて行うことではなく。
Fedora 7 から 8・9 と Online Upgrade してきているので、普通な感じになってきた。
とりあえず、やり方いっつも忘れるので、備忘録として。
まず、Fedora 10 release と release-notes を RPM でインストール

# rpm -Uvh \
http://ftp.iij.ad.jp/pub/linux/fedora/releases/10/Everything/i386/os/Packages/fedora-release-10-1.noarch.rpm \

http://ftp.iij.ad.jp/pub/linux/fedora/releases/10/Everything/i386/os/Packages/fedora-release-notes-10.0.0-1.noarch.rpm

そのあとに念のため yum clean all 。キャッシュ残っていたらいけないし。

# yum clean all

で、いざ upgrade go !!!

# yum upgrade

ここで大抵パッケージの衝突があるので、Error の出ているパッケージを削除。今回は libexiv だけでした。うちの場合は。
で、もう1回 yum upgrade。衝突がなかったので、y 入れて今 upgrade 中。
今回は 1GB も download か。インストールも含めたら約2時間ぐらいかかった。

reboot 完了後、package-cleanup を実行!

# package-cleanup -d

今回は重複もなくさくっと完了しました。

Written by miroq

11月 26th, 2008 at 12:52 am

php APC 入れてみた

without comments

php アクセラレータは世の中にいっぱいある。

  • APC (Alternative PHP Cache)
  • eAccelerator
  • XCache
  • Gigazine の投稿を参考にし、なおかつ Fedora で yum で入れれる APC を入れてみた。

    # yum install php-pecl-apc

    インストール後、/etc/php.d/apc.ini に APC 設定ファイルが作成されるので、編集して↓のようにした。

    ; Enable apc extension module
    extension = apc.so
    ; Options for the apc module
    apc.enabled=1
    apc.shm_segments=1
    apc.optimization=2
    apc.shm_size=32
    apc.ttl=7200
    apc.user_ttl=7200
    apc.num_files_hint=1024
    apc.mmap_file_mask=/tmp/apc.XXXXXX
    apc.enable_cli=1
    apc.cache_by_default=1

    apc.optimization は Default では 0 だけど、Alternative PHP Cache (APC) を参考にすると、

    apc.optimization integer

    最適化レベル。ゼロは最適化を無効にし、値を大きくするほど 最適化のレベルが高くなります。わずかながら速度の向上が 期待できます。この項目は実験的なものです。

    と書いているので、0 で試してみていないのにも関わらず、2 にしてみた。1 にしないのは天の邪鬼なのでwwww
    で、Apache を再起動し自分の blog で確認したら・・・表示早くなったよおおおおおおお。
    てことで、アクセラレータの恩恵を初めて感じました。

    Written by miroq

    11月 16th, 2008 at 12:54 pm

    smartd での sector error 復活作業

    without comments

    家鯖で、Sector Read Error がでていて OS が立ち上がらなかったので、新規に Logical Volume 作って、一旦余っている領域から Logical Volume つくって rsync で同期後立ち上げなおした。
    で、復旧後、smartd.log を見ると、家鯖の HDD で smard から↓のような悲鳴があがってた。

    smartd[2684]: Device: /dev/sda, 1 Currently unreadable (pending) sectors
    smartd[2684]: Device: /dev/sda, 1 Offline uncorrectable sectors

    エラー箇所を調べるため、smartctl を実行

    # smartctl –test=short /dev/sda
    smartctl version 5.38 [i386-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
    Home page is http://smartmontools.sourceforge.net/

    === START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
    Sending command: “Execute SMART Short self-test routine immediately in off-line mode”.
    Drive command “Execute SMART Short self-test routine immediately in off-line mode” successful.
    Testing has begun.
    Please wait 1 minutes for test to complete.
    Test will complete after Sun Oct 19 01:30:18 2008

    んで、状況をみるために、smartctrl -l /dev/sda をやってみる。

    # smartctl -l /dev/sda
    smartctl version 5.38 [i386-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
    Home page is http://smartmontools.sourceforge.net/

    === START OF READ SMART DATA SECTION ===
    SMART Self-test log structure revision number 1
    Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
    # 1 Short offline Completed: read failure 90% 261 98652487

    デテキターーーーーーーーーー。
    ということで、早速このセクタを直す作業にはいってみる。

    Read the rest of this entry »

    Written by miroq

    10月 19th, 2008 at 1:55 am

    Fedora 9 で Xming

    without comments

    これもまた忘れていた項目。
    というか、鯖に X 入れている時点でみんなから負けとか言われますがなにか。
    必要なものを依存関係をなしにしてまで入れるがマンドクサイからというのもあるけどね。

    会社の鯖には X はいれませんが。
    ということで本題ですねぃ。

    PC 切替器使って別画面で鯖の画面みればいいんじゃね?とか言われそうですが、
    これもまた Ctrl x 2 で切り替えて、とか面倒なので。gdm 使って変更しますわと。

    Fedora 8, Fedora 9 では gdm の custom.conf を変更することで、Xming で見れるようになる。
    やり方は簡単。↓のようにすればおk

    # vi /etc/gdm/custom.conf
    # GDM configuration storage

    [xdmcp]
    Enable=true <<----- 追加
    [chooser]

    [security]
    AllowRemoteRoot=true <<----- root でログインしたいなら追加
    [debug]

    追加後、reboot すればおk。あとは、Xming で設定してあげて起動したらサクっとみれますた。
    security 項目の AllowRemoteRoot=true を平気で書いている人いるけど、どうなんだろ。
    俺は書かないけど。Enable=true さえしておけば、Xming で xdmcp 経由でいけるわけだし。

    Written by miroq

    10月 16th, 2008 at 10:45 pm

    Posted in Linux

    Tagged with , ,

    SATA2 で 3.0Gbps で接続されない理由

    with one comment

    /dev/sda が逝ってしまって、500GB HDD を購入して、再構築。
    いろいろな設定を忘れてたお( ^ω^)おっおっおっ

    まず、dmesg あたりを覗いてみて気づいたことが 新規で買った 500GB HDD が 1.5Gbps で接続されていた件。
    完全に↓のようなことを忘れていて、一生懸命ググるwwwwwwwwwwwww
    おk。SATA2 ケーブル対応とか謳っている所もあるな。でも、値段変えちゃいけないでしょ。
    なんか ICH7 と Linux が相性ヤバげとか書いているな・・・これって Kernel 再構築かね・・・

    と 1 時間ぐらい悩んで( ゚д゚)ハッ!と気づいた。

    HDD を買ったときに デフォで下のような感じになっていた。
    Seagate HDD Jumper

    Limit data transfer rate to 1.5Gbits per second
    Limit data transfer rate to 1.5Gbits per second

    Read the rest of this entry »

    Written by miroq

    10月 16th, 2008 at 10:35 pm

    Posted in Linux

    Tagged with , , , , ,

    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 lighttpd,Linux

    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 lighttpd,Linux

    Tagged with ,