トップページunix
1001コメント297KB

Apache関連 Part8

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/01/04(水) 16:46:23
HTTP ServerのApacheに関する話題を扱うスレッドです。

http://httpd.apache.org/



HTTP Serverの最新Versionは
Apache/2.2.0
Apache/2.0.55
Apache/1.3.31


●まずはマニュアル嫁。
 http://httpd.apache.org/docs/ Apache 1.3
 http://httpd.apache.org/docs/2.0/ Apache 2.0
 http://httpd.apache.org/docs/2.2/ Apache 2.2

●「自分」でバージョンぐらい調べるれ。
 httpd -h
 httpd -V コンパイル条件など詳細な情報

Apache関連 Part7
http://pc8.2ch.net/test/read.cgi/unix/1108649446/
Apache関連 Part6
http://pc5.2ch.net/test/read.cgi/unix/1084829611/
0442名無しさん@お腹いっぱい。2006/04/05(水) 12:39:07
Listen で指定しているポートが使われるんだと思うが、
心配なら実験すれば良かろう。そしてここに報告。
0443名無しさん@お腹いっぱい。2006/04/05(水) 15:33:06
>>441 面倒くさいから普通は指定しない。親ホストの設定が継承されるし。
0444名無しさん@お腹いっぱい。2006/04/05(水) 19:08:38
>>437
ディスクキャッシュを使った時って、apacheのログのステータスコードはどうなるんですかね?
キャッシュファイルが生成されてるから、うまく効いてるんだろうと思っているんだけど。。。
0445名無しさん@お腹いっぱい。2006/04/05(水) 22:44:55
ディスクキャッシュだろうが、メモリーキャッシュだろうが、HTML抱えて居ようが
違わんだろ
クライアントにリソース送れれば、200とか301とかで
無ければ404、認証引っかかったら500番台
04464442006/04/05(水) 23:24:07
>>445
という事は、mod_cache使用前に比べて304の比率が多くなったら
キャッシュが有効になってるって判断してる感じですかね?
0447名無しさん@お腹いっぱい。2006/04/06(木) 03:06:46
それもあるけど、むしろ注目すべきはバックエンドとのトラフィックでは?
04484442006/04/07(金) 01:30:48
>>447
なるほど。有効、無効切り替えて試してみます
04494302006/04/07(金) 10:01:56
>>432
ログには、Premature end of script headers というエラーが出ています。

mailmanに問題はないはずなので意味がさっぱりわかりません。
ローカルでそのファイルを実行すると以下のようにでます。
gid 48 はapacheです。

Content-type: text/html

<head>
<title>Mailman CGI error!!!</title>
</head><body>
<h1>Mailman CGI error!!!</h1>
This entry is being stored in your syslog:
<pre>
Failure to exec script. WANTED gid 48, GOT gid 0. (Reconfigure to take 0?)
</pre>

1週間過ぎましたが未だに解決できないです... orz
0450名無しさん@お腹いっぱい。2006/04/07(金) 10:04:53
頼む。教えてくれ。
Server version: Apache/2.0.54

掲示板のSPAM書き込み対策で、
DocumentRoot /var/www

<Directory /var/www/bbs>
Order Allow,Deny
Allow from all
Deny from example.com
</Directory>

なんてやってるのだが、
example.comからの
http://www.hoge.co.jp/bbs/hage.cgi
へのアクセスは遮断できるのだが、

http://www.hoge.co.jp:80/bbs/hage.cgi
とやられると、アクセスできてしまう。

これじゃしょうがいないので、対策したいのだが、なにかいい案はないかね?
04514302006/04/07(金) 10:07:05
>>449
suexec_logには、こんなのが出ていました!

crit: calling user mismatch (hogeuser instead of apache)

virtualhostで以下の設定にしているのになんででしょう?
User apache
Group apache

httpd.conf全体(virutalhostでない設定)では、以下の設定になっていて
これが有効になってしまっているように見えます。
User hogeuser
Group hogeuser

