sudo service openvpn startがコケる時に設定ファイルのどこが間違ってるのか確認する方法。

で文法チェックができます。こういうの各サービスで個別にあるんじゃなくて統一の方法欲しいなあ。


Chefの動きを確認する時に毎回全部のレシピを当ててると時間がかかってめんどくさいことこの上ないので単体で走らせる方法を探してみました。

試してみてダメだったこと

chef-applyとかsandwichとか色々あるようなんですが、依存関係などの読み込み周りを同一にするのが出来ないようでよくわからなかったので使わないことにしました。

やりたいのはrun_listで走らせる対象を一つだけにしたかったので、nodes/postgresql.jsonなど試したいレシピだけを指定したノードファイルを作ってみたんですが、これはファイル名がhostと一致しないため完全に間違った試行だったようです。

成功した方法

run_listを特定のレシピだけ対象にすればいいので--override-runlistオプションを使えばやりたいことができました。

run_listのデフォルトでrecipeは省略可能なので

でOKです。

参考

Specifying which cookbooks to run with Chef Solo – Stack Overflow


knife solo cook fooとするとBerkshelf::LockfileParserErrorってエラーが出てビビる。

対策

rm Berkshelf.lock で ロックファイルをを消したら治った。.gitignoreに加えてたほうが良いのかな? Gemfile.lockと同じく加えるかどうかに賛否両論ありそう。


見た目が素敵なURLに変えるための mod_rewrite を xampp で使う方法を解説します。

mod_rewriteでできること

ここに検索でたどり着いた人は Apacheのモジュール mod_rewrite で何ができるかはしってると思いますが念のために例を上げておくと

http://localhost/index.php?user=foo&name=bar

と書く所を

http://localhost/foo/bar.html

と書ける機能です。

foo/bar.html にアクセスすると内部で
index.php?user=foo&name=bar が呼び出されるわけです。

Xamppの設定方法

xampp は既にインストールして使ってる前提で話を進めますのでインストールがまだの方はインストールしてからまた来てください。

1. まずApacheの設定ファイル http.conf を開きます。
自分の環境では[ X:\sugarsync\bin\xampp\apache\conf\httpd.conf ] にありました。

2. モジュールがコメントアウトされてないか確認する

のようになってたら “#” を取って

とします。

3. リライトの規則を書く。
http.conf にどう表示を転送(書き換え?)するか RewriteRule を記述します。

4. xampp を再起動 で完了
http://localhost/foo.html にアクセスして bar.html の内容が表示されればOK!

それでも動かない場合

…とここまではGoogleで [Xampp mod_rewrite] で検索すると解説されてるサイトいっぱい出てきたんですが上記の設定だけではうちの環境では動きませんでした。

色々調べてると

するといいよー。

的な記述をみつけたので

に書き換えてみたけどダメ。

何が悪いのかわからないので、そのまま httpd.conf を眺めたら

な所を見つけたので、これを

に変えて xampp を再起動させたら……動いたーー!!!

動的ページを静的なページ風に出力

最初に上げた例のような動作をするためのRewriteRuleの設定は

ただ、こうすると index.php の中で相対パスの画像などを呼び出していると
http://localhost/img/01.jpg を呼びたいのに http://localhost/foo/img/01.jpg を参照してしまう問題が発生してしまいますので画像などの参照は全て絶対パスを記述するか、もしくは

こうして
http://localhost/foo/bar.html の代わりに
http://localhost/foo-bar.html で我慢するという方法があります。

ただこの方法の場合は引数に”-“を入れると意図しない動作になりますのでその点に注意しないといけませんが。

mod_rewrite は他にも色々と細かい設定ができますので更に知りたい方は参考のページを見るか検索で何か良さげなページを探してください。

参考

mod_rewrite
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html

mod_rewrite サンプル集/楽
http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html

Apache : mod_rewriteリファレンス – dawgsdk.org
http://blog.dawgsdk.org/weblog/archives/411011

Enable mod_rewrite in windows , WAMP, XAMPP
http://phpcollection.com/mod-rewrite-windows-wamp-xampp/


xamppには標準でpythonが入っているけど残念ながらpythonが入ってないので使いたかったら自分で入れる必要があるらしい。なので入れてみた。

環境

Windows 7 32bit
Xampp 1.7.7
Python 2.6.1 (Portable)

必要なもの

“Xampp python”で検索するとmod_pythonの情報が出てきてインストール方法も色々と出てくるんだけれどもmod_pythonのwindows版はpythonのバージョンが2.5までにしか対応してないようで非常にめんどくさそう。

色々探してたら簡単な方法を載せてるサイトが見つかったのでその方法を紹介します。
インストールが必要な物は何もなし。ヽ(´▽`)ノ

設定方法

まず
[xamppをインストールしたディレクトリ]\apache\conf\httpd.conf
を開いて

と追記します。

場所は多分どこでもいいけど、既に
“AddHandler cgi-script .cgi .pl .asp”って書いてる所があるのでその下にでも。

んで、動かしたいpythonスクリプトの行頭に

とpython.exeがある場所を書いておきます。

以上で終わり。

確認

と書いて[xamppのフォルダ]\htdocs\pythontest.py に保存して

xampp_start.exe でサーバーを起動させて

http://localhost/pythontext.py

を開いて “hello world.”が表示されたらOK。
サーバーが起動してる状態で設定したらxamppを一回終了させて再起動させないと動きません。

やっとくと便利なこと

http://localhost/index.html が
http://localhost/ でも開けるように

http://localhost/index.py が
http://localhost/ でも開けるように設定しときましょう。

参考

Getting python to work on Xampp
http://www.macouno.com/2010/03/17/getting-python-to-work-on-xampp/