Ubuntu Server 10.10, Apache2, CGI 設定

http://twitter.com/ka_ が Apache2 の設定に苦労したその軌跡
0
@ka_

なんか Ubuntu Server の Apache で,CGI の設定がおかしい気がする…

2011-03-17 13:25:08
@ka_

それはそうと Perl の一つも CGI として実行出来ない状況ってどういうことなの…

2011-03-17 15:54:30
@ka_

/usr/lib/cgi-bin/ にシンボリックリンクとか作ったところでどうにもならんかった

2011-03-17 15:54:53
@ka_

/etc/apache2/mods-available/mime.conf の AddHandler cgi-script .cgi のコメントアウトを外してもダメ

2011-03-17 15:58:06
@ka_

そこに .pl と .rb を追加してもダメ

2011-03-17 15:58:22
@ka_

Apache は難しいなぁ…

2011-03-17 15:59:28
たけしけー @takeshik

@ka_ まずは ScriptAlias で動くかどうか。スクリプトの改行コードも確認

2011-03-17 16:04:44
@ka_

@takeshik ScriptAlias ってなんですか… あとスクリプトは直にサーバで書いてるので改行コードの問題は無いはずです

2011-03-17 16:05:32
@ka_

@takeshik ScriptAlias ってなんですか… あとスクリプトは直にサーバで書いてるので改行コードの問題は無いはずです

2011-03-17 16:05:32
@ka_

ScriptAlias ディレクティブってのがあるのか.どこだ.

2011-03-17 16:06:34
たけしけー @takeshik

@ka_ Alias の代わりに置いてスクリプトとしてハンドリングされるのを強制する、あまり行儀の良くないディレクティブ

2011-03-17 16:07:49
@ka_

あ,VirtualHost セクションの中にあった.

2011-03-17 16:07:58
青猫 @AonekoSS

@ka_ Apacheに限らずUnix系じゃ基本的な事だけど、うちが昔引っかかったことあるポイント→スクリプトの頭に書いあるパスがちゃんとperlのあるとこ指してるか?/スクリプト自体に実行属性ついてるか? いまでも時々忘れがち……

2011-03-17 16:08:28
@ka_

@AonekoSS #!/usr/bin/perl と chmod +x はバッチシです.が,どうも Apache で /usr/lib/cgi-bin/ がどうのこうのとかで,ですがそもそもそこには何も無いしシンボリックリンク作っても意味なかったしどうしようなう.

2011-03-17 16:10:35
@ka_

カスタマイズが自由自在の欠点は,シンプルなことを設定するのが苦労することだよぅ.まぁ理解したら威力が半端ないことになるのは分かってるので頑張る.

2011-03-17 16:11:44
@ka_

スクリプト側に #!/usr/lib/cgi-bin/perl って書いて,% ln -s /usr/bin/perl /usr/lib/cgi-bin/perl とかしても意味は無かった.

2011-03-17 16:13:19
@ka_

% which perl の結果は /usr/bin/perl で間違いないだす. % perl -v は v5.10.1 (こっちは今はそれほど関係無いはず

2011-03-17 16:14:24
@ka_

よーするに Apache の思想を理解しないとダメなんだな ^w^

2011-03-17 16:14:56
青猫 @AonekoSS

@ka_ CGIの置き場所を区別しないってのなら、ルートのディレクティブでOptions ExecCGIとか入れちゃえばOK。

2011-03-17 16:15:24
@ka_

@AonekoSS それもあるっぽいんですよねぇ… VirtualHost セクションの Directory "/usr/lib/cgi-bin" セクション内に Options +ExecCGI -MultiViews +Symbo(略) ってディレクティブがあります.

2011-03-17 16:17:44
@ka_

あれ?さっきはスクリプトの文章が表示されるだけだったのが Forbidden になっとる…

2011-03-17 16:20:02
@ka_

あれ俺何やったっけ

2011-03-17 16:20:08
@ka_

s/スクリプトの文章が/スクリプトのコードがそのまま/

2011-03-17 16:20:45
Atsushi SUGAWARA @peanutsjamjam

私がよく忘れがちなのは、CGI スクリプトを実行するのは自分じゃなく、サーバを動かしてるユーザだってこと。wwwさんとかnobodyさんとか。 RT @ka_: それはそうと Perl の一つも CGI として実行出来ない状況ってどういうことなの…

2011-03-17 16:22:25
@ka_

@peanutsjamjam Ubuntu なので www-data:www-data さんが動かしてるはずですね.ちょっと試してみます.

2011-03-17 16:23:26