んー、よくわかんないです。
0452名無しさん@お腹いっぱい。2006/04/07(金) 11:59:46
>>430
suexec -V の結果は?
確認のためにね。
04534302006/04/07(金) 12:48:43
>>452
# /usr/sbin/suexec -V
-D DOC_ROOT="/var/www"
-D GID_MIN=100
-D HTTPD_USER="apache"
-D LOG_EXEC="/var/log/httpd/suexec_log"
-D SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D UID_MIN=100
-D USERDIR_SUFFIX="public_html"

マニュアル見てもVirtualHostでもできると書いてあるのになぁ...
以下httpd.confのvirtualhostの設定です。

<VirtualHost xxx.xxx.xxx.xxx>
ServerAdmin webmaster@example.com
DocumentRoot /var/mailman/html/
ScriptAlias /mailman/ /var/mailman/cgi-bin/
ServerName mailman.example.com

Alias /pipermail/ "/var/mailman/archives/public/"

<Directory /var/mailman/archives>
Options +FollowSymlinks
</Directory>

User apache
Group apache
</VirtualHost>
0454名無しさん@お腹いっぱい。2006/04/07(金) 16:04:18
>>453
"crit: calling user mismatch (hogeuser instead of apache)"

なんだから、configure するときの
--with-suexec-caller=unko
と conf の User, Group が一致してないか、
もしくは実効ユーザとファイル所有者が一致してないのかな?

# というか、User と SuexecUserGroup を混同してないかい?
0455名無しさん@お腹いっぱい。2006/04/07(金) 16:05:32
>>450 ちゃんと設定すればそんなはずはないw
04564502006/04/07(金) 16:24:57
>>455
いや、少なくとも、

>example.comからの
>http://www.hoge.co.jp/bbs/hage.cgi
>へのアクセスは遮断できるのだが、
>
>http://www.hoge.co.jp:80/bbs/hage.cgi
>とやられると、アクセスできてしまう。

これ、ほんとだって。ログを見てうそだろと思ったが、
ためしに、現にアクセスしているクライアント(自分)をDenyしたら、
ほんとにそういう挙動だった。
0457名無しさん@お腹いっぱい。2006/04/07(金) 16:30:50
VirtualHost でへんな設定してない?

とはいえ、アドレス収集ロボットとおぼしきクライアントが
:80 つきでけっこうアクセスしてきてるので、
SetEnvIf Host ":80$" hoge
deny from env=hoge
しておくのも悪くはない。
04584302006/04/07(金) 16:54:33
>>454
> なんだから、configure するときの
> --with-suexec-caller=unko
コンパイルをしたのが、レンタルサーバ屋さんなのでコンパイルオプションは
ちょっとわからないです。
suexec -Vの結果の -D HTTPD_USER="apache"とは違うのでしょうか?

> と conf の User, Group が一致してないか、
httpd.confのはじめのUser, Group は、hogeuserとなっていて一致していないです。
virtualhostのは、apacheで、一致しています。

> もしくは実効ユーザとファイル所有者が一致してないのかな?
この場合の実行ユーザは、どのように確認できるのでしょか?
僕の理解では、virtualhostの User apache の設定でapacheになると思っている
のですが

> # というか、User と SuexecUserGroup を混同してないかい?

違いがわからないです...
0459名無しさん@お腹いっぱい。2006/04/07(金) 17:36:06
>>458
apache 1.3 とは違うということです。
ttp://httpd.apache.org/docs/2.0/ja/mod/mpm_common.html#user
ttp://httpd.apache.org/docs/2.0/ja/mod/mod_suexec.html
0460名無しさん@お腹いっぱい。2006/04/07(金) 18:23:24
>>457
レスありがとな。

いやー、VirtualHostは特に使ってないなー。

>SetEnvIf Host ":80$" hoge
>deny from env=hoge

ぐは。はじめて見る技。見てみるわ。

しかし、ありえんよなー。
0461名無しさん@お腹いっぱい。2006/04/07(金) 18:38:59
ServerNameが2.0から fully-qualified-domain-name[:port] に変わってるから
それと<VirtualHost>の中に<Directory>を入れると起こるとか。
04624502006/04/07(金) 19:32:03
>>461
あり。週明けになっちゃうんだけど、それも見てみるわ。
0463名無しさん@お腹いっぱい。2006/04/07(金) 21:28:31
>>453
エラーとは関係ないと思うが
-D DOC_ROOT="/var/www"
ならば、
DocumentRoot /var/mailman/html/
の場所では、CGI動かないのでは?
0464名無しさん@お腹いっぱい。2006/04/08(土) 11:05:05
各バーチャルホストで共通のErrorDocumentを使う方法ってないですか?

