MacOS XをUNIXとして使ってる人の為のスレ
933 :
名称未設定:02/04/13 12:19 ID:bWpv4J+M
質問です。
OS XのWeb共有の設定を変えてCGIが使えるように設定しました。
それで、今掲示板のCGIスクリプトを書いているのですが、
open(OUT,">./logfile.dat");
print OUT "test\n";
close(OUT);
というファイルの書き出しテストを行う一連の動作を記述しても
ブラウザでcgiにアクセスするとなぜかファイルが作成されません。
ところがterminalからperl test.cgiと打ち込むとちゃんとファイルが
作成されます。
これは何が原因なのでしょうか?
934 :
名称未設定:02/04/13 12:46 ID:/dad5ui9
>>933 書き出し先のディレクトリーのパーミッションはどうなってる?
ユーザー www でも書き込み可能になってる?
935 :
名称未設定:02/04/13 12:49 ID:8tSqdeBi
>>933 test.cgi に実行権限つけてある?
$ ./test.cgi
で動く状態じゃないと CGI として動いてくれないハズ
あ〜なんかCGI関係の話題になっているからオレも。
933とおなじくOSXで、
/Library/Webserver/CGI-Executables/
でCGIを動かしているんだけど………
なんでか画像が全く表示されない。
『UNIX的徹底活用講座』でもよく見ると画像は表示されていないようだ…。
困った……=□○_
937 :
933:02/04/13 13:33 ID:bWpv4J+M
cgiを入れているディレクトリのパーミッションを777にしたらうまく行きました!
ありがとうございました!
777か・・・・。今からパチンコ逝ってきます!
938 :
名称未設定:02/04/13 17:33 ID:/dad5ui9
>>936 うろ覚えだから間違ってたらごめんだけど。
/etc/httpd/http.conf に変更を加えれば表示されるはず。
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options None
Order allow,deny
Allow from all
AddType image/gif .gif #追加
AddType image/jpeg .jpg #追加
</Directory>
え〜とだいたい、660行前後かな。
939 :
936:02/04/13 18:20 ID:9yaachyd
………見れないです………。=□○_
>『 え〜とだいたい、660行前後かな。 』
660行めに書けってのは分かりますが…最初の方意味不明です。
あ、あと
httpd.conf。
941 :
名無しさん@Emacs:02/04/13 18:40 ID:gp57AcSS
emacs-carbonでpcl-cvs利用すると反応がおそい気がする。
あとファイル一覧ででない??
対処する設定あったらおしえて
942 :
936:02/04/13 20:44 ID:eEHmSUv4
>940
『見れない』の意味が伝わってなかったようで。
『AddTypeの設定をやったのにも関わらずimage画像が見れない』です。
ついでにさ………ファイルを見るだけじゃ意味ないんじゃないの?(笑
>>932 今の時代ですとキャッシュでのオーバヘッドのほうが大きくなるので。
多人数で使って一つ専用で持つ事で、ヒット率などをあげるわけです。
みんなで見るページをキャッシュするという感じになるでしょうか。
>>942 >660行めに書けってのは分かりますが…最初の方意味不明です。
>あ、あと
>httpd.conf。
て書いてあったからhttp.confの意味しらんとおもって書いた:p
moreの意味がわかるなら、ほかもできるだろう。。きっと。
>『AddTypeの設定をやったのにも関わらずimage画像が見れない』
パーミッションは?
945 :
936:02/04/13 21:54 ID:weor/q8u
httpd.confはつまり初期設定ファイルでしょ。
>パーティション
フォルダ、ファイルとも777ですぜダンナ…。
947 :
名称未設定:02/04/14 01:24 ID:pWLk8wRh
>>903 遅レスだけど sedは1行づつ読み込んでその処理を行うので、
LF以外だと改行と認識出来んのでしょう。sed だとこうなんのかね。
sed -e 's@\([Hh][Rr][Ee][Ff]="\)/@\1./@g' -e s@\([Ss][Rr][Cc]="\)/@\1./@g
-print0 | xargs -0
findでprint0とすると出力結果に改行でなくヌル文字をつけまふ。
xargs -0はヌル文字を各出力の区切り文字として認識するオプション。
man みなされ。
>>903 >>947 に補足すると、find -print0, xargs -0 の利点は
「ファイル名に空白などが入っていてもちゃんと処理できるようになること」だね。
% cd; mkdir hoge; cd hoge; touch 'aho foo'
% find . -type f | xargs ls -l
% find . -type f -print0 | xargs -0 ls -l
とやるとよく分かる。
949 :
936:02/04/14 13:16 ID:WvA8Uw+8
おぉ〜しまった!!!
パーミッションね!!
>946
そのままレンタルサーバーにうpしても問題ないyo!
>>949 cgiの方も一応チェックしたら?
サーバによって設定が違うんだから、画像のパスをちょっと変更しないと
駄目みたいなこともあるでしょ。ってそんな単純じゃないとは思うけど。
>>945 CGIスクリプトに対してパーミッション777は全てユーザ、グループ
で読み書きできる設定なのでセキュリティ的に問題があるかと…。
通常は ファイルを作成するディレクトリのパーミッションも
757 にした方が多少は安全です。
また、レンタルサーバに転送するときもサーバのApacheの設定が
SuExec だったらパーミッションの設定が多少変わるので注意が
必要だと思います。
ところで、httpd.confは書き換えたらApacheの再起動はしてます?
再起動しないと設定の変更は反映はされないですよ。
コンパネの web共有を一回止めて再度共有開始するか
Terminalから sudo apachectl restart でOKですよ
見当はずれだったらゴメン。
953 :
936:02/04/14 18:44 ID:ulHZcUts
みなさんが親身で嬉しいです。
>950
KCatch.pm………エラーを追っかけるやつですが………全く反応しません。
ところが、
http://127.0.0.1/cgi-bin/background.gif と直に打ち込むとなんとInternal Server Errorに!
画像でInternalERRは初めてです。( ̄▽ ̄;;;
server error logってどこにあるのかな…。
>951
>chmod 777
あ、それはちゃんとアップの時にやってますので。
>リセット
もう何十回もしてます(笑
>>953 具体的にはhttpd.confの851行あたりに
AddHandler image/gif .gif
を追加。そして私は無駄レスし過ぎたことをかなり反省。
>>953 アクセスログ、エラーログは、 /private/var/log/httpd
そもそも、ScriptAliasに画像ファイルって置けたっけ?
958 :
936:02/04/14 21:37 ID:Zl5jvcDl
>956
おおお!!!
ついに………キターーー(・∀・)ーーー!!!
ありがとうございます!
>953
みてみました。
Consoleよりかは情報が得られそうですね( ̄▽ ̄;
959 :
903:02/04/14 22:49 ID:jP7V+0E/
>>947-948 レスありがとう。
sedは1行ずつ読み込むとあったけど、なるほどです。
-print0...については、改行をヌルに変える事までは調べられたけど、これもなるほどです。
知れば知る程奥が深いですね。
960 :
名称未設定:02/04/14 23:48 ID:v70TBdLn
wwwoffleをマシンの起動時に起動するにはどうすればいいでしょう?
DarwinFAQ日本語版
ttp://ppc.linux.or.jp/konishi/html/faq-j.htmlを見ながら、
/system/library/startupitems/に、wwwoffleというディレクトリを作り、
#!/bin/sh
. /etc/rc.common
ConsoleMessage "Starting wwwoffle Daemon"
/usr/local/sbin/wwwoffled
というシェルスクリプトをwwwoffleという名前で保存し、
{
Description = "HTTP Proxy Server Daemon";
Provides = ("WWWOFFLE");
Requires = ("Resolver");
Uses = ("Network");
Preference = "None";
Messages =
{
start = "Starting wwwoffled.";
stop = "Stopping wwwoffled.";
};
}
をPropertyListEditorで読み込ませ、StartupParameters.plistという名前で保存しました。
これ以外には何もしていません。
何が問題なのでしょう?起動しているかしていないかは、topで確認しました。
961 :
名称未設定:02/04/15 07:36 ID:O/RDjF1T
>>960 topでなくps -auxww|grep wwwoffleだとどう?
それとスクリプトに実行権限つけた?
962 :
質問者962:02/04/15 15:53 ID:e/POVZ+o
昔、EPKGで入れていたcannaserverの自動起動が出来なくなってしまいました。
設定し直したいと思っていますが、OS起動時の自動起動は
どこで設定するのでしょうか。
いろいろ調べて、/etc/rc.local に次のように書いてみたのですがダメでした。
if [ -f /usr/local/sbin/cannaserver ]; then
rm -f /tmp/.iroha_unix/IROHA
/usr/local/sbin/cannaserver;
echo -n ' cannaserver Start*'
fi
---
これを、rc.common に書いてみたら、OSが起動しなくなり大変でした。
よろしくお願いします。
963 :
名称未設定:02/04/15 22:09 ID:0rHcNTJH
jvim+onewがコンパイルできました。
いまは日本語マニュアルが表示できるように、manとgroffとを再コンパイル
しています。
LinuxのソースCDから取ってきたやつだとちょっとまずいみたい
ですね。Linux用のパッチとかあるからね。
HOSTの指定はFreeBSDで指定するとだいたいうまくいくみたい。
ネットツール以外。rpmファイルが利用できるように、rpmも入れました。
964 :
960:02/04/15 22:38 ID:MOc6M5Mf
>>961 ありがとう。できました。実行権限を付け忘れてた。実行できないときのFAQですね。
965 :
名称未設定:02/04/15 22:55 ID:FVJFO4dG
>>962 二つ上の960を参考にするといいかも。
>>960 ただ/System/library/startupitems/ ではなく /library/startupitems/
としたほうがいいかな。
/System以下は原則いじらないほうが幸せになれます。
966 :
名称未設定:02/04/15 23:17 ID:C4vko1EK
ccコマンドで、自分の作ったプログラム、コンパイルすると
/usr/bin/ld: /usr/lib/libSystem.dylib load command 6 unknown cmd field
って出るんだけど、どうすればいいの?
一応パスは通ってます。
967 :
名称未設定:02/04/16 00:02 ID:XWgwzCY+
>>966 ソースファイルやcc実行時のオプションが分からないと判断はできないのですが、
cc -framework System
というオプションではどうですか。
968 :
960:02/04/16 01:04 ID:mM78e8NM
>>961 ありがとう。できました。実行権限を付け忘れてた。実行できないときのFAQですね。
969 :
名称未設定:02/04/16 01:48 ID:XqBryuth
>967
オプション指定してやってみました。
966のエラーの前に
/usr/bin/ld: /System/Library/Frameworks/System.framework/System load command 6 unknown cmd field
と表示されます。ソースはprintf文1行のみです。
cc test.c とオプションなしなんですが...
ツール入れ直した方がいいですかね?
970 :
おならぷぅ太:02/04/16 02:26 ID:/woKsQN7
>>966 > ccコマンドで、自分の作ったプログラム、コンパイルすると
> /usr/bin/ld: /usr/lib/libSystem.dylib load command 6 unknown cmd field
> って出るんだけど、どうすればいいの?
とりあえず、エラーを調べるために、
otool -l /usr/lib/libSystem.dylibしてみよう。
/usr/lib/libSystem.dylibの、load command 6ってのは、
cmd LC_TWOLEVEL_HINTS
ってのが入っているはず。
で、ldはLC_TWOLEVEL_HINTSっていうロードコマンドがわからないと
ダダこねてます。
たぶん、あなたのOSXは10.1.xで、
古い10.0代のDev Toolsを使っていませんか?
10.1のDevToolsを入れましょう。
ちなみにotoolってのは、Mach-Oのフォーマットを調べるツールです。
これはまさに重要なツール。開発者ならMUSTなツールです。
例えば、CarbonやCocoa、Quartzなんかの内部がどう動いているかまで
調べられるよ。
971 :
960:02/04/16 06:47 ID:EoTfluIQ
>>968 wwwoffleが勝手に御爆死やがった。
972 :
名称未設定:02/04/16 18:39 ID:Kt6BjpPj
例えば cp -rp でサムネイルとかアイコンとかついたjpegファイルを複製すると
そういった付加的な情報が消えて素(?)のファイルがコピーされるみたいですね。
まあ、これはこれでそういった情報を消したいときに手軽でいいのですが、
これってどういう風になってるんですかね?Unixから見るとリソースは
別ファイル扱いってことですか?
また、コマンドラインからそういったリソース情報も含めてコピーしたいときは
どうするのでしょう?
973 :
素人:02/04/16 18:59 ID:LWzZdse1
cpmacコマンドでリソースフォークもいっしょにコピーできるみたいだよ。
要デベツール。
MacOSXターミナルコマンド ポケットリファレンスより
974 :
972:02/04/16 19:16 ID:Kt6BjpPj
>>973 おお、情報ありがとうございます。
DevTools入れてるのにないなぁとかちょっと調べてみたら
/Developer/Tools/
にパス通せばCpMacとかMvMacとかそれっぽいのがいろいろありますね。
これからいろいろ試してみます。
>972
CpMac
MvMac
>>972 fs が UFS だとリソースフォークを意識しないで cp できるね。
977 :
966:02/04/17 01:53 ID:BKC0wn7x
>おならぷぅ太さん
最新のDevTool落としたらうまくいきました。
otoolで調べたらload command 6が見つからないと言われました。
10.0に付いていた、DevTool を使おうとしたのが失敗だったんですね。
ありがとうざいます。
まだまだ勉強せねば・・・・
独自形式なんて使うから統一性ねぇな。
979 :
1:02/04/17 14:16 ID:eWhBQviC
嗚呼、終わった…
て言うか1000まで使い切ろうよ!
1000捕り合戦始まります。
∧∧ / ̄ ̄
〜,'´ ̄ ̄(*゚ー゚)< マターリシマショ。
UU ̄U U \__