MT for スマフォがインスコ出来ない

あれ?

スマートフォンオプションのインストールどおりに進めているが、スマフォ用の管理画面が表示されない。

一般的なブログサービスの方が、専用の投稿アプリとかリリースしているし、自宅で管理する必要がそろそろ見えなくなってきたw

seesaaブログに全部乗り換えて、動画とか大きいファイルだけ、こっちで公開しようか検討中。

OpenVPNのTAPアダプタ

利用者がPCを買い替えたのでOpenVPNの再設定を行ったが、いざ使おうとするとエラーが出て接続できないと連絡があった。

クライアントのログを見ると、末尾に以下のエラーメッセージが。
All TAP-Win32 adapters on this system are currently in use.

ググって、OpenVPNクライアントで複数のコネクションを確立するのページを発見。

“複数”のOpenVPN、、、環境が違うが、たぶんOpenVPN GUIのインストール時に、TAPアダプタのインストールをし忘れたんだろう。

記載の通り、クライアント側で
C:\Program Files\OpenVPN\bin\addtap.batを実行し、TAPアダプタの新規作成を行うと、見事VPNに接続が出来た。

20111027.jpgのサムネール画像

Can’t create/write to file ‘/tmp/xxxxxx’

作業していたら、突然MySQLが落ちた。

mysqldの再起動を行っても、以下のようなエラーが/var/lib/mysql/hoge.errに記録されるだけで起動できない。

111026 11:38:54 mysqld_safe mysqld from pid file /var/lib/mysql/hoge.pid ended
111026 11:38:54 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111026 11:38:54 [Note] Plugin ‘FEDERATED’ is disabled.
111026 11:38:54 InnoDB: The InnoDB memory heap is disabled
111026 11:38:54 InnoDB: Mutexes and rw_locks use GCC atomic builtins
111026 11:38:54 InnoDB: Compressed tables use zlib 1.2.3
111026 11:38:54 InnoDB: Using Linux native AIOG /usr/sbin/mysqld: Can’t create/write to file ‘/tmp/ib96HR1Q’ (Errcode: 28)
111026 11:38:54  InnoDB: Error: unable to create temporary file; errno: 28
111026 11:38:54 [ERROR] Plugin ‘InnoDB’ init function returned error.
111026 11:38:54 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
111026 11:38:54 [ERROR] Unknown/unsupported storage engine: InnoDB
111026 11:38:54 [ERROR] Aborting

111026 11:38:54 [Note] /usr/sbin/mysqld: Shutdown complete

111026 11:38:54 mysqld_safe mysqld from pid file /var/lib/mysql/hoge.pid ended

どうやらテンポラリディレクトリに指定している/tmp内にファイルが書き込めないらしい。

/tmpのパーミッションを777にして、mysqldの再起動。

ん~、変化なし。

色々調べたが、直前の作業の時に出来たゴミを捨ててなかったのが原因で、/tmpがある/の容量が100%を指していた為だった。

Apache Killerの対策

8/24に会社から連絡があり、取り急ぎ対策が必要なApacheには、アドバイザリ通りの記述行い対策しました。
おかげでエヴァ波の地上波の前半を見逃した・・・orz

# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range

# We always drop Request-Range; as this is a legacy
# dating back to MSIE3 and Netscape 2 and 3. RequestHeader unset Request-Range

あと、仕事上付き合いがある徳丸氏のブログにも本件について書かれており、MaxClientsのチューニングが重要だと。

ウチもApache2.2を使っているが、MaxClientsのデフォルト値は150だった。
Apache Killerの対策をしないと、MaxClients150×24MBで、3600MB(約3.5GB)のメモリをApacheだけで食う事になる。

契約しているVPSはメモリ1GBコースだから、無理www

つーことで、httpd-mpm.confのMaxClients数を25に落とす。
こんな寂れたブログを見に来る人もいないだろうからw