ErrorDocument 403 /error/403.html
ってhttpd.confに書いても
結局各バーチャルホストの /error/403.html を内部で読みに行ってしまい、表示されない。
各バーチャルホストのDocumentRootにシンボリックリンクで error ディレクトリをリンクしていますが、
バーチャルホストを作るたびにこれをやるのは不便です。

error用のバーチャルホストを作ってそこにリダイレクトする方法も考えましたが
なるべくリダイレクトは使いたくありません。
0465名無しさん@お腹いっぱい。2006/04/08(土) 11:19:56
非バーチャルホストの方で Alias /error/ /.... としておけば。
バーチャルの方で /error/ を上書き Alias したらダメだけど。
0466名無しさん@お腹いっぱい。2006/04/08(土) 12:13:20
Windows版apacheもこちらでよいですか?

実は、apacheを起動時に起動しておきたいのですが、
サービスとして登録しておいても、起動時に起動してくれません。

そこで、スタートアップに登録しておきたいのですが、
今度は、DOS窓が出てしまいます。
DOS窓を出さずに、裏で起動させることはできないでしょうか。
0467名無しさん@お腹いっぱい。2006/04/08(土) 12:15:09
>>465
できました。ありがとう。
0468名無しさん@お腹いっぱい。2006/04/08(土) 12:43:32
>>466
まずはサービスに登録不可(というより登録はできるけど起動できないのかな?)
の原因を把握するのが先ではない?
0469名無しさん@お腹いっぱい。2006/04/08(土) 12:46:47
Apache 2.0以降はNT系のWindowsじゃないと、サービスにうまく登録できないみたいだよ。

