UNIX/LINUXの最近のブログ記事

Slicehostかも

| | コメント(0) | トラックバック(0)
いやー、全然更新してなかった。。

さて、EC2を散々持ち上げてきた僕ですが、やっぱり1ヶ月まるまる使うぜ!となるとそこそこお高いんですよね。。

もうちょっと安くならないかなあと思ったらいいのがありました。

ちょびっとのアクセスでやたらapacheが落ちるという現象が起きていた。
/usr/local/apache2/logs/error_logをみてみるとこんなログが・・・
[alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[alert] Child 26688 returned a Fatal error... Apache is exiting!
[alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't release the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
さー調べるか・・・
やれ、セキュリティセキュリティな世の中ですが、WEB開発においては具体的に何をすればよいのか?
大きく分けると
・WEBアプリケーションのセキュリティ対応
・インフラ(サーバ)のセキュリティ対応
・運用のセキュリティ対応
という3つに分かれるんじゃあないかなと思ってる。

ImageMagickはyumでカタをつけようと思ったら、imagickのインストールで
checking if ImageMagick version is at least 6.2.4... configure: error: no. You need at least Imagemagick version 6.2.4 to use Imagick.
と言われたので、ソースからインストールすることに。
結論からいうと、セッションに入れたZend_Dateオブジェクトを引数にZend_Date()のコンストラクタを呼ぶとSegmentation faultが起きるっぽい。そんなことをする必要があるかどうかは別にして。

ある日、画面をポチポチっと遷移してたら画面が真っ白になった。
アプリログもapacheログもでてなくて、困ったなーと思ったらバーチャルホストで指定しているログじゃなくて、おおもとの/usr/local/apache/logs/error.logに
[notice] child pid 6191 exit signal Segmentation fault (11)
っていうのがたくさんでてた。

イヌ派かネコ派かと聞かれたら、ネコ派なんですが、イヌも嫌いじゃあないです。
ですが、MySQL派かPostgreSQL派かと聞かれたら、「MySQLがキライなのでPostgreSQL派です。」と答えてしまいます。

さて、ハッシュ関数がDB側で使えるとユーザー認証のときとか便利なので使っちゃいます。
で、PostgreSQLでハッシュ関数を使うには、別途関数登録的なSQLをインストールして、それを対象データベースに流してやる必要があります。
特にトラブルもなし。ただのメモ書き。
tracはpythonで動いているからpythonのsvnライブラリみたいの(pythonバインディングとかいう言い方?)が必要なところまではよくて、それが正しく動いているかを確認するには、こんな感じで確認するらしい。
2度目だから、あのややこしいTracのセットアップも楽チンさ!と思っていたら、そうは卸してくれないケチなシステム問屋がこんなエラーを。

Creating and Initializing Project
Initenv for '/data/trac/hoge' failed.
 Failed to create environment.
('ascii', "'\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xab\xe3\x82\xb9\xe3\x83\x88\xe3\x83\xbc\xe3\x83\xb3 '||milestone", 1, 2, 'ordinal not in range(128)')
Traceback (most recent call last):
  File "/usr/local/python2.6.1/lib/python2.6/site-packages/Trac-0.11.2.1.ja1-py2.6.egg/trac/admin/console.py", line 568, in do_initenv
    options=options)
  File "/usr/local/python2.6.1/lib/python2.6/site-packages/Trac-0.11.2.1.ja1-py2.6.egg/trac/env.py", line 202, in __init__
    setup_participant.environment_created()
  File "/usr/local/python2.6.1/lib/python2.6/site-packages/Trac-0.11.2.1.ja1-py2.6.egg/trac/env.py", line 485, in environment_created
    for table, cols, vals in db_default.get_data(db):
  File "/usr/local/python2.6.1/lib/python2.6/site-packages/Trac-0.11.2.1.ja1-py2.6.egg/trac/db_default.py", line 395, in get_data
    __mkreports(get_reports(db))))
  File "/usr/local/python2.6.1/lib/python2.6/site-packages/Trac-0.11.2.1.ja1-py2.6.egg/trac/db_default.py", line 229, in get_reports
    u""" % (db.concat("'マイルストーン '", 'milestone'), db.cast('p.value', 'int'))),
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 1: ordinal not in range(128)

このアーカイブについて

このページには、過去に書かれたブログ記事のうちUNIX/LINUXカテゴリに属しているものが含まれています。

前のカテゴリはSEOです。

次のカテゴリはXHTML+CSSです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。