–2011.8.31 追記–
8/30に2.2.20がリリースされました。
http://archive.apache.org/dist/httpd/httpd-2.2.20.tar.bz2

apache2.0系はまだ未リリースみたい。
暫定対策が済んでいないapacheがあれば、至急アップデートを行いましょう。

mailmanの入れ直し

VPSに引っ越しした時に放置していたメーリングリストサーバ「Mailman」を入れ直した。

会社のメーリングリストサーバでもMailmanを使っていますが、構成が少し違っただけでハマったのでメモ。
(ほとんどsatospoを参照w)

ちなみに会社の構成は楽して作ったので全てRPMで導入、設置してるから気づかなかったw

VPSではApacheをソースインストールしてるが、Mailmanをインストールしたらsetguiがnobody(ApacheをRPMでインストールした時のユーザー)を指定しないと動かなかったから、しょうがなくMailmanをソースからインストール(2011.8.21時点での最新は2.1.14+j6)

Mailmanはpythonプログラムだが、2.1.14以降でpython2.5以上でしか動かなくなったっぽいので、さらにpythonをソースからインストール。

Redmineのcsvエクスポートに更新履歴も出力させる

またRedmineネタ。

上司殿が会議の場で「Redmineにエクスポート機能があるから、それ使ってバックアップ取ればいいんじゃね?」って発言をしたらしい。

その話聞いて、「Redmineはチケット一覧しかエクスポートできませんよ?」って答えると、「えーっ、なんとかしてよ!」って・・・orz

プラグインで対応出来るか、グーグル先生に聞いたが適切な物がなかった。
XLS Exportでは、標準のCSVエクスポートをエクセルで出力できるだけだった)

さらに調べると、標準のCSVエクスポートのソースをいじる事で対応出来そう。

徒然さめざめ Redmine hack! – チケット一覧のcsv出力に履歴も載せる –

内容は2009年の物だが、 Redmine 1.1.2と1.1.3でもちゃんと動作した。

いつも思うが、こうゆう先駆者のブログとかすごく役に立つなぁ。

一応、変更後のissues_helper.rbをアップしておく。
issues_helper.rb

Redmineのviewカスタマイズ

redmine1.1.3(1.1.2でもOK)で、プロジェクトの見せ方を変更した。

(1)プロジェクトメニューのチケットボタンの遷移先をカスタマイズクエリで表示させる。
せっかくカスタマイズクエリ作っても、「チケット一覧」→「クエリ選択」とかめんどくさい。

lib/redmine.rbを変更
menu.push :issues, { :controller => ‘issues’, :action => ‘index’}, :param => :project_id, :caption =>
:label_issue_plural

   ↓

menu.push :issues, { :controller => ‘issues’, :action => ‘index’, :query_id => ‘1’ }, :param => :project_id, :caption => :label_issue_plural

app/views/projects/show.rhtmlも変更
<%= link_to l(:label_issue_view_all), :controller => ‘issues’, :action => ‘index’, :project_id => @project, :set_filter => 1 %>

   ↓

<%= link_to l(:label_issue_view_all), :controller => ‘issues’, :action => ‘index’, :project_id => @project, :query_id => 1 %>

(2)チケットの変更履歴に区切り線を入れる。
変更履歴が多すぎると見辛くなるって意見があったみたい。

public/themes/alternate/stylesheets/application.cssに以下を追加(themesは今使ってる奴)
 /* history */
 div#history {
   border: solid 1px #cccccc;
   background-color: #ffffff;   (ここで変更履歴の色を指定。ウチは白w)
   padding: 5px;
 }

 div#history > h3 {
   border-bottom: none;
 }

 div#history > .journal {
   border-top: solid 1px #cccccc;
   padding-right: 5px;
   padding-left: 5px;
 }

 div#history > .journal > h4 {
   border-bottom: none;
   margin: 0px;
 }

変更が終わったらApacheを再起動する。