そもそもWindowsのサービスの設定方法がだめならOSの使い方の問題だと思う。
04704662006/04/08(土) 14:36:22
バージョンとか書いてなかったすね。
ゴメンナサイ(この板の人はやさしいなあ

サービスに登録不可なのではなく、
サービス一覧に載っていてスタートアップの種類を「自動」にしているのですが、
何故か、起動時に起動しませんでした・・・。

実際には、XAMPPに付属のものを使ってます。

OS: WindowsXP HOME SP2
Version: Apache 2.2.0
0471名無しさん@お腹いっぱい。2006/04/08(土) 14:40:24
んじゃ、イベントログでも見れや。
04724662006/04/08(土) 14:44:28
解決しました。

外付けHDDにインストールして、起動時に外付けHDDをつないでいなかったのが問題のようでした。
そりゃそうですね。
起動時に、外付けHDDをつないでいれば、起動するようになりました。
おれアホ・・・

ありがとうございました。
0473名無しさん@お腹いっぱい。2006/04/13(木) 18:11:40
http://ホスト名/ と
http://ホスト名/~Unixユーザ/
のアクセスログを分けて出力させるにはどうすればいいでしょうか?
0474名無しさん@お腹いっぱい。2006/04/13(木) 18:47:50
ディレクティヴで指定すりゃええやん
0475名無しさん@お腹いっぱい。2006/04/16(日) 18:24:20

htaccessファイルをブラウザからパスワード変更等の編集が出来るようなものって
ありませんか?
0476名無しさん@お腹いっぱい。2006/04/16(日) 18:39:47
つWebmin
0477名無しさん@お腹いっぱい。2006/04/17(月) 01:23:14
access_log や error_log 削除するのって
一旦apache止めてからが無難でしょうか?
膨大な量が発生するんでcronで毎日定期的に削除したいんですが、
一旦停止するのは面倒だなとおもいまして。
0478名無しさん@お腹いっぱい。2006/04/17(月) 01:39:35
削除した後シグナルUSR1を送ればよくね?
0479名無しさん@お腹いっぱい。2006/04/17(月) 02:13:39
>>477
logrotateとか、類似のツールがあるだろ。
0480名無しさん@お腹いっぱい。2006/04/17(月) 19:24:34
>>477
httpd.confでログ取らない。って指定も出来るよ。
0481名無しさん@お腹いっぱい。2006/04/18(火) 00:17:20
>>477
つ/dev/null
0482名無しさん@お腹いっぱい。2006/04/18(火) 11:24:30
一番簡単なのはこんなのじゃないかな?

cd /path/to/log/
mv access_log access_log.old
mv error_log error_log.old
kill -HUP `cat /path/to/httpd.pid`
0483名無しさん@お腹いっぱい。2006/04/18(火) 15:32:43
ログファイルを圧縮する際に、1、2の様に番号ではなくて日付をつけることはできますか?
suseだと付くのですが、FC5だと付きません。何か良い方法はないでしょうか?
0484名無しさん@お腹いっぱい。2006/04/18(火) 15:41:20
>>483
man logrotate
0485名無しさん@お腹いっぱい。2006/04/18(火) 23:38:38
Index of /x/ps
Name Last modified Size Description
--------------------------------------------------------------------------------
Parent Directory 01-Jan-1980 00:00 -
[VD] [000427] メ・.> 23-Jan-2005 18:16 1154M
[CD] [020328] サ..> 22-May-2003 05:47 551M

インデックスリストが全部表示されないのですが、どこいじればいいんでしょうか・・
あと文字化けもしてるんですが、何か関係ありますでしょうか

04864852006/04/19(水) 00:28:19
自己解決しました。
0487名無しさん@お腹いっぱい。2006/04/19(水) 00:40:11
インデックスリストのスタイルシートはどのファイルでしょうか?
0488名無しさん@お腹いっぱい。2006/04/19(水) 00:51:23
html のソース嫁ばいいじゃん。
0489名無しさん@お腹いっぱい。2006/04/19(水) 00:59:26
場所が分かれば読めると思うのですがどれなのかが分かりません。
0490名無しさん@お腹いっぱい。2006/04/19(水) 23:54:22
釣りは他所でやれ。

エラーページ表示させてブラウザから見るって方法もあるし、
そもそもマニュアル見てねえダロ。ヒントはOooxoDocumentディレクティブだ
0491名無しさん@お腹いっぱい。2006/04/20(木) 00:05:45
マルチの相手すんな。
0492名無しさん@お腹いっぱい。2006/04/20(木) 17:36:28
FancyIndexに飽きてしまった。
 要望としては、日本語表示必須(これはできることだけど)、見た目が良い
(負荷はそこまで気にしない。) PHPでも可、画像ファイルはサムネイル自動生成

そんなディレクトリ表示のmodありますかね。 またおすすめのあったら教えてください。
Apache22です。
0493名無しさん@お腹いっぱい。2006/04/20(木) 18:19:43
その前にHeaderNameやReadmeNameのファイルにCSS叩き込んだりしてみるとか。
0494名無しさん@お腹いっぱい。2006/04/20(木) 18:23:14
DirectoryIndexの最後に/cgi-bin/index.cgiみたいなのを追加する方法もあるか。
0495名無しさん@お腹いっぱい。2006/04/20(木) 19:30:37
特にメインなのがサムネイル生成なんですよね。

 ありませんかねー そんな便利なの・・・・
0496名無しさん@お腹いっぱい。2006/04/20(木) 19:39:34
モジュールじゃなきゃいかんの?
0497名無しさん@お腹いっぱい。2006/04/20(木) 19:47:12
無いなら作れ、それがオープンソースクォリティ。
0498名無しさん@お腹いっぱい。2006/04/20(木) 21:42:27
PHPならmbstringとgd使って一瞬で出来そうだが
0499名無しさん@お腹いっぱい。2006/04/21(金) 14:15:25
リアルタイムでwebカメラの画像を流したいのですが、apacheでできますか?
0500名無しさん@お腹いっぱい。2006/04/21(金) 16:35:52
>>499
どうやってアップするかの方が重要じゃないですか?
apache はあくまでも受け口であって、アップするクライアント側が
何に対応しているかがポイントです。

ちょっとした鯖屋やっているのですが、ftpで30秒おきにアップする
香具師とかがいて萎えます・・・orz
0501名無しさん@お腹いっぱい。2006/04/21(金) 16:39:00
アップ?
0502名無しさん@お腹いっぱい。2006/04/21(金) 17:09:12
アップも知らない初心者の方はお帰りください。
0503名無しさん@お腹いっぱい。2006/04/21(金) 17:16:41
>>499はストリーム配信の話をしたいんだと思うんだが
05045002006/04/21(金) 18:05:02
>>503 Service Unavailable
あぁ、なるほど。よく分からないけど、それにしたってカメラ側の
実装というか仕様に依存するものではないんですかね・・・?
0505名無しさん@お腹いっぱい。2006/04/21(金) 18:24:22
何がしたいのが具体的に書け。
・・・apache以前の問題だと思うけどね。
0506名無しさん@お腹いっぱい。2006/04/22(土) 20:58:26
プロトコルが http じゃ無いと思われ
0507名無しさん@お腹いっぱい。2006/04/24(月) 17:42:05
暗号化認証→sshトンネリングでhttpの経路ごと暗号化
ってssl使わないと無理なんでしょうか?
0508名無しさん@お腹いっぱい。2006/04/24(月) 17:58:21
???
0509名無しさん@お腹いっぱい。2006/04/24(月) 20:15:08
こ、これはきついな・・・w
0510名無しさん@お腹いっぱい。2006/04/24(月) 20:30:47
ssl使わなくてもsshだけで出来るよ。
0511名無しさん@お腹いっぱい。2006/04/25(火) 03:15:02
ファイアーウォールで80以外止めれていると見た

やめとけw
0512名無しさん@お腹いっぱい。2006/04/25(火) 04:44:55
Apacheの設定を一から知りたいのですが
日本語で詳細に説明しているサイトなどありますでしょうか?
# httpd -v
Server version: Apache/1.3.34 (Unix)
です。
すいませんがよろしくお願いします。
05135072006/04/25(火) 04:58:08
判りにくくてすみません。
HTTP over SSHを、apacheのbasic認証みたいに
ブラウザ上で行なう認証方式でssh通信を開始して
以降の通信を自動で暗号化くれないのかと思いまして。
apache単体では無理なのでしょうか?
0514名無しさん@お腹いっぱい。2006/04/25(火) 06:39:33
>>511
日本語なら「ら」が必要
0515名無しさん@お腹いっぱい。2006/04/25(火) 08:18:19
>>512
>>1
0516名無しさん@お腹いっぱい。2006/04/25(火) 09:37:19
ファイアーウォールで80以外を止められているわけではありませんでした。
これで行けられますか?
あと、こういう関係のヒントになるサイトはどこかで読められますか?
0517名無しさん@お腹いっぱい。2006/04/25(火) 10:29:29
>>516
日本人なら語尾ににょが必要
0518名無しさん@お腹いっぱい。2006/04/25(火) 11:35:32
Apacheが502エラーを吐きまくる…
0519名無しさん@お腹いっぱい。2006/04/25(火) 11:48:38
チラシの裏に書け
0520名無しさん@お腹いっぱい。2006/04/26(水) 17:11:47
Apache 2.2.1と2.2.2のタグが切られてるのにリリースされてないのはなぜ?
0521名無しさん@お腹いっぱい。2006/04/26(水) 17:54:30
タグくらい好きに切らせてやれ
0522名無しさん@お腹いっぱい。2006/04/26(水) 18:32:48
2.2.1はよくわからんけどリリースはなしになった。
2.2.0はそろそろリリースされそう。
http://httpd.apache.org/dev/dist/
0523名無しさん@お腹いっぱい。2006/04/26(水) 21:54:23
http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS
2.2.3 : in development
2.2.2 : Tagged on April 21, 2006.
2.2.1 : Tagged on April 1, 2006, not released.
0524名無しさん@お腹いっぱい。2006/04/27(木) 12:46:25
>>518
ウチの場合, 2.2.2 で ProxyPass + http balancer 使うと出るね。
とりあえず,SetEnv proxy-nokeepalive 1 で出なくなったけど。
相変わらず,バックエンドとの ConnectionPooling の部分で何か問題があるのかも。
0525名無しさん@お腹いっぱい。2006/04/27(木) 16:16:48
2.2.0のあとProxy関連でいろいろ修正があったからねえ。
KeepAlive関係も。
0526名無しさん@お腹いっぱい。2006/04/28(金) 07:57:24
balancerはMLでやりかけかよゴルァネタがあったような。
0527名無しさん@お腹いっぱい。2006/04/28(金) 11:25:07
http://www.atmarkit.co.jp/flinux/special/apache22/apache02.html
これってプロキシを有効にしないと使えないのですか?
0528名無しさん@お腹いっぱい。2006/04/28(金) 17:44:39
>>527
プロキシ有効じゃなくても使えるけど,DiskCacheはプロキシ時に使わなきゃ
意味ないと思う。
0529名無しさん@お腹いっぱい。2006/05/01(月) 14:27:22
NFSのキャッシュとか。
0530名無しさん@お腹いっぱい。2006/05/01(月) 14:34:15
>>529
俺それで使っています。
0531名無しさん@お腹いっぱい。2006/05/01(月) 16:28:45
質問させていただきます
CGIを使いたいと思いhttpd.confに
<Directory /usr/home/*/public_html/cgi-bin/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
と書くと同ディレクトリに入ったHTMLファイルが読めません

SetHandler cgi-script
を、追加するとHTMLが読めるようになるのですがCGIが実行できなくなります
CGIが実行できてHTMLも読めるようにしたいのですがどうすればいいのでしょうか?
0532名無しさん@お腹いっぱい。2006/05/01(月) 16:39:34
Filesディレクティブで*.cgiを指定
05335312006/05/01(月) 17:09:57
>>532
ありがとうございます
実際のところ設定ファイルの記述があまりわかっていないので、設定ファイルをコピペしたりしています

それで、以下のように書き直してみましたが
HTMLは読めるのですが、CGIの実行ができません
<Files "\.cgi$">
SetHandler cgi-script
Options ExecCGI
</Files>

<Directory /usr/home/*/public_html/cgi-bin/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

0534名無しさん@お腹いっぱい。2006/05/01(月) 17:21:18
>>533
正規表現使いたいときには
<Files ~ "正規表現">
ってやれって
http://httpd.apache.org/docs/2.2/ja/mod/core.html#files
ここに書いてあるけど、その件に関して一言言ってくれ。
05355312006/05/01(月) 17:30:16
地球は青かった


すいません、調子に乗りました
ありがとうございます。
人とおりサイトに目を通させてもらいたいと思います
0536名無しさん@お腹いっぱい。2006/05/01(月) 20:25:09
>>534

http://httpd.apache.org/docs/2.2/ja/mod/core.html#files
> ただし、 <FilesMatch> を使う方が 推奨されています。

0537名無しさん@お腹いっぱい。2006/05/01(月) 20:32:13
スマンが,age させてくれ。
みなさん,お待ちかね。2.2.2 および 2.0.58
http://www.apache.org/dist/httpd/Announcement2.2.html
http://www.apache.org/dist/httpd/Announcement2.0.html

0538名無しさん@お腹いっぱい。2006/05/01(月) 20:48:32
1.3.35もキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
http://www.apache.org/dist/httpd/Announcement1.3.html

0539名無しさん@お腹いっぱい。2006/05/02(火) 02:27:49
>>538
Reported by JPCERT だって
やるぢゃんw
0540名無しさん@お腹いっぱい。2006/05/03(水) 14:57:40
/dir/index.html で開くページが /dir/ 指定で開かなくなってしまいました。

つまり、ファイル名ではなくディレクトリを直接指定すると、

ブラウザに表示されず、ダウンロード画面になってしまいます。

「保存」してエディタで開くとindex.htmlの内容にはなっているのですが。

DirectryIndex の設定は index.html になっているので、、、。 /dir でも同様です。

HTTPヘッダーをみると/dir/のほうは Content-Type: text/html を返していません。

/dir/index.htmlのほうはちゃんとをtext/htmlを返していますのでMIMEの設定は問題無いのですが。。。

何かお心当たりのかたいますか?

環境はApache/2.0.52 (CentOS) です。
0541名無しさん@お腹いっぱい。2006/05/03(水) 16:04:49
>お心当たりのかたいますか?
どきっ!もしかして設定ミスしたかも。ちょっと確認してみます。
■ このスレッドは過去ログ倉庫に格納されています