このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

10.4.3でのサーバー構築(CGIの設定)

発言者:いっしゃん
( Date Friday, November 11, 2005 16:38:56 )


こんにちわ、たびたび参加させていただいてます。
そしていつも初心者的な質問におつきあいいただきありがとうございます。
今回もお助けお願いいたします。
前回、なんとかみなさんのおかげでMINI MACをサーバー公開することができました。
しかし10.4の情報が少なく、今度はCGIの設定がうまくいかず悩んでます。
ターミナルでの設定の仕方をアドバイスいただけますでしょうか。
バージョンはOSX10.4.3で、ローカル上でのCGI動作確認と
CGI-Executables以外の場所に.cgiファイルを置いても動作できるようにしたいです。
自分でtest.cgiファイルをつくり設置したらファイルがダウンロードされたり、
ソースが表示されてしまいます。
良きアドバイスお願いいたします。

今井真人 さんからのコメント
( Friday, November 11, 2005 17:45:42 )

設定としては、
/etc/httpd/httpd.conf
/etc/httpd/users/ユーザ名.conf
の辺りですが、どこをいじりましたか?

いっしゃん さんからのコメント
( Friday, November 11, 2005 18:23:50 )

コメントありがとうございます。
CGI-Executableでは動くように/etc/httpd/httpd.confを
#AddHandler cgi-script .cgi
を
AddHandler cgi-script .cgi
今井真人さんの過去の発言を参考になおしました。
MacOS X 10.4のCGI環境
http://mtlab.ecn.fpu.ac.jp/webcon.mtxt$050504073331.html

cgiがどこの場所でも(CGI-Executable以外の)動けるようにしたいのですが。。。

いっしゃん さんからのコメント
( Friday, November 11, 2005 18:33:33 )

上記の件がアバウトですので付け加えると

現在は
http://www.ドメイン名.com/cgi-bin/test.cgi
までは大丈夫なのですが下記みたいにしようとするとうまくいきません。
cgi-binフォルダから抜け出す方法を。

http://www.ドメイン名.com/〜userフォルダ/test.cgi
http://www.ドメイン名.com/〜userフォルダ/001/test.cgi

上記みたいにどこにcgiファイルを置いても
動かせるようにしたいのですがどうしたらいいでしょうか?

今井真人 さんからのコメント
( Friday, November 11, 2005 18:43:21 )

>http://www.ドメイン名.com/〜userフォルダ/test.cgi
ですと。。。

/etc/httpd/users/ユーザ名.confを以下のように修正します。

<Directory "/Users/ユーザ名/Sites/">
    Options All
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

今井真人 さんからのコメント
( Friday, November 11, 2005 18:44:20 )

>http://www.ドメイン名.com/〜userフォルダ/test.cgi
ではなく、
http://www.ドメイン名.com/〜ユーザ名/test.cgi
のほうが適当でした。

いっしゃん さんからのコメント
( Friday, November 11, 2005 19:18:38 )

コメントありがとうございます。

ターミナルで一度<ユーザ名.conf>デスクトップにコピーして

cp /private/etc/httpd/users/ユーザ名.conf ./Desktop

その<ユーザ名.conf>を元にもどそうとしたら

./Desktop/fiユーザ名.conf /private/etc/httpd/user/ユーザ名.conf

Permission denied が出てきました。
ちなみにCGIも動きませんでした。どこがいけなかったのでしょうか?

いっしゃん さんからのコメント
( Friday, November 11, 2005 19:20:11 )

./Desktop/fiユーザ名.conf /private/etc/httpd/user/ユーザ名.conf
↓
./Desktop/ユーザ名.conf /private/etc/httpd/user/ユーザ名.conf
の間違いです。よろしくお願いいたします。

今井真人 さんからのコメント
( Friday, November 11, 2005 19:52:53 )

viが使えないとつらいですねぇ。それから、suコマンドでスーパーユーザに
なっていますか?

私はviのddコマンド、iコマンド、ZZコマンド、そしてMacOS Xのコピー&ペースト
機能を使ってメンテナンスします。

長官 さんからのコメント
( Friday, November 11, 2005 21:36:49 )

httpd.confで.htaccessに何でも許すようにすれば?
他にもユーザが居て自由にさせたくないのなら具合悪いですが…

いっしゃん さんからのコメント
( Friday, November 11, 2005 22:19:37 )

>今井真人さん
コメントありがとうございます。
時間がたちスーパーユーザーの権限が外れてたみたいです。
もう一度下記sudoでやったらできましたありがとうございます。
sudo cp ./Desktop/ユーザ名.conf /private/etc/httpd/user/ユーザ名.conf