Posts Tagged ‘Linux’

| 1 Comment | 6月 18th, 2009

 RAIDが片方ダメになってたけど、見たら電源ケーブルが抜けてただけだった。つないで復旧したところまでは良かったのだけど、古い側から新しい側にデータ送ってしまったらしい\(^o^)/

 というわけで、昨年10月くらいまでデータ戻った。ブログだけバックアップ取ってたけど、タグの部分がプラグイン依存だったので、タグ飛んだ/(^o^)\

 あと、家計簿のデータが飛んだのが痛いな…。

| No Comments | 5月 27th, 2009

monit で外部サーバの監視をするときは、check host っていうのを使えば良いみたいだ。

check host ecpplus with address ecpplus.net
  if failed port 80 then alert
    alert sample@ecpplus.net

とすると、ecpplus.net の 80番ポートの死活監視を行って、アウトー!ってなったらメールを飛ばしてくれる。復旧したときもメールをくれる。

参考:monit 公式のドキュメント

, | 2 Comments | 2月 10th, 2009

Rails&Lighttpdの環境で動画とか大容量ファイルを高速にダウンロードさせるとき、Rails の send_file を使わずに Lighttpd の X-sendfile という仕組みを使うと良いようです。

lighttpd-1.4.15 で試しました。

通常のsend_file

send_file '/tmp/movie.wmv'

Lighttpdを使ったx-sendfile

# X_SENDFILE する
path = '/tmp/movie.wmv'
response.headers['Content-Type'] = "application/force-download"
response.headers['Content-Disposition'] = "attachment; filename=\"123.mmv\""  # 好きな名前でダウンロードさせる
response.headers["X-LIGHTTPD-SEND-FILE"] = path
response.headers['Content-length'] = File.size(path)
render :nothing => true

これだけではダメで、lighttpdの設定も変更する必要がある。

lighttpdにパスが通ってる環境では lighttpd が優先的に起動されるが、初回起動時に config/lighttpd.conf が生成されるはずで、以下のようなくだりがあるはず。

fastcgi.server      = ( ".fcgi" => ( "localhost" => (
  "min-procs"       => 1,
  "max-procs"       => 1,
  "socket"          => CWD + "/tmp/sockets/fcgi.socket",
  "bin-path"        => CWD + "/public/dispatch.fcgi",
  "bin-environment" => ( "RAILS_ENV" => "development" )
) ) )

ここに、 "allow-x-send-file" => "enable" を追加すると先ほどの X-LIGHTTPD-SEND-FILE が使えるようになります。追加しないと、エラーは起きないけど、1byteの空ファイルしかダウンロードされません。

設定すると、以下のようになります。

fastcgi.server      = ( ".fcgi" => ( "localhost" => (
  "allow-x-send-file" => "enable",
  "min-procs"       => 1,
  "max-procs"       => 1,
  "socket"          => CWD + "/tmp/sockets/fcgi.socket",
  "bin-path"        => CWD + "/public/dispatch.fcgi",
  "bin-environment" => ( "RAILS_ENV" => "development" )
) ) )

x-send-file の注意点ではないですが、IEでは ヘッダに Cache-Control: no-cache がついていた場合、SSLでファイルのダウンロードが出来ないという仕様があります。こういうときは、SSLを経由しないようにするか、no-cache をやめる必要があります。どういう仕様なんだろう…。

どういう条件かわからないが、ファイルが変更されても304 Not Modified が返されてしまうことがあることが発覚。強制的に、200を返してあげれば最新のファイルがダウンロードされます。逆に変更されていない場合は304を返したいので、そういう割り当てをすれば良いのだが。

render :status => 200

とかで、強制的に200を返せるようだ。

| No Comments | 1月 9th, 2009

SUSE Linux は、デフォルトでは sudo は root のパスワードを求められるような設定になってます。他のでぃすとろは、自分のパスワードっていうところがほとんどなのでちょっと変わってるかも。 変えたい時は、/etc/sudoers で、どっちにするか決められます。

Defaults targetpw

と記述すると、root のパスワードを要求されるようになります。これを外すと、ユーザ自身のパスワードが要求されるようになります。

| No Comments | 12月 16th, 2008

CentOS で、SVNとApacheを連携したときのメモ。

yum で、svn と mod_dav_svn をインストールする。

# yum install mod_dav_svn subversion

Apacheの設定をする。
/etc/httpd/conf/httpd.conf を編集し、以下の行のコメントアウトを外す。

LoadModule dav_module modules/mod_dav.so

/etc/httpd/conf.d/subversion.conf で、パスの設定等をする。

レポジトリにBasic認証をかけるのだが、デフォルトの設定ファイルだと、 LimitExcept で取得だけなら誰でも出来るような設定になっている。LimitExcept に続けて何を制限するか決めるのだが、例外をつけないと取得も含め全部Basic認証がかかるようになる。

More »

download the hurt locker