Archive for the ‘Linux’ Category
Fedora 10 で Online Upgrade でやってみた
といっても、初めて行うことではなく。
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
今回は重複もなくさくっと完了しました。
php APC 入れてみた
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 で確認したら・・・表示早くなったよおおおおおおお。
てことで、アクセラレータの恩恵を初めて感じました。
smartd での sector error 復活作業
家鯖で、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
デテキターーーーーーーーーー。
ということで、早速このセクタを直す作業にはいってみる。
Fedora 9 で Xming
これもまた忘れていた項目。
というか、鯖に 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 経由でいけるわけだし。
SATA2 で 3.0Gbps で接続されない理由
/dev/sda が逝ってしまって、500GB HDD を購入して、再構築。
いろいろな設定を忘れてたお( ^ω^)おっおっおっ
まず、dmesg あたりを覗いてみて気づいたことが 新規で買った 500GB HDD が 1.5Gbps で接続されていた件。
完全に↓のようなことを忘れていて、一生懸命ググるwwwwwwwwwwwww
おk。SATA2 ケーブル対応とか謳っている所もあるな。でも、値段変えちゃいけないでしょ。
なんか ICH7 と Linux が相性ヤバげとか書いているな・・・これって Kernel 再構築かね・・・
と 1 時間ぐらい悩んで( ゚д゚)ハッ!と気づいた。
HDD を買ったときに デフォで下のような感じになっていた。

Limit data transfer rate to 1.5Gbits per second
Limit data transfer rate to 1.5Gbits per second
nginx を弄ってみた part.0
エンジンエックスとよむっぽい。
lighttpd よりも世界シェアは高いとか?ロシア産でロシアのユーザの何十パーセントが使用しているみたい。
ということで、家の鯖にも入れてみようかなと思っています。
nginx の Wiki を見つけたので忘備録もかねて。
http://wiki.codemongers.com/Main
最近ネタの草稿ばかり書いて、全然 blog に公開していない(汗
iSCSI Enterprise Target とか、Intel Atom を使った体験記とか・・・。
というか、もうこの WEB ページが動いている鯖はすでに Atom なんだけど。
proftpd 1.3.2rc1 iconv パッチ
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 パッチを作っておきました。
- 1.3.2rc1 用
proftpd-1.3.2rc1.patch.gz
RPM と SRPM は現在動作確認中です 作成完了しました。mod_clamav / NLSTパッチ付ですが。
proftpd で /var/log/secure にでてくるヤツ
/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 関連?
lighttpd で Apache みたいな Customlog
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
lighttpd で wordpress を使うには
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
