squirrelmail on PHP-FPM + nginx

環境:Debian 7.1 AMD64
準備:あらかじめapache2 + mod_phpでsquirrelmailの動作を確認
参考:
Ubuntu で Web メールサーバー
http://www.upken.jp/kb/ubuntu-squirrelmail.html
Running SquirrelMail On Nginx (LEMP) On Debian Squeeze/Ubuntu 11.04
http://www.howtoforge.com/running-squirrelmail-on-nginx-lemp-on-debian-squeeze-ubuntu-11.04
PHP-FPMのインストール
> sudo aptitude install php5-fpm php5-common
設定は /etc/php5/fpm/ 以下
/etc/php5/fpm/php-fpm.conf を見てみると次の一行が
include=/etc/php5/fpm/pool.d/*.conf
ということで apache2 等と同じように /pool.d/ 以下に設定ファイルを置くのが常道らしい。
次のようにportを設定
> sudo vi /etc/php5/fpm/pool.d/www.conf
#listen = /var/run/php5-fpm.sock :コメントアウト
listen = 127.0.0.1:9000
> sudo service php5-fpm start
次で確認
> netstat -an | grep 9000
nginxの設定
> sudo vi /etc/nginx/sites-available/default
次を追記

# PHP-FPM for squirrelmail
location /squirrelmail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/squirrelmail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}

> sudo service nginx restart

ThinkPad kybdまわりの環境設定

変な癖がつかないうちに、キーボードの設定をしておきます。
ThinkPadなので、もちろんマウスも含む。
みな同じ事を考えるようでgoogleるとたくさん出てきますね。
1. [Fn]と[Ctrl]を入れ替える
やっぱり一番左下のキーは[Ctrl]であって欲しいので[Fn]と入れ替えます。
UEFIのシステム メニューからConfig/Keyboardにありますね。
Fn and Ctrl Key swap
を[Enable]にする。
2. Touch Padを無効化する
Track Pointを主に使っています。
しかし、時々Touch Padに意図せず触れてしまいやっかいです。
なのでTouch Padを無効化したほうが良かろうと思いました。
googleってみるとBIOSで設定できるという情報もありましたが、Edge E135のUEFIシステム メニューには該当する項目が無かった。
結果、次の方法で可能だったので特に問題はない。
Debian 7.1 の場合
参考:タッチパッドの無効化 @ThinkPad with Ubuntu
/usr/share/X11/xorg.conf.d/50-synaptics.conf に次を追記する。
Section “InputClass”
Identifier “no need for accelerometers in X”
MatchProduct “SynPS/2 Synaptics TouchPad”
Option “Ignore” “on”
EndSection
Windows 8 の場合
コントロールパネル/マウス/UltraNav/タッチパッド
□タッチパッドを使用する
のチェックを外す。

Debian 7.1 on ThinkPad Edge E135

■インストール
Installing Debian 7.0 (Wheezy) on a ThinkPad Edge E135
http://www.thinkwiki.org/wiki/Installing_Debian_7.0_%28Wheezy%29_on_a_ThinkPad_Edge_E135
を参考にインストールした。
wifiを認識しないので、wiredで実行する。
・Debian 7.1 multiarch netinst ISO を UNetBootIn で USBに焼いてインストール。
・ネットワークのインストールでメッセージ。
 「rtl_nic/rtl8168e-3.fw が無いので、USBに入れて挿してくれ」
 無視してインストール続行。
とりあえず、インストール完了。
■グラフィック
インストール完了後、再起動するとGnome3の起動に失敗するので、
[alt]+[ctrl]+[F1]からログインする。
apt-lineに次を追記して、
deb http://…/debian/ wheezy main contrib non-free
firmware-linux-nonfreeをインストールする。
# sudo apt-get update
# sudo aptitude install firmware-realtek
# sudo aptitude install firmware-linux-nonfree
再起動すると、Gnome3が起動してくれる。
■wifi
モジュールを確認
> lspci |grep BCM
02:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
BCM43228だそうだ。
> wget http://de.archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.20.155.1+bdcom-0ubuntu6_amd64.deb
> sudo apt-get install dkms libc6-dev linux-libc-dev
> sudo dpkg -i bcmwl-kernel-source_6.20.155.1+bdcom-0ubuntu6_amd64.deb
ようやっとwifiを認識してくれた。
この段階で、
・[Fn]+[F2][F3]でボリュームの調整が可能
バックライトの調整ができない
■Two Finger Scroll
参考:http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#xorg.conf.d
> sudo vi /usr/share/X11/xorg.conf.d/20-thinkpad.conf
Section “InputClass”
Identifier “Trackpoint Wheel Emulation”
MatchProduct “TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint”
MatchDevicePath “/dev/input/event*”
Option “EmulateWheel” “true”
Option “EmulateWheelButton” “2”
Option “Emulate3Buttons” “false”
Option “XAxisMapping” “6 7”
Option “YAxisMapping” “4 5”
EndSection
■skype
http://wiki.debian.org/skypeを参考にインストール

新端末

新しい端末を買いました。
トラックポインタがある11インチくらいのもの、というと選択肢は少ないです。
lenovo Edge E135

Amazonで買ってもよかったのですが、微妙なスペックがあれだったので、
lenovo直販でカスタマイズして購入しました。
6.15(土)注文、6.26 (水)に到着。
■スペック
lenovoの直販ページでカスタマイズ
プロセッサー: AMD E2-1800 APU(1.7GHz, 1MB)
メモリー: 4GB PC3-10600 DDR3 (1スロット使用)
ワイヤレスLAN アダプター: IEEE 802.11a/b/g/n ワイヤレス LAN, Bluetooth4.0
昔は高嶺の花だったThinkPadが 4万円をきる(セール中価格)とは、ノートPCも安くなりましたね。
(カテゴリは NetBook になるのかな?)
■事始め
次にHDDの換装など、Windows 8をゼロから環境構築する場合に備える。
以下の方法でリカバリーメディア(USB or CD-R)を作成しておくとよい。
Microsoft Windows 8プリロードのLenovoシステムでリカバリーメディアを作成し、復元する方法 @lenovo
Windows 8のシステム修復ディスクを作成する @IT
サポートページ @lenovo
ここからマニュアルやドライバ類をダウンロードできる。
■環境設定
英字キーボードなのでドライバを変更
標準 PS/2 キーボード → 標準 PS/2 101/102 キーボード
Windows Update
時間かかる…
これだけでWindows使うのイヤになるなぁ。
■Linuxどうこう
やはりlinuxがないと始まらない。
試しにDebian 7.1のUSBを指して起動してみる。
→ 当然USBから起動はしない。
UEFI (bios) の設定を変更する。
1. 起動時(lenovoロゴが現れるまでに)[F1]キーを押下でシステムメニューに入る
2. Secure Bootをdisableにする。
3. bootする機器の順番を変更する。
Debain 7.1 USBで起動することを確認。
Ubuntu 13.04 USBで起動、liveの動作を確認。
・wifiを認識しない。
・Volume Up/Down, BackLight Up/Downは動作する。
今日はここまで

PSGIまわり小まとめ (2)

■cpanminusのDEPENDENCIES
cpanminusに必要なものをインストールする。

  • perl 5.8 or later.
  • ‘tar’ executable (bsdtar or GNU tar version 1.22 are recommended) or Archive::Tar to unpack files.
  • C compiler, if you want to build XS modules.
  • make
  • Module::Build (core in 5.10)

参考:miyagawa / cpanminus @GitHub
 https://github.com/miyagawa/cpanminus#readme
足りないのは3, 4番目なので、
> sudo aptitude install bin86 module-assistant build-essential
apache2 + CGIで動いているまま、
試しにme.psgiを起動してみる。
> plackup mt.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/
(server):5000/…/mt.cgi にアクセスすると、ちゃんと管理画面が表示された。
いくらかエラーが出ているが、体感的に動作がサクサクです〜!
これまで:
PSGIまわり小まとめ (1)

PSGIまわり小まとめ (1)

nginx + PSGIとか見ていると(私が)知らない術語が出てくるので、復習もかねてまとめてみる。
CGI (Common Gateway Interface) @wiki
例えばmovabletypeはperl、squirrelmailはphpで書かれていますね。
これらは普通(クラシックには?)、apache + CGI(mod_perl, mod_php)で動いてます。
CGIの実装のバリエーションとしてFastCGIがある。
FastCGI @wiki
これをnginx + PSGIに置き換えようと最近いろいろと調べ始めました。
PSGI(Perl Web Server Gateway Interface) @wiki
mod_perlに相当する機能ですね。
インストールについて情報を探して見ると、perl moduleのインストールのコマンドとしてcpan, cpanmが使われている。
CPAN (Comprehensive Perl Archive Network) @wiki
CTANとか懐かしい。
cpanmって何だ?
cpanminus @GitHub
Perlのライブラリ管理システムなんですね。
debian 7.0(wheezy)にもパッケージがあって、
> sudo aptitude install cpanminus
でcpanmが使えるようになる。
今日はここまで。

movabletypeバージョン移行

しばらくバージョンアップをサボっていたので、苦労が蓄積されていた。
とりあえず、次の2段階でステップアップの予定。
A. 4.23から5.2.6へバージョンアップ
B. apache+CGI(mod_perl)からnginx+PSGIへ移行
このうち、A.のステップをこの数日かけてクリアした。
はまったのは5.2.6の導入で、管理画面のも本文入力欄が消えること。
一度ブログを再構築すると、入力欄が表示されなくなる。
結果、static fileディレクトリのsupportのパーミッションが原因だった。
セットアップ時に一旦777にして、ブログを更新する前に755にして上書きしないようにした。
テーマを変更したら再度調整が必要かな?
B. ステップが次の課題。
movabletypeはPSGIに対応しているが、squirrelmailの対応について調べてみないと。

Grilo plugin for Totem

Totem, Coherence, Griloについて調べてみたら、次のページが参考になった。
How to use Rygel to share video and play it back in Totem @Orchid Garden
ポイントをまとめると(意訳)
・Coherenceは古く、Griloが主流
・Totemは3.2.0以上でGriloに対応 (Debian 7.0のパッケージは3.0.1)
・Totem 3.2.0以上でも、plugin menuにGriloは表示されない、しかし使用は問題ない。
ということらしい。

iPhone 4S とジャイロ問題

これまで何度かジャイロが不調になりました。
例えば、
iPhoneでオリエンテーションが判別できない顛末 @2012. 7.23
iPodをはじめプレイヤー等のアプリではオリエンテーションを固定すれば問題ないのですが、
(私の使い方では)
カメラやPhotosynthではちょっと面倒、後で画像の縦横を手動で操作するのがねぇ。
ちょっとオススメはできないけれど、事例としてあげておきます。
今回のジャイロの不調は原因がはっきりしていました。
高さ20cmほどからiPhoneを落としたことです。
その後は例のごとく、ジャイロが不調。
コンパスも変な方向を指していました。
電源OFF、リセットや復元を試してみましたが、いずれも元に戻らず。
さて、今回の解決策は力技です。
高さ1mくらいからベッドの上に落としました。
あーら不思議、ちゃんと正常に動作するようになりました。
何ともならなければ次の機種変更まで我慢するか、最悪なら壊れて買い替えかと覚悟してましたが、
幸い無難な結果となりました。
たまたま運が良かっただけかもしれないので、マネしないようにお願いします。

ノートPCのライフサイクルの短期化への対応

ちょっと前まではPCを買って10年使うということは普通でした。
Linuxを常用している人にとっては、一昔前のスペックのマシンでも充分に活用することが可能です。
しかし、最近はちょっと情勢が変わってきた感じ。
IntelやAMDは矢継ぎ早に新しいCPU・チップセットを出してきます。
また、ネットにつなぐことが当たり前のこの時代、OSやアプリもサポートが終わると安心して使えません。
私の現在のメインマシンはVAIO type Pです。
チップセットは悪名高きGMA550 (Poulsbo)、メーカーであるIntelもドライバを更新していません。
オープン ソースのドライバをメインテナンスしていたAlan Coxも昨年に手を引いた様子。
現状では問題ないですが、サポートが無くなるのもそう遠くないかも…
という次第で、ノートPCにおいては、個人ユーザとしても、安いマシンを短期間で買い替えていく方が経済的なのかなぁと考えています。
Sonyも哲学がないようで、C1からtype Pまでずいぶんと間がありましたし、次にこのサイズのマシンが出るのは期待できないかも。
と、ここで問題になるのがUEFIのセキュアブート。
この機能が有効になっていると、特定のOSしか起動できなくなります。
セキュリティ上の懸念として、不用意にUSBからブートされマシンの中身を探られる、ことを予防するという意味では理解できます。
しかし問題となるのは、Windowsマシンを購入した後にLinuxのインストーラを起動できないこと。
Microsoftはこの件で叩かれています。
例えば
Windows 8のUEFI Secure Bootに対し、スペインの団体がEUに苦情申し立て @exciteニュース
他方、Appleはbootcampなど、他のOSをインストールできるように道を開いていますね。
Microosoftは「セキュアブートは無効にできる」と言っているようですが、ARMではこれを無効にできないなど、どうもはっきりしません。
Linux Foundation、Secure Bootが有効になったWindowsマシンでLinuxをブートさせるための「UEFI Secure Boot System」を公開 @sourceforge.jp
ここらへんも、これからのニュースを追って行かないといけませんね。