Apache統合スレ 10 (HTTPServer以外も含む)
1 :
DNS未登録さん :
2009/06/16(火) 22:01:05 ID:+5+Iyezt
4 :
DNS未登録さん :2009/06/18(木) 12:38:16 ID:WAKW1vb1
html のままPHPを有効にしようと思い Apacheの設定ファイルに AddType application/x-httpd-php .php .html と記述しているのですが、ブラウザで開くと .php形式のファイルは正常に動くのに対して、 .htmlは<? ?>で囲んだ部分が無視されます。 例) hoge.htmlのコードを … 本日は雨天なり<br> <? echo "さいたまー"; ?> … と書くとブラウザで表示されるのは ↓のようになります … 本日は雨天なり … 環境 OSはRHE3 Apache2.0.58 PHP4.4.2 この場合、htmlファイルでPHP動作を有効にするのにはどうしたらよいでしょうか?
設定ファイルのどこに書いた?
6 :
DNS未登録さん :2009/06/18(木) 13:45:01 ID:WAKW1vb1
>>5 httpd.confに直接書きました。
設定ファイルのディレクトリ内に限定しています。
<Directory /hoge/dir/>
AddType application/x-httpd-php .php .html
</Directory>
>
ちなみに
ディレクトリを限定せずに書いてもうまくいきませんでした
まずは、、、切り分けのために AddType まるごとはずしてphpがどうなるか見てみては。 ディレクトリ指定は外で書いたのが動作確認取れてからやった方がいい。
<? じゃなくて <?php なら動いたというオチなら殴る。
9 :
DNS未登録さん :2009/06/18(木) 16:21:58 ID:WAKW1vb1
>>7 コメントアウトすると、
PHPのソースがまるみえになります。
(ソースを保存するかどうか選ばせるダイヤログが出る)
>>8 もちろん<?phpは試しました
つまりAddTypeは効いてるってことね。 html 以外の拡張子も試してみては。 どこか別のとこでハンドルしてるのがいるのかな?
>>10 そのようでした
ハンドルしてるヤツをコメントアウトしたところうまくいきました。
ありがとうごさいました。
UserDir + suEXECについて質問させて下さい。
現在、友人など20人くらいにサーバスペースを貸している状態です。
OSがCentOS5.3、Apacheは2.2.3です。
<virtualhost>ディレクティブを使用し、名前ベースで全て運用しており、
その内の一つは、ssl.domain.comという感じで共有SSLを使用しようとしてます。
このディレクティブ内だけについては、userdirを使用し、
ttps://ssl.domain.com/ユーザー名/ という感じに動かそうとしております。
基本的に問題なく動くのですが、cgiのみsuEXECの関係からか正常に動きません。
cgiファイルを755などにすれば動きますが、suEXECを効かせ、700などでも動くようにしたいです。
(実際のcgiは各ユーザーのpublic_html以下に置いてあります)
<virtualhost *:443>
ServerName ssl.domain.com
UserDir public_html
AliasMatch ^/([^/]+)/(.*) /home/$1/public_html/$2
DirectoryIndex index.html index.htm index.php index.php index.cgi
<Directory /home/*/public_html>
Options -Indexes Includes ExecCGI FollowSymLinks
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
</virtualhost>
SuexecUserGroup user groupはこの場合要りませんよね?
# suexec -V
-D AP_DOC_ROOT="/home"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
<virtualhost>内でUserDirを有効にしてかつ、suEXECを有効にするにはどうすれば良いでしょうか?
example以外使うな
違う形ですが、一応解決しました /ユーザー名/を諦め、AliasMatchを消して、 通常通り/~ユーザー名/とアクセスさせることで、普通にUserDirのsuEXECが効くんですね。 勉強になりました。
ローカルでCGIをテストするためだけにApachを動かしています。 アクセスすると Forbidden You don't have permission to access /r.cgi on this server. と出てしまいます。 httd.confに何か追加すればいいんでしょうか?
Apacheで、リクエストヘッダをすべてログに記録することはできますか。 調査のためなので、パフォーマンスの低下は承知の上です。 なにかプロキシサーバをかませばいいような気もするのですが、よい方法があれば教えてください。
18 :
DNS未登録さん :2009/06/23(火) 16:09:08 ID:uICE6Q/F
httpd.conf等々を見る方法ではなく、実際にどのような値がhttpdに 設定されているかを見るにはどのようにしたらよいのでしょうか? mysqlとかの「show variables」みたいに実際にどうセットされている かの確認をしたいのですが・・。 宜しくお願い致します。
httpd -?
>> 20 結構、ヤバくね
やられたら実際ちょっとやばい とりあえずTimeout(KeepAliveじゃないよ)を短く設定すれば逃げられる、かな、らしい
23 :
DNS未登録さん :2009/06/24(水) 13:54:08 ID:HhJ0M1Td
サーバーが重くて、ヘタレな私では、何がどーやれば良いの判りません。 とりあえず、topコマンドで 問題ありそうなトコをコピペします。 load average: 8以上なんてザラです。 ご教授ください。 1:メモリがいつも 0k shrd, 0k buff と、0になるんですが、これってよいのでしょうか。 2: mysqld が、TIMEが17:55となって、多分暴走してかと思います。 どのプログラム(PHP)か追えるのでしょうか? 3:遅い原因は何か判りますでしょうか? ------------------------------------------ load average: 8.26, 4.99, 3.14 98 processes: 97 sleeping, 1 running, 0 zombie, 0 stopped CPUstates: cpu user nice system irq softirq iowait idle total 10.5% 0.0% 8.8% 0.0% 0.0% 39.7% 40.8% Mem: 3119876k av, 507680k used, 2612196k free, 0k shrd, 0k buff 0k active, 0k inactive Swap: 0k av, 0k used, 0k free 0k cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 19867 mysql 15 0 176M 14M 1824 S 11.2 0.4 17:55 1 mysqld ・・・・・
iowaitが39.7%ってことはディスクが遅いか何かトラブルがあって 読み書きに遅延が生じてるんじゃね? それで処理待ちが貯まっていってLAが跳ね上がってる気がする あとスワップが0kって何? 大量にメモリあって使わないとしても普通スワップは作るだろ
ありがとうございます。 そうなんです。いつも 0なんです。 なぜそうなるのか判らないでいます 設定する方法ってありますか?? Mem: 3119876k av, 555644k used, 2564232k free, 0k shrd, 0k buff 0k active, 0k inactive Swap: 0k av, 0k used, 0k free 0k cached
26 :
23 :2009/06/24(水) 14:46:17 ID:???
頻繁にiowaitが40%〜70%になります..
mysqldはずっと動いてるんだろうし17:55とか気にする数字じゃない。 まあ遅いのはSQLがらみな気はするが。 遅いSQL探してインデックス貼るなりしてチューニングしてみそ。
28 :
23 :2009/06/24(水) 15:39:56 ID:???
iowaitの方もそうですし、、何かのSQLが影響してるかもとはわかっているのですが。 遅いSQLの探し方が判らなくて困ってます。 MysqlのGPLプログラムが結構動いてまして.. ヘタレですみません。
29 :
23 :2009/06/24(水) 15:46:36 ID:???
iOWAITが97%.. 誰か( p_q)エ-ン
で?
Apache関係ないね、MySQLのとこで聞いたほうが確実
32 :
23 :2009/06/24(水) 17:16:04 ID:???
table_cashをいろいろ煽ってまして..そこを煽っても、 MemのbuffやSwapが常に0なのは変わらないので。。多分、Apache側の設定かと.. Mem: 3119876k av, 555644k used, 2564232k free, 0k shrd, 0k buff 0k active, 0k inactive Swap: 0k av, 0k used, 0k free 0k cached
33 :
DNS未登録さん :2009/06/24(水) 17:37:19 ID:yQL5zCuX
おもろすぎるw
PHPなんだろ? DBのクライアントはapacheのプロセスで動いてるだけで 原因がDB側にあることに変わりはない。
まずMySQL止めてどっちが原因か切り分けろ
>>24 専用鯖じゃなくてVPSなんじゃないか?
OpenVZはswapなしになるからね
37 :
DNS未登録さん :2009/06/26(金) 14:17:44 ID:Q7AWLeh4
なんかエラーが出てapache2起動できないんですが解決方法教えて下さい。 どこの設定変えればいいですか? OSはubuntu9.0.4です。 Apacheを起動できませんでした : /usr/sbin/apache2ctl start : apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs
>>37 ポート80が既に何かに使われているので起動出来なかったと。
鯖名についてはワーニングレベル。
解決しなくても起動するが、メッセは出る。
39 :
DNS未登録さん :2009/06/26(金) 15:34:48 ID:Q7AWLeh4
>>38 返答ありがとうございます。
現在、ポート80がはClosed状態なんですが、ポートが閉じてるからエラーが出るって事でしょうか?
それとも別のプログラムが80番を使っているって事ですか?
41 :
DNS未登録さん :2009/06/26(金) 16:15:45 ID:gVW/ap2/
netstatで調べろよw
43 :
DNS未登録さん :2009/06/26(金) 17:38:07 ID:gVW/ap2/
>>42 ありがとうございます!
おかげさまで直りました。
# ps -efで調べたらaolserverってのが動いててそれを止めたらapache2が起動できるようになりました。
>>16 なんでしょう?DドライブにAppachインストールしたのが原因でしょうか?
Windowsかよ。 環境書かないとわからんぞ。 そのディレクトりでcgi実行させる権限設定してないんだro
>>45 Windowsです・・
権限設定とはこれでしょうか?
httpd.confをいじって設定するんですよね?
ScriptAlias /cgi-bin/ "D:/Program Files/Apache Group/Apache2/cgi-bin/"
#
# "D:/Program Files/Apache Group/Apache2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "D:/Program Files/Apache Group/Apache2/cgi-bin/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
47 :
DNS未登録さん :2009/06/28(日) 17:46:32 ID:gK80VgYY
初心者がWindowsなんか使うな
とりあえずそのエラーメッセージはどこ見たの? httpサーバのエラーログかな 基本的にExecCGIが無いかパーミッションだと思うけど ScriptAliasだからExecCGIいらないし、Windowsじゃパーミッション設定ないしよくわからんな
>>49 おいおい
ScriptAliasじゃないのかよ
/r.cgiって変だと思ったけどわざわざconf書いてるから省略したのかと・・・
/cgi-bin/ でAliasしてるんだからD:/Program Files/Apache Group/Apache2/cgi-bin/にr.cgiを置いた上で
http://localhost:8080/cgi-bin/r.cgi か、htdocsの下に置くんならDirectory / で Options ExecCGIだろ
/じゃないか、 Directory /・・・/htdocs
>>50-51 すいません、そのとおりでした・・・
ありがとうございます
皆さんご迷惑お掛けしました・・・
53 :
DNS未登録さん :2009/07/01(水) 07:59:32 ID:oBPQhKXA
初心者です、centOSとapache2使ってます
グローバルIPアドレス2つあるとして、どうやってそれぞれを同一サーバ上の別々のコンテンツに結びつけるんですか?
/var/www/html/で今1つ目のwebサイトが動いてるとして、もう一つ/var/www2/html/をつくって
この二つのディレクトリに対してIPを紐づけるの? それはどうやるんですか? linuxのスレで聞くべきでしたらすみません。
あと、
http://localhost/をブラウザでアクセスしたら 、ドキュメントルートとして指定された/var/www/htmlを
開きますが、上に書いたように/var/www2/html/って感じでもう一つwebサイト作った場合、それをブラウザで確認するには
どうしたらいいんでしょうか? いちいちhttpd.confなりをさわって書き換えて再起動とかしたくないんですが…
NameVirtualHost *:80 <VirtualHost *:80> ServerName hoge DocumentRoot "/var/www/html/" </VirtualHost> <VirtualHost *:80> ServerName hoge2 DocumentRoot "/var/www2/html/" </VirtualHost>
>>54 それはNameベースのVirtualかと。
>>53 IPで分けるでいいんだよな?
>>53 VirtualHost でだめな理由はなにかあるの?
>>56 ダメな理由っていうか、そういう手段を知らないだけかと。
58 :
DNS未登録さん :2009/07/01(水) 10:59:52 ID:oBPQhKXA
>>58 VirtualHost と NameVirtualHost は違うってことをわかってる?
60 :
DNS未登録さん :2009/07/01(水) 11:39:48 ID:oBPQhKXA
include_pathって何のこと? ってphpの話か・・・ 実行時に切り替えるんじゃfだめなのか? あとIPアドレス複数あるなら、そもそもhttpd.conf自体を切り替えて2種類のhttpdを 起動することも可能。
php_value include_path で、どう?
中途半端な知識を付けた人間の典型的な例だな
64 :
DNS未登録さん :2009/07/01(水) 13:31:33 ID:oBPQhKXA
>>61 ありがとうございます。
2種類のhttpdを起動するってことはapacheを二つ動かすってことになるんでしょうか?
そうすると、リソースを倍消費することにならないですか?
include_pathで質問しましたが、それに限らず文字コード設定などサーバ周りの設定を
ipアドレス(サイト)ごとに独立して持たせたいんですよね。。
無理なのかなぁ、htaccessとかで個別に設定するしかないかなー
>>62 それってどういうことですか?
申し訳ないです、もう少し詳しく書いてもらえたら嬉しいです
すみませんが、いろんな方のアドバイスおまちしてます
よろしくお願いします
.htaccessで済む内容なら全てhttpd.confでもできるよ。 何がしたいのかよくわからん上に要求する内容もわからん リソース倍じゃいかんのか。
サーバ初心者なんですが、XPでwebサーバを構築している途中で、 Userdirのモジュール定義を有効にするとApacheが起動しなくなって困っています。 何が原因かわからず、ここで質問させていただきました。
XPでサーバ構築すんなカス ライセンス違反するような人間がサーバーなんかやるなカス
>>67 その話さぁ、未だに向こう(USA)とこっちではマイクロソフトの見解が違うままなんだよね
俺も当時webサーバでは無いが両方の国で問い合わせて混乱したことがある
結局はっきりしないままだったんでOS変更することになったが
その後のOS(Windows SERVER系)ではCALの内容が変更されたのでそれ以降は明記されてる
(明記されている内容以外ではCALを必要としない、となった)
>>68 XAMPPからApacheの起動を行っているのですが、開始を押すとApache起動とはでるものの実際は起動できていない状態です。
開始ボタンも停止ボタンに切り替わりません。
エラーログのほうは、モジュール定義を有効にして開始ボタンを押すとログすら残らない状態です。
>>70 WindowsとXAMPPで鯖なんか立てるなゴミクズ
こっちが迷惑すんだよ
>>72 有効にするまではブラウザからアクセスが確認できていたのですが、
有効に設定しているときは接続が確立できなかったためです。
あとは開始ボタン横に起動の表示が出なかったことから判断しました。
ログのほうでも開始のログが残らなかったという理由で、起動できてないものと考えています。
何でこんな踏み台候補に優しく色々教えてやるんだろう
ThreadsPerChild 10かThreadsPerChild 5でライセンスの問題は回避できるんじゃないの?w
76 :
DNS未登録さん :2009/07/02(木) 05:42:34 ID:J7NwxTmY
アパッチのセキュリティに関する知識を強化したいんですが、オススメの本ありますか? オライリーのapacheセキュリティっていう本を候補に考えてますが、 できたらlinuxの設定の知識も一緒に身に付くものが嬉しいです よろしくお願いします
77 :
DNS未登録さん :2009/07/06(月) 17:21:54 ID:vK8OBbfN
携帯からのアクセスが非常に多いサイトで、 perlで作成したCGIプログラムへのアクセスがかなりあります。 この場合、Apacheのチューニングを行うには、どの値を どのようにするのが適切でしょうか? 若干ロードアベレージが高い感じです。5.0程度 環境は RHE3 Apache/2.0.58 perl5.8.0 です。
>>77 CGIが重いわけではない?
CGIが重いのなら、それを改善させないと意味がない。
現在使用しているmpmは何?
それからLA5で若干って、CPUのコア数いくつ?
何が原因かも判らずに設定を弄っても効果がない所か、
悪化させる可能性もあるので順を追っていこう。
>>77 mod_perlくらいは最低つかっているんだよな?
変にチューニングとか考えるより 今の流行はFastCGI
LAが気になるならワーカースレッドMPMを使ってプロセス数をごまかせw プリフォーク()笑なんてやめちまえw
そして不安定システムまっしぐらに
もっぱらphpで開発してるからperlは知らんのだけど APCやeaccelaretorみたいな高速化ツールないの?
2.2.12がいつ出るのかどっかに載ってたりする?
85 :
DNS未登録さん :2009/07/07(火) 22:28:20 ID:0IkTTJZU
どこにも載ってない devメーリングリストでも話題に出てない こういうときっておそらく非公開のMLでいつ出すか話し合ってるんだと思う AJPの致命的なバグとかあるんだからさっさと出してもらいたい
Apache2.2でWebDavの設定をしました。 OSはwin xp Homeです WebDavの共有フォルダはServerRoot配下しかできないのでしょうか?
そんなことはない それ以上はあなたがどういう設定したのかわからないから何ともいえない。
SetEnvIfを複数設定する場合、andみたいなことはできないでしょうか? たとえば下みたいな感じです。 SetEnvIf Remote_Addr ^192.168. OFFICE=yes SetEnvIf Remote_Addr ^172.1[6-9]. OFFICE=yes この分を簡単に SetEnvIf Remote_Addr ^192.168. or ^172.1[6-9]. OFFICE=yes みたいにかけないでしょうか?
何で二つ書いたらだめなの?
91 :
DNS未登録さん :2009/07/09(木) 20:04:43 ID:m0OP0gfA
^(192.168.|172.1[6-9].)
>>92 おぉ!GJです!ありがとう
楽しみだなぁ
SetEnvIf Request_URI "\.html" weblog SetEnvIf Request_URI "\.htm" weblog SetEnvIf Request_URI "\.php" weblog SetEnvIf Request_URI "\.cgi" weblog SetEnvIf Remote_Addr 192.168.100 local SetEnvIf Remote_Addr 127.0.0.1 local SetEnvIf Request_URI "default\.ida" worm SetEnvIf Request_URI "cmd\.exe" worm SetEnvIf Request_URI "root\.exe" worm SetEnvIf Request_URI "Admin\.dll" worm SetEnvIf Request_URI "NULL\.IDA" worm #自分以外のアクセス(HTML) CustomLog logs/access_log combined env=weblog <-- ワームとローカルホストの記録も排除したい #自分以外のアクセス(jpgとか) CustomLog logs/data_log combined env=!weblog <-- ワームとローカルホストの記録も排除したい #一応自分のアクセス(全て) CustomLog logs/localhost_log combined env=local #ワームとかのアクセス CustomLog logs/worm_log combined env=worm って感じにわけてるのですが、少し行き詰りました。 どなたかお力をお貸しください
>>94 肝心の「何をしたくて行き詰った」のかが書いてない気がするのは気のせい?
>>95 条件を複数許可する方法がいちまちわからないです。
CustomLog logs/access_log combined env=weblog env=!worm env=!local
だとエラーになるし。。。
98 :
DNS未登録さん :2009/07/13(月) 22:47:22 ID:Qet5Ot8t
わくわく
サイト内にある特定のURLへのリンクの記述が多数あるとします。
(例
http://aaa.bbb.com/ )
このリンク先のURLが変更になってしまいました。
(例
http://ccc.ddd.com/ )
サイト内の各ファイル内のリンクの記述を
aaa.bbb.comからccc.ddd.comに書き換えるのはかなりの手間が予想されるため、
Apacheの設定などでソース内の特定のリンク先URLを別のURLに置換して
出力することなどはできませんでしょうか?
よろしくお願いします。
>>99 それがリンクかどうかを判断する手段がないかと。
コンテンツ変換してくれる串を間に挟んだ方がいいんじゃないかな?
>>100 .htaccessとcgiで実現はできましたが、レスポンスとか負荷が気になるので、
shellで一気に置換することにします。
ありがとうございました。
リダイレクトでも良いような気がする
つかてるレンタル鯖にmod_throttleが入っているということで .htaccessに <IfModule mod_throttle.c> ThrottleClientIP 1 volume 1M 1200 </IfModule> を追加して、2Mくらいの画像ファイルも.htaccessが利くフォルダにうpしといて ブラウザからその画像に何回かアクセスしてみたのですが、503ページになってくれませんでした・・ mod_throttleが利くかどうか一人で試してみたいのですが.htaccessにどう記述してやればいいのでしょうか・・ よろしくお願いします
ヘタレな私にご教授ください。 今、HTTPサーバのテストサーバとして構築しているのですが、クライアントの環境に応じてapache1.X apache2.X と 両方用の環境が必要なのですが、面倒なのでアドレス等の変更でどちらも使用できるようにしたいのです。 つまり、mysql php等はすでにインストールされてるものを使用し、 apacheのみ1系2系どちらもインストールし、アドレス等を違うアドレス指定する程度で内部で使用されるapacheを変更したいのです。 ググってもあまりそれっぽいことをされてる方がおられなかったので、 良い解決策をお持ちの方おられましたらご教授ください。
Listenポート変えれば良いんでね?
ポート変えるのも手軽だけど PCに複数のIPアドレス振れるから、それで2つ起動してもいいな。
>>106 それでもポートは変えなくちゃダメなんだぜ。
リスントゥマイハー ルッキンフォーユアドリーム
もしご存じな方がいたら教えてほしいのですが、 <Directory /test> Order Deny,Allow Deny from all Allow from (IPアドレス1) Allow from (IPアドレス2) </Directory> と設定した時に、IPアドレス2からアクセスするとものすごく遅くなります。 順序を逆にするとIPアドレス1からが遅くなります。 色々な環境で試してみたのですが、ここのサーバだけこうなります。 OSはSUSE Linuxです。 apacheは2.2だったと思います。
遅くなるんですか、それは良かったですね。
111 :
104 :2009/07/17(金) 23:31:56 ID:???
お返事遅くなり申し訳ありませんでした。 >IPアドレス2つ 確かにアクセスする分にはそれぞれ別のアドレス叩けるのは便利なので なるほど!と思ったのですが、LANカード2枚挿せという意味でいいのでしょうか? それとも、何かしろの設定(ソフトイーサのようなもの?)で無理やり二つIPアドレスを設定するのでしょうか?
IPアドレス二つ振ってもポート変えなきゃイカンよ 結果としてIP一つでも大丈夫だと思う
113 :
DNS未登録さん :2009/07/17(金) 23:36:59 ID:JjeeiRlm
LANカード2枚刺すのがわかりやすいけど
LinuxとかFreeBSDとか(ほかのUnixもそうだろう)なら1つのNICにいくらでもIPアドレス割り当てられる
>>112 別にポート変えなくてもListenディレクティブにIPアドレス書けばOK
114 :
112 :2009/07/17(金) 23:41:27 ID:???
な、なんだってー!!
115 :
DNS未登録さん :2009/07/17(金) 23:44:58 ID:JjeeiRlm
IPアドレスとポート番号の組合わせでListenするんだよ Apacheの場合普通にListenディレクティブににポート番号だけ書くと、 "ANY"でListen、つまり全てのIPアドレスでListenする ListenディレクティブにIPアドレスとポート番号を指定すると、 そのIPアドレスでしかListenしない だから、複数IPアドレスがあれば同じポート番号で2つ起動することは可能
116 :
104 :2009/07/17(金) 23:48:28 ID:???
>>112-113 な、なんだってー!!
と、とりあえず乗ってみたところで
なるほど凄く分かりやすい回答ありがとうございます。
つまりはethの設定ファイルにアドレス二つ列挙して、
(NICのアドレス固定に使用していたので理解できていますが、二つ列挙できるのは初めて知りました。)
apache 1.X ならListenディレクティブにAアドレスを、
apache 2.X ならListenディ(ryにBアドレスを直接記入ということで理解しましたが、大丈夫でしょうか?
これでできるなら非常にラクで助かります!
まあ、そうなんだけど、ポート番号で変えるのはダメなの? IPアドレスを複数振る方法あんまり理解してないように見えるし OSの設定まで変えなきゃいけない ポート番号変えて2つ起動なら、Apacheの設定だけ変えれば済む
どっちでもいいけど手間はあまり変わらんでしょ コマンド一発入れるだけでIPアドレス追加できるし アクセスする側がポート番号省略できるからテストしやすい場合もあるし
まあお好きな方を選べって事でしょ
120 :
104 :2009/07/18(土) 00:04:44 ID:???
>>117-118 このボンクラの為に皆さん優しすぎて涙でそうです。。。
>ポート
そうなんですよね、テストサーバーなので毎回ポート番号の指定で解決するのも
ちょっと今回は微妙なんですよね。
>>117 IPアドレスの割付は辛うじてググらなくても大丈夫だと思われます。
当方Debianなので/etc/network/interface で追加で記入すればいいのですよね。
昔はVineだったので設定ファイル探すのに難儀した記憶があります。
ですので、今回はアドレスの追加で検討してみようと思います。
これなら適当にアドレスごとにドメインあてて明示できるので便利かなと思いまして。
121 :
104 :2009/07/18(土) 00:09:37 ID:???
>>115 直接お礼申し上げるの遅くなりました。有難うございました。
この方法で記述してみようと思います。
今回はapacheスレの住人の方々の優しさに感動でした。
有難うございました。
IP複数割り当てても、どっちかのapache立ち上げたら、 残りを上げた時に、ポート使っているからダメと言われないか? てっきりそうだと思ったんだが。 NICが複数ならともかく。 ローカルで自分自身に対して127.0.0.1:80に投げたらどっちが拾うのさ? 競合してないか? 考え方間違ってたら指摘よろ。
192.168.1.1:80と192.168.1.2:80をつかえばいいんでないかい
127.0.0.1も1つの(仮想)NICにすぎない
>>122 > IP複数割り当てても、どっちかのapache立ち上げたら、
> 残りを上げた時に、ポート使っているからダメと言われないか?
上で話されてるやり方なら言われない
IPベースのバーチャルホストとネームベースのバーチャルホストは別(やってることは似てるが)
IPベースでの話なら
> ローカルで自分自身に対して127.0.0.1:80に投げたらどっちが拾うのさ?
これはどっちも拾わない
まあ今回のはバーチャルでもなくて、別のhtttpd起動だけどね。 アドレス追加はifconfigでいける。再起動したときに自動で設定する必要があるなら 設定ファイルに書いておく必要があるが
SetEnvIf Request_URI "\.(html)|(htm)|(cgi)|(php)$" img CustomLog logs/img_log testformat env=!img ってしてるのですがどうやらうまく動作していないです。 何がおかしいのでしょうか?
外部プログラムから、いま動作しているプロセスの数を知ることはできませんでしょうか?
>>128 psコマンド
くらいしかエスパーのしようがない
unixならいくらでもやりようがあろうに
>>128 もうちょい具体的に。
知りたいのはapacheのプロセス数?
132 :
127 :2009/07/18(土) 20:08:08 ID:???
検索したらHITするんですけど・・・ でも実際には、ちゃんと使えないorz やっぱり一つずつ書くのが確実??
>>128 です
皆さんありがとうございます、言葉足らずですみません、もう少し詳しく説明しますと
1〜2時間の間に、二十万件のアクセスを処理できるhttpdサーバー構築の依頼があります。
CGIをCに書き換えるなどの対策は終わっているのですが、未知の領域です
そこで、アクセス数(子プロセス)の数を取得しながら、次々に仮想サーバーを
起動させ(apacheも含む)外部からのアクセスを複数のサーバーに分散させようと思います。
ps aux | grep httpd
このオペレーションでhttpdのプロセスは確認できますが、他に方法は無いものかと思い質問させてもらいました。
ロードバランサの話?
>>134 ロードバランサを導入する予算が無いので、なんとかならないものかと思案しているところです。
ロードバランサなんて単なるラウンドロビンさせるだけならLinuxマシン一台ありゃあ無料でできるっしょ。 それよりmod_cgidsoくらいは試してみたのかね
>>136 目から鱗といいますか、ロードバランサって数百万円するものと思っていました、
mod_cgidso これも知りませんでした、既にCGIの方は実装済みで、負荷テストも概ね良好な結果は得られているのですが
更にオーバーヘッドが軽減ができれば、それに越したことは無いので時間との関係(納期)もありますが
試行錯誤してみる価値はありそうです、後は仮想サーバ(多分xen か、openvz の商用版)と、ロードバランサのインターフェースを、実装すれば問題が解決できそうです
リアルサーバーを、数十台並べる方法もありですが、そういう時代ではないので、仮想化で対応できれば最善です。
ありがとうございました、光明が見えてきた気がします。
138 :
DNS未登録さん :2009/07/18(土) 22:29:06 ID:??? BE:797184544-2BP(2)
で、2.2.12はまだなの?氏ぬの?
139 :
127 :2009/07/18(土) 23:57:27 ID:???
SetEnvIf Request_URI "\.(html)|(htm)|(cgi)|(php)$" img SetEnvIf Remote_Addr 192.168. remote img no_log SetEnvIf Remote_Addr 127.0.0.1 remote img no_log CustomLog logs/access_log testformat env=!no_log ローカルIPのアクセスは記録せずに、html等のファイルだけのアクセス記録を記録したいのですが うまくいかないです。どうすればいいのでしょうか? SetEnvIf Request_URI "^\.(html)|(htm)|(cgi)|(php)$" img no_log こういう風にしても、動作してくれないです。 毎回、ログ消して確認してるので更新前のログを見てるとかはないと思います。
>>137 ロードバランサ詳しくないけど、セッション管理とかさせなくちゃいけないんだとすると無料のでは大変かもよ
例:サーバAへ一度来てloginしたセッションはずっとサーバAに割り振る
(Aにlogin後のアクセスでサーバBへ割り振られても「loginしとらんじゃろ!」と怒られる)
>>137 まぁ本当に効果的に負荷分散するなら百万コースだけどね
ラウンドロビンってのは単純に交互に違うサーバにアクセス振り分けるだけだから
SetEnvIf Request_URI \.html$ test htmlにアクセスした時だけログ分けてます。 hogehoge.com/index.html だと記録されますが、 hogehoge.com/ でのアクセスだと記録されないです。 どういう風に設定すればいいのでしょうか?
143 :
DNS未登録さん :2009/07/20(月) 14:54:51 ID:3FlEzGUO
suexecについて質問です。
UbuntuでApache2をインストールしa2enmodでsuexecを有効にました。
Alias /hoge /home/hoge/piyo
の設定をしてテスト用CGI /home/hoge/piyo/test.cgiを設置し
http://xx.xx.xx./hoge/test.cgi で実行してみたところtest.cgiのパーミッションが705だと正常に実行されるのですが700だと
Internal Server ErrorになりApache2のログをみるとPermission deniedといわれています。
ユーザhogeではなくwww-dataの権限で実行しようとしているようです。
ぐぐってみたところSuEXECはドキュメントルート以下のみで有効との記述を見つけたのですが
上記のようにAlias設定している場合にCGIを所有者権限で実行させるにはどうすればよいでしょうか?
今更だけどnaverのクローラー酷いね 今日は暇だったからログ眺めてたら一時間に1000回以上徘徊してやがった 間隔は2-10秒に一回とかアホみたいな頻度でweb内全部踏んでいくし 404にばかりアクセスされたせいで無意味に鯖が重くなった
うちは昔Googleにrobot.txt無視されて落ちたことあるわ
ああいうのってDoSと同じで訴えれば勝てると思うんだが
>>145 robots.txt を robot.txt にしてたとか言わないよな
>>138 そろそろ出すかというところで、APRにLinux Kernel 2.6.26で発生する致命的なバグが発覚したので、どうするのかなってところ
naverは邪魔でしかないから範囲指定してブロック googleももう少し落ち着けって言いたいな
ホストの拒否ってhtaccessやhttpd.confか、他のパケットフィルタリングどっちでやってる? 前者だとapacheのプロセス内でホスト判断するから結局はリソース食われるからあまり意味が無いって認識。 俺は後者でやってるんだが実際どうなんだろうな。
大まかなのはIPtablesで、一時的なアク禁は.htacceesに設定してる
apacheでのウェブサイト管理に関して質問です。 linux環境で/etc/apache2/sites-available内に置いてあるサイト個別の設定ファイルを 修正した後に、それを反映する方法としてapacheの再起動以外にないでしょうか? 複数のサイトを管理している場合、一つのサイトの設定を変更する度にapacheを再起動 するのもどうかなと思いまして。 宜しくお願いします。
なんでreload使わないの?
reloadだとサービスは停止しないのですか?
>>154 "サービス"は停止しない(restartとは違う)
その瞬間にアクセスがあれば瞬断は起きるがそんなにクリティカルな運用が必須なら
そもそもそう簡単に修正出来ないだろうに
そこまで必要ならメンテ告知でも出してからやれよ
アクセスが殆どない時間帯 例えば4時5時ごろat使ってrestartすれば?
Apache2にreloadなんてないよ 何言ってるの
graceful
わざわざreloadなんて使うほうが言葉遊びだろ ここは初心者スレではないがわざわざ初心者がわからない言い換えをするのはどうにかしてる
Gentooだとinit.d内でreload定義されてるけどな 中身はgracefulしてるだけだが
>>160 言い換えも何も1系から使ってた奴はreloadの方が馴染んでるだけだろ
俺のもデフォのrunscript見たらreload書いてあるけどな(中身は
>>161 と同じ)
CentOSにもあるよ!
>>162 まぁ、どっちの言い分もわかるけど、質問者のディストリに当てはまるなら良いが、
そうでないならディストリによって異なる可能性がある表記は避けるべきじゃないかな?
注釈入れるだけでも良いけど。
アプリケーションでそういう処理する時って 一般的にリロードって言わね? 設定ファイル読ませたりとか
kill -HUP
社会人だとして reload?全然意味解らん。ああgracefulの事ね、ハイハイ みたいなやり取りしたら絶対出世できないな
CentOS 4.x + Apache 2.0.x だけど、service httpd reload で、がしがし 運用中でもconfを読み込んで重宝しているよ。 gracefulとは、明らかに挙動が違うんですが... なんで、こんなにreloadなんかないと指摘でびっくり
>>169 CentOS 4.7のRPM見てみたけど、単にSIGHUPを送信してるだけだから
つまりapachectlのrestartと同じ
そこ文字化け解消させて意味が通るようにしないと不都合ある場所か?
>>171 server-statusの文字コードはISO-8859-1とハードコーディングされてるから無理
それかapacheのロケールを日本語にするのをやめるべき
>>170 ありがとうさんです。
ってことは、やたら瞬断させていたんか..
とっとと実験用鯖をたてなきゃ
175 :
171 :2009/07/25(土) 05:53:00 ID:???
176 :
171 :2009/07/25(土) 05:53:15 ID:???
回答です。。。
>>127 (a)|(b)|(c)でなくて(a|b|c)
2.2.12キタ━━━━━━(゚∀゚)━━━━━━ !!
Webdavサーバを作ろうと思い、Webdavの設定まではうまくいったのですが、日本語のエンコードをしようと encoding_modをインストールしようとしていますが、makeでつまづきうまくいきません。 何が原因でしょうか。 make mod_encoding.c:228: warning: implicit declaration of function 'apr_pstrdup' mod_encoding.c:228: warning: assignment makes pointer from integer without a cast mod_encoding.c:235: error: 'regex_t' undeclared (first use in this function) mod_encoding.c:235: error: (Each undeclared identifier is reported only once mod_encoding.c:235: error: for each function it appears in.) mod_encoding.c:235: error: expected expression before ')' token mod_encoding.c:235: error: too few arguments to function 'ap_regexec' mod_encoding.c: In function 'set_server_encoding': mod_encoding.c:267: warning: assignment makes pointer from integer without a cast mod_encoding.c: In function 'add_client_encoding': mod_encoding.c:293: error: 'REG_EXTENDED' undeclared (first use in this function) mod_encoding.c:293: error: 'REG_ICASE' undeclared (first use in this function) mod_encoding.c:293: error: 'REG_NOSUB' undeclared (first use in this function) mod_encoding.c:298: warning: assignment makes pointer from integer without a cast mod_encoding.c: In function 'default_client_encoding': mod_encoding.c:324: warning: assignment makes pointer from integer without a cast mod_encoding.c: At top level: mod_encoding.c:355: warning: missing braces around initializer mod_encoding.c:355: warning: (near initialization for 'mod_enc_commands[0].func') mod_encoding.c:355: warning: initialization from incompatible pointer type mod_encoding.c:359: warning: initialization from incompatible pointer type mod_encoding.c:363: warning: initialization from incompatible pointer type mod_encoding.c:367: warning: initialization from incompatible pointer type mod_encoding.c:371: warning: initialization from incompatible pointer type mod_encoding.c: In function 'mod_enc_parse': mod_encoding.c:553: warning: implicit declaration of function 'apr_psprintf' mod_encoding.c:553: warning: passing argument 2 of 'ap_pbase64encode' makes pointer from integer without a cast mod_encoding.c:555: warning: implicit declaration of function 'apr_pstrcat' mod_encoding.c:555: warning: passing argument 3 of 'apr_table_set' makes pointer from integer without a cast apxs:Error: Command failed with rc=65536 make: *** [mod_encoding.so] エラー 1
180 :
179 :2009/07/31(金) 07:29:42 ID:???
書き忘れましたが、ApacheのVer.は2.2.11です。
mod_encoding.c:235: error: 'regex_t' undeclared (first use in this function) これを見る限り、そのmod_encodingとやらは2.0用で、2.2で使うにはソースコードの修正が必要
182 :
179 :2009/07/31(金) 10:19:02 ID:???
183 :
179 :2009/07/31(金) 10:44:27 ID:???
yumで削除して再インストールしたところ自己解決しました。 ありがとうございます。
184 :
179 :2009/08/01(土) 00:07:21 ID:???
連投すいません。 Webdavに関してなのですが、sslによる認証つきでネットワークプレースに追加するところまでは成功しました。 しかし、いかなる名前のファイルも作成できません。 mod_encodingのせいで日本語のファイルが作成できないのかとも思い、半角のディレクトリやファイルをコピーしようとしても、 「○○○という名前のフォルダを作成できません」もしくは「選択したファイルのいくつかまたは全てのコピー中に、エラーが発生しました」と出て失敗します。 どうしたら解決できるのでしょうか。
パー・・・
ry)ミッ(ry
ry)ショ(ry
188 :
179 :2009/08/01(土) 00:45:22 ID:???
返信ありがとうございます。 しかし、パーミッションをは最初に疑って、公開ルートから全てnoboyにして755に設定しておりますが、 それでもこの現象が発生します。
189 :
179 :2009/08/01(土) 01:27:34 ID:???
あれ? 突然できるようになった。 なんでだろう? ともかく、ご迷惑をお掛けしました。
190 :
DNS未登録さん :2009/08/01(土) 01:56:56 ID:FRR48eK+
丸っきりの初心者なのですが、こちらでお聞きしてもよろしいでしょうか?
naniwo?
192 :
190 :2009/08/01(土) 02:06:12 ID:FRR48eK+
>191> ダウンロード&インストールを済ませブラウザで動作確認をしたのですが、 動きませんでした。 この様な初歩的なトラブルなのですが、こちらで相談してもよろしいでしょうか? 大丈夫そうでしたら詳細を書き込みます。
>>192 Apacheのことなら何の問題ないと思うよ。
「それApacheと関係ねーよ!」というものなら無視されるかスレ違いと言われるか別スレに誘導されるだけだし
#数レスに渡るわけじゃないんなら、聞く前に書き込めばいいと思うのは俺だけだろうか・・・
スレ違いかどうかの判断もつかないなら くだ質に行けばいい
nagiosをインストールしてウェブサーバの設定をしようと
httpd.confに、
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
All from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share/">
AllowOverride AuthConfig
Options None
Order allow,deny
All from all
</Directory>
を追記し、httpdサービスを再起動したところ、
「The ScriptAlias directive in /etc/httpd/conf/httpd.conf at line 563 will probably never match because it overlaps an earlier ScriptAlias.」
と表示され、正常に再起動できなかった。
また、
http://サーバ名/nagios/ と入力しても404エラーが返ってきてしまいます。
何が原因かわかりますでしょうか?
当方CentOS5使用してます。
参照したURL
ttp://umiushi.dip.jp/wordpress/linuxconfig/nagios-menu/nagios30_04/
ちなみに、563には<Directory /usr/local/nagios/sbin>と記載されてます
くだ質スレとマルチ死ねよゴミ
>197,198 どちらにも書き込んだほうが、回答を得られそうだったので両方に記載させて もらいました。 ご迷惑かけたことは誤ります。
説明書を見ずに得体のしれない解説サイトを信じる風潮は何とかならないのか
わざとやってるとしか
まあ、別のとこで聞いたのならそっちで答えてもらえばいいよね
205 :
DNS未登録さん :2009/08/06(木) 20:03:57 ID:i8UmHLs5
直接リンクやアクセス経路の制限のためにリファラーやホストヘッダーなどをみて 一致していたらそのまま通過、一致していない場合は弾いたりlocationで飛ばしたり出来ればと思ってますが apacheのモジュールや設定でそういった事は可能ですか?
Env
207 :
205 :2009/08/06(木) 20:30:54 ID:i8UmHLs5
>>206 サンクス
SetEnvIf Referer で出来ました。
ついでなんですが、携帯みたいにリファラーを出さないようなもので制限する方法ってありますでしょうか?
IP
209 :
205 :2009/08/06(木) 20:41:57 ID:i8UmHLs5
>>208 直リンクや経路をIPで制限したら正式な経路な人でも同じ帯域だと全滅じゃないでしょうか?
もしくは自分のサーバーのIP以外からのアクセスを禁止って事でしょうか。
ですがそうなるとIPがあっていれば制限はないことになるのでどんな感じなのか助言もらえると助かります。
ua
211 :
205 :2009/08/06(木) 20:53:31 ID:i8UmHLs5
>>210 UAってユーザーエージェントの事でよいでしょうか?
さすがにUAで制限は範囲が広すぎるというか、経路の制限とかには向かないと思うのですが
UAを使用した効率的な運用方法があるということでしたら教えていただけないでしょうか。
たびたびで申し訳ないですが宜しくお願いいたします。
経路って何?勝手に用語を定義しないでくれ
>>204 slowlorisに弱いのは仕様です。
ついでにいうとそろそろ2.2.13が出るかもね
214 :
205 :2009/08/06(木) 21:04:28 ID:i8UmHLs5
>>212 すいません。
アクセス経路になります。
a.html -> b.html -> c.html -> d.html
という流れでd.htmlにはアクセス出来ますが、いきなり外部等からd.htmlにアクセスをしようとする
のを禁止したりいlocationなどで飛ばすという意味で使いました。
大変申し訳ないです。
静的コンテンツじゃ難しい PHPとかJavaとかのWebアプリででセッション使え
216 :
205 :2009/08/06(木) 21:26:37 ID:i8UmHLs5
>>215 ありがとうございます。
やっぱり難しいようですね。
セッション振ってしまった方が確実っぽいのでそちらも含めて検討します。
217 :
DNS未登録さん :2009/08/07(金) 09:03:38 ID:Czqlo9zH
質問です。 Ubuntu-8.04でXampp1.71でApache2を動かしてますが、最近logwatchから下記のような メッセージがきて、Access.logをみると、200を返しています。 Connection attempts using mod_proxy: 118.161.249.132 -> mail3.xps.idv.tw:25: 1 Time(s) 118.161.249.132 - - [05/Aug/2009:00:54:27 +0900] "CONNECT mail3.xps.idv.tw:25 HTTP/1.0" 200 2893 httpd.confでは、 #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so とmod_proxy関係はすべてコメントアウトし、 <IfModule mod_proxy.c> ProxyRequests Off ProxyVia Off <Proxy *> Order deny,allow Deny from all </Proxy> </IfModule> としていますが、なぜこのCONNECTが成功しているんでしょうか?とりあえず、iptablesでdropして対応してますが、 どうすればいいでしょう?
DNDラウンドロビン機能のついてる低価格なBフレッツ対応ルーターって売ってないですか? 2万円以内で買えるなら欲しいのですが・・・ 機種名が分かりましたら教えてください。
>>219 DNDラウンドロビンって何?
google先生に聞いたら「"DNDラウンドロビン"との一致はありません。」
って言われたんだけど。
DNSラウンドロビンだろ
2.2.13出てるね
お前らapache自分でコンパイルしてる?
してる
>>219 仮にDNSラウンドロビンだったと仮定して、どんな環境で使うのか書いて貰わないと
何とも言えないのだけれども。
単純に家のサーバを DNS ラウンドロビンで複数のグローバルIPアドレスに対応させたいのであれば
「IP Unnumbered に対応したルータ買えば?」としか言えません。
2.2.13 微妙に設定が違うようだなあ..
228 :
DNS未登録さん :2009/08/10(月) 17:59:46 ID:fAsnkxA9
次のように、複数箇所でcgi-binを作ってCGIをうごかせるようにしたいのですが、 これってサーバの効率が著しく低下する事になるんでしょうか? ScriptAlias /cgi-bin/ /var/hogehoge/cgi-bin/? ScriptAlias /cgi/ /home/saitama/cgi/ <Directory /var/hogehoge/cgi-bin/>? AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> <Directory /home/saitama/cgi> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory>
なんで?
最近こんなスクリプトを勝手にダウンロードされてプロセスを落とされてるんだけど、どの脆弱性を突かれているの?
[Sun Aug 09 02:33:07 2009] [error] [client 220.24.50.64] File does not exist: /home/festa/public_html/image/info.gif, referer:
http://example.com/~festa/file/dda.html --02:37:21--
http://www.dracemic.at.ua/dc.txt => `dc.txt.1'
Resolving www.dracemic.at.ua... 208.100.61.101
Connecting to www.dracemic.at.ua|208.100.61.101|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 821 [text/plain]
0K 100% 111.93 KB/s
02:37:21 (111.93 KB/s) - `dc.txt.1' saved [821/821]
ちなみに
debian etch Linux debsrv 2.6.18-6-686 #1 SMP Tue May 5 00:40:20 UTC 2009 i686 GNU/Linux
apache2 2.2.3-4+etch10 Next generation, scalable, extendable web server
を使ってる
まず httpd のプロセスを落とせ。 聞いたり調べたりするのはその後だ。
232 :
230 :2009/08/12(水) 17:39:15 ID:???
230です プロセスを落として念のためサーバーもリブートしてあります。 TimeOutをみじかくしる!というのであればすでに45秒にしました。 ほかに対策は?
なんで timeout?
httpd はおそらく関係ない。CGI とか PHP とかのスクリプトに
OS コマンドインジェクションの穴がある可能性が高い。
ので、それを使わないようにするか、その穴をふさぐ。
何を使ってるかわからんので具体的にどうやって穴をふさぐかは知らん。
作った人に聞け。とりあえず穴をふさぐまでネットにつなぐな。
>--02:37:21--
http://www.dracemic.at.ua/dc.txt スクリプトを実行した権限(httpd の動作ユーザか suexec のユーザ)で
任意のコマンドを外部から注入できるスクリプトなので、
このユーザで書き換えられるファイルが改竄されている可能性がある。
ディスクをフォーマットしてインストールからやりなおした方がいいレベル。
234 :
230 :2009/08/12(水) 19:05:32 ID:???
なるほど、いずれかのCGIを悪用していると推測するんですね。 ログにはcgiへのputなどが残ってないのでただ単に SlowlorisによるDoSだと思ってたんですが...。 実害はhttpdのサービス停止だけだと思っていました。 etchなのでこの機会にlennyをフォーマットして入れてみます。
apache のログ解析を導入しようかと思っているのですが 一番使われてるログ解析はなんていうやつでしょうか? linux対応のやつを教えてください。
>>235 どういうログ解析?
アクセス数等ならAnalogじゃないかと思うが。
analogかawstatsあたりがトレンドかな 他にはvisitorsとか
うちはawstatsだね perlで動いてるのでちょっと重いけど多機能で結構気に入ってるよ
Webalizerはどう?
まあとりあえずいくつか試してみればいいんじゃね
Webalizerってさくらでも使ってるよね 俺はAWFFullってやつ使ってる
「Apache」と「tomcat」でログイン画面が表示できない現象が たまに発生して困っています。 状況は、マシンを新規サーバに置き換えて、旧サーバの環境を総て移しました。 マシン:NEC Express5800 OS:windows2000 Server SP4 JAVA:1.4 Apache:3.2.6 tomcat:4.1.2 起動、停止はbatファイルを利用して、スケジューラにより夜中に自動停止→起動となっています。 常に表示が出来ないのではなく、朝確認すると、たまに何も表示されない状況が出ます。 「Apache」と「tomcat」はサービス登録を行なっていて、両方起動状態。 netstatコマンドで確認したところ、使用ポート(8009)はLISTENING状態になっています。 起動してるが、index.htmlが表示されない?感じです。 前のサーバでもごく稀には発生していたようですが、 頻発(8月以降で4回、今週で3回)するのは初めてだそうです。 一応、停止bat→開始batで表示されるようになるようですが… 正直、どこを注視すればわからない状態です。 ヒントでも良いので何を確認すればよいか教えてください。
Windows 2000・・・
244 :
DNS未登録さん :2009/08/14(金) 15:13:09 ID:xsdCUed5
>>243 ユーザよりの指定で、今回は修正なしで乗せ替えのみの対応ですw
2000用に作成したJAVAサープレットで作成したシステムですので…
後、IEは6.0です。
>>242 表示されないとは?
1.apacheがエラーを返す
2.ブラウザがエラーを返す
3.apache経由でtomcatがエラーを返す
とりあえずログとかヘッダーとか見ろよ
>>245 ブラウザ側で「ページがありません」が表示されます。
>>246 ログも調べましたが、何のエラーも無く通常どおりのログしか出ていません。
>>247 「ページがありません」じゃなくて「ページを表示できません」です。
すいません。
なんか根本的な問題くさいね てかIE使いかよ IEは403とかの画面を勝手に変換するからやりにくい てかヘッダー見ろって言ったのにそっちは無視か よくこれでサーバいじってんな
>>249 詳しくなくてスイマセン。
今、自宅なので、直接見れないので対応遅くなってます。
ログはTOMCATとapacheのログを送ってもらいました。
特にエラーは見受けられません。
へッダーてのは、何を調べれば良いですか?
具体的に教えてください。
>>251 ちょwwそこUNIX板w
こんなのがエンジニアやってるのか
>へッダーてのは、何を調べれば良いですか?
254 :
242 :2009/08/14(金) 16:45:31 ID:???
>>250 ヘッダの見方が分からないなら、見れるようになっても解決に進まないだろうな...
とりあえず、IEでアクセスした時のapacheのログを貼れ。
同じ時間のerrorログもあれば。
質問数点。
・apacheのバージョン、間違ってないか?
・apacheとtomcatの連携方法は?
・tomcatはポート確認したりしているが、apacheの起動確認は?
・再起動って何を?tomcatだけ?
・サーバー管理者っていないの?
こんなのが正社員で俺は非正規雇用か・・・、世の中ってそんなものなのか
>>255 >とりあえず、IEでアクセスした時のapacheのログを貼れ。
>同じ時間のerrorログもあれば。
今は自宅の為、手元にありません。
問題ないようでしたら後日貼らせてもらいます。
一応、ログ調査は昨日行い。
問題無かった日のログと問題の起こった日のログを確認しましたが
特に変わりは無かったので、「ログは問題ないよう」と書かせてもらいました。
>・apacheのバージョン、間違ってないか?
3.2.4でした。申し訳ない。
>・apacheとtomcatの連携方法は?
mod_jk(1.2だったかな?)を使用しています
>・tomcatはポート確認したりしているが、apacheの起動確認は?
apacheのサービスも起動しています。
>・再起動って何を?tomcatだけ?
apacheとtomcatの両方を停止、起動するbatファイルを実行しています。
>・サーバー管理者っていないの?
期間システム(春のみ稼動)の為、サーバ管理者はいないはずです。
起動、運営はユーザ側の運営部の方が行なわれています。
問題があった場合のみ、こちら側に連絡が来ます。
今回のシステム構築者は既に退社されたようです。
>>256 正規でも、昨今の事情で本来業務の仕事がなくて、専門外までなんでもやらされますから
結構大変な目にあってますよ…
> 3.2.4でした ? おちつけ、2.2.4じゃないんけ
>>258 スイマセン…たびたび申し訳ない…
1.3.41でした…
260 :
DNS未登録さん :2009/08/14(金) 17:53:48 ID:xpu2VpXk
apacheのモジュールで帯域制限とかかけるものってありますか? ルータで出来ればいいんですが、貧乏なので出来ればモジュールでそういう機能があるものがあれば教えてください。
263 :
DNS未登録さん :2009/08/14(金) 18:29:28 ID:FnXobP6t
>>257 そりゃ、ろくに仕事できないやつに何もさせんで給料取られるのはアホくさいからなw
tomcatがおかしいか確認するなら、8080ポートで試してみればいいよ。 8080殺してるなら、いったん復活させて
帯域制限ってOS(カーネル)の仕事だろ
>>263 ろくに仕事も出来ない奴にさらに専門外の仕事振るのが当たり前なのか?
追い詰めて辞めさせる以外に何の効果があるんだそれ
>>265 それぞれのデーモン毎に用途が異なるわけだから、それをカーネル側で制御は無理があるかと。
小回りも利かないし。
windowsにアパッチ入れてるんですが、一週間に一回2時間程度停止するときがあるので、 異常検知→再起動のようなバッチを作りたいのですが、 異常検知を判定できるコマンドが見当たらず、苦しんでます。 方法知ってる方いらっしゃいましたら教えてほしいです。
>>268 Windowsでサーバ立てないでください、
環境を忘れていました。 windowsXP apache2.2 バッチは、batかphpかperlを考えてます。 windowsでサーバを立てるなってのはなしでお願いします
>>271 ライセンス違反でMicrosoftへ通報します
>>268 Windowsのサービスには「回復」って機能があるからそれ使え
これでわからないようならWindowsをサーバーにしようなんて考えは捨てるべきだ
Windows XP でサーバー立ててはいけないってのはMSKKが流した壮大なデマだから気にしなくていいよ
>>271 > windowsでサーバを立てるなってのはなしでお願いします
開き直っちゃうのかあ
>>276 このスレのスレタイを100回声に出して読んでからLANケーブルで首吊って死ね
>>271 Windowsで鯖建てるなとは言わないけど
Windowsで鯖建ててる分際で自鯖板に来てノコノコ質問すんな
>>280 言ってることに説得力がない
Winだと来ちゃいけない理由になってない
俺はWinで鯖立てとか怖くて(知らないからね)出来ないが
>>282 割れ厨が割れ厨である事を公言した上でその製品の質問をしてるような物かと
基本的にイカン事をしてるのを自覚してるのに公言するのはタブー
その上に開き直ってこういう場に来るのは救いようのない子
> windowsにアパッチ入れてるんですが、一週間に一回2時間程度停止するときがあるので、 Apache、つまりHTTPServerであり、同時接続台数が10台以上になる可能性は非常に高い > 異常検知→再起動のようなバッチを作りたいのですが、 二時間程度の停止が許されず、自動での再起動を求めている時点で不特定多数へ公開しているサーバである事が伺える > 異常検知を判定できるコマンドが見当たらず、苦しんでます。 明らかなスキル不足の露呈、コマンド慣れしていない事からLinuxの使用は不可能である可能性が高い > 方法知ってる方いらっしゃいましたら教えてほしいです。 「解決策をご存じの方はご教示頂けないでしょうか」程度の日本語すら使えない程度の言語力 ライセンスが問題になるとは夢にも思っていない焼酎である可能性も0ではない
>>286 当初USとJPで見解が違っていたことも知ってるならその後の話をお前さんが知らないだけだな
289 :
271 :2009/08/20(木) 22:31:29 ID:???
>>273 こんな機能があったんですね。目からうろこです。
>>レスくれた皆様
webキャプチャ生成用途のみにwindowsサーバでしかたなく処理してます。
linuxサーバから別サービス間処理なのでapi処理してます。
ふか考慮してるので同時接続数は1以上あがらないことになってます。
ありがとうございました。
まあこういう低能が騒ぐからうそでもServer2003と言っといたほうがいい
http://www.apache.jp/misc/windows.html こんなページがあるが、例えば
>Apacheは「インターネットの情報サービス」であるため、 EULAにおける「インターネット情報サービス」に関する規定が適用される
「インターネットの情報サービス」ってのは"Internet Information Service"を訳したものである。
ところで、なぜ単語の先頭が大文字なのだろうか?
実はこれは固有名詞で、IISを指しているのだwwwww
293 :
DNS未登録さん :2009/08/23(日) 11:41:52 ID:kiaUOeo2
secureと言う文字列が含まれたディレクトリには強制的にhttpsに するために、confのディレクティブにRewriteRuleなどを追記し 成功したのですが、今度は逆にsecureというフォルダ以外は 強制的にhttpにしたいのですが記載例を教えて頂けないでしょうか。 よろしくお願いします。
mod_rewrite使うんじゃなくてVirtulaHostとAliasのほうがシンプルに出来そうだな
AliasじゃなくてRedirectだった
Apache2でアクセスログを取ろうと、 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access.log common と設定したところ、error.logに (2)No such file or directory: could not open transfer log file /etc/apache2/logs/access.log. と出てしまいました。 どうも、access.logと指定しているのにaccess.log.と余計なドットが付いているような・・・。 どなたか原因、対処方法をご存じないでしょうか?
そりゃ英文の最後だからドットが付いてるだけで、原因は他だと思う
/etc/apache2/logs/は存在してんの?
OSが何なのか知らないけどlinuxのどれかだろうって事で考えると /etc/apache2 の下に /logs を作るなんて珍しい気がするから只単に無いだけじゃ? おそらく一般的には /var/log/apache2 以下にlogファイルを指定するんじゃないだろうか。 ログローテで回しやすいしね。
>>297 ,298,299
ご指摘の通りでした。
英文の最後だからドットが付いていただけであり、原因は存在しないパス
/etc/apache2/logs
を指定していたことでした。
そこで、
/var/log/apache2/access.log
に指定しなおしたところ正常に動作しました。
ありがとうございました。
301 :
DNS未登録さん :2009/08/26(水) 00:50:11 ID:JWcFVK3J
<VirtualHost> ディレクティブを使用して振り分けのみに使っているサーバがあります。 振り分けサーバのIPは192.168.24.100でドメインはexample.comになります。 example.comへのアクセスの場合は192.168.24.101の/var/www/html/index.htmlへ example2.comへのアクセスの場合は192.168.24.101の/var/www/html/index.htmlへ という設定にしてます。 ここで example.com/test/index.phpへのアクセスの場合は自サーバ(192.168.24.100)内の /var/www/html/test/index.phpへアクセスさせたいのですが、httpd.confの記述をどのようにすればよいのでしょうか?
ProxyPass /test/index.php !
apacheでcgiやphpファイルを実行しようとするとパーミッションエラーが出ます。 パーミッションを777にセットしても同じでSELinuxのログで「実行を阻止した」的な言葉がでるのですが、どうすればこれを許可できるのでしょうか? 一応、apacheを起動後に再起動すればスクリプトを実行できて、SELinuxを許可モードで動かしても実行できます。
ログ見ろよカス
access_log に
65.54.241.68 - - [27/Aug/2009:20:45:07 +0900] "-" 405 916
65.54.241.68 - - [27/Aug/2009:20:45:07 +0900] "POST
http://65.54.245.8:25/ HTTP/1.0" 200 964
という記録が残っているのですが、これはどういう状態を表しているのでしょうか?
Hotmail のようです。
index(/)にアクセスしたときに、 それが久々(数分後から数十分後)のアクセスだと重いようなのですが 何が原因と考えられるのでしょうか エラーログを見てもエラーはなく、ぐぐっても分からないので質問しにきました よろしくお願いいたします
それはApacheとは関係ないだろうなあ 予想 /にアクセスすると、きっとHDDへのアクセスが多いんだろう 頻繁にあればOSがメモリにそのデータをキャッシュするんだろうけど 久々だとキャッシュからなくなってるとか
情報の小出しで申し訳ありませんが 643バイトのhtmlなのですが、そういうこともありうるのでしょうか 一応、サーバはARMCPUでUSBメモリからDebianを起動しています www用のフォルダも同じUSBの別パーティションです もう一度試したところ、どんなファイルでも同じでした 同じというのは、/じゃなくても、あるファイルに一度アクセスすると 他のファイルの表示も含めてまともになる という意味です よろしくお願いいたします
単にHDDがスリープに入ってるだけとかいうオチは無い?
ってUSBメモリか、ちゃんと読んでなかった なんか似たような機構なかったっけ
リムーバブルメディアとしてつないでるんじゃ?
USBのドライブを鯖として使うなんて、閉口。
USBメモリを鯖として使っちゃダメなんですかね… 内臓のNANDフラッシュが500MB程度しかないんですよ それを思うと心細くて… ちなみにSheevaPlugです 先輩にSMNPで監視してみたら? と言われたのでSMNPをぐぐって見てます
SNMPですね打ち間違えてました
>>315 内臓のNANDフラッシュも同じようなものだと思ったのですが
やはりUSB経由だと問題があるのでしょうか
あるとすればどうのような問題なのでしょうか
ぐぐってみたのですが、キーワードが悪いのか出てきませんでしたorz
ルータを別のものと変えてみて複数回試したところ、再現しなくなりました
もう少し様子を見ようと思いますが
初心者の分かりにくい説明なのにわざわざアドバイスをありがとうございました
プロファイルとればいいんじゃね?
YahooBB回線で自宅サーバを組んで、Softbank3G携帯のPCブラウザからアクセスすると 「お客様の端末からは見られません」みたいに言われるけど 何か規制されてるとかある?
スマン、誘導してもらえると助かるんだが。
>>320 甘えるな
プロバイダーの規制を疑うならネット関連のプロバイダー板でヤフーを探せ。
端末側の規制を疑うなら家電の携帯か?ソフトバンクを探せ。
find.2ch.netでスレタイ検索した方が早いかも。
ラジャ、探してみるよぉ。
もうツンデレはいいよう
324 :
DNS未登録さん :2009/09/19(土) 22:40:12 ID:nFPH0ENS
AJPコネクタを使ってapacheとtomcatを連携させようとしているのですが、
アプリ内のフォーム認証を行うページで、認証後に目的のページに
リダイレクトする時にHTTP404エラーが生じてしまい困っています。
サーバーはWindowsServer2008
apacheのバージョンは2.2.13、
tomcatのバージョンは6.0.20です。
tomcatとの連携のためにhttpd.confに追加した変更内容は、
proxy_moduleとproxy_ajp_moduleの有効化と、
ProxyPass / ajp://localhost:8009/WebApp/
ProxyPassReverse / ajp://localhost:8009/WebApp/
ProxyPassReverseCookiePath /WebApp /
です。
フォーム認証以外のページは全て問題なく動作しています。
具体的な問題についてですが、
http://サーバ名/site/member/top といった認証が必要なページにアクセスするとログイン画面が表示され、
ユーザ名とパスワードを入力してログインボタンを押すと、
http://サーバ名/WebApp/site/member/top にリダイレクトしてしまい、HTTP404エラーが生じます。
j_security_checkにPOSTした際のレスポンスヘッダが以下のようになっていました。
Date Sat, 19 Sep 2009 04:11:49 GMT
Location
http://サーバ名/WebApp/site/member/top Content-Length 0
Keep-Alive timeout=5, max=98
Connection Keep-Alive
Content-Type text/plain
これを見ると、Locationのアドレスが正しく書き換えられていないようです。
(
http://サーバ名/site/member/topでなければならないはず )
apacheの設定でProxyPassReverseを設定しているので、この部分は書き換えられるはずなのですが。。
試しにProxyPassReverseの設定を適当なアドレスに変えてみても、何も書き換えられている様子はなく、ProxyPassReverseの設定が有効になっていないように見えます。
ちなみに、404エラーが表示されている時にブラウザのアドレスを修正して
http://サーバ名/site/member/topでアクセスしなおすと 、
そのページが表示されます(つまり認証には成功しているようです)
また、8080ポートからアクセスした場合にはこのような問題は起きません。
ネットを探し回ってもこれ以上の設定が見つからないのですが、
何か必要な設定を見落としているのでしょうか?
>>325 おおお!
ProxyPassReverse /
http://サーバ名/WebApp/ でうまくいきました!!
最初サーバ名のところをずっとlocalhostとかにしてたんですが、
普通に考えたらクライアントから見えてるアドレスにしないとダメですよね^^;
ちなみにProxyPassReverseCookiePathは、逆にすると
HTTP408エラーが出てしまい失敗してしまうので、
この設定で問題ないと思います。
こんな単純な問題に丸一日引っかかってたなんてお恥ずかしい限りですが、
質問してよかったです。本当にありがとうございました。
この辺わかりにくいな… ProxyPassReverseの説明書きかえるべきだな
328 :
DNS未登録さん :2009/09/20(日) 19:05:50 ID:J/jXTX4/
logにfavicon.icoが無いというエラーを出力するのを抑止するために、以下の設定を行って運用しています。
SetEnvIf Request_URI "\.(gif)|(jpg)|(jpeg)|(png)|(ico)$" no_log
CustomLog /private/var/log/apache2/access_log combined env=!no_log
しかし、どうしても抑止できないエラーがあります。エラーの内容は、
[Sun Sep 20 18:53:38 2009] [error] [client 192.168.1.1] File does not exist: /Library/WebServer/Documents/favicon.ico, referer:
http://192.168.1.1/~foo/bar.cgi 以上です。このエラーの出力を抑止するにはどういった設定を行えば良いでしょうか。
よろしくご教授お願いします。
すいません、
>>328 の質問は取り消します
そもそもicoファイルのエラー出力が間違っていました
>>329 設定で何とかするのもいいとは思うけど、ファビコン置きゃ苦労しないという発想はない?
faviconなんて簡単に作れるでしょ
>サイトのシンボルか何かを絵で用意すれば これが敷居高いです><
取り敢えず真っ白でもいいんじゃない?
File Not Foundでいちいちerrorでエラーログ出すのってどうなの? インターネットからのアクセスを受け付けるんだからそんなのerrorじゃねーよ
>>334 サイト名の頭文字 (unko.comだったら) Uをペイントで四角い画像でど真ん中に大文字でUってつっこんで保存して送信でいいだろ
338 :
DNS未登録さん :2009/09/21(月) 13:50:21 ID:L+WlEv03
Apacheの設定についてわからないことがあります。 アドバイス頂けると助かります。 現在、PHP(index.php)を以下のようなURLで呼び出しています。 hoge/?msg=hello しかしこれでは諸事情で不具合が出てしまうので、次のようなURL で呼び出したいと考えています。 hoge/hoge?msg=hello どのように設定すればいいのかまったく検討もつきません; よろしくお願い致します。
それがindexであることはどうやってわかるの?
>>328 Redirect 404 /favicon.ico
とかで先手を打っておくとエラーログが出なくなるよw
>>337 そういうの作ってくれるようなサイトねーかなw
>>340 レスありがとうございます。
結局、error_logの抑止はできなかったので、その手で封じました。
CustomLogはaccess_logの抑止しかできないんですね。
勉強になりました。
XPで起動させると最初タスクバーにでる丸いアイコンが赤丸のやつだ… 起動していて、ちゃんと機能してるから問題ないんだがなんか焦る
346 :
DNS未登録さん :2009/09/23(水) 23:50:44 ID:1D1Tjzvw
httpd.confで読み込んでいるモジュールを更新したいと思っております。 LoadModule test_module modules/test.so 更新したいのは上記のものなのですがいくつか疑問があります。 1.更新はtest.soを上書きするだけでOK? (使用中はWindowsみたいに使用中ですとか言われて上書きできないとか) 2.更新後(上書き)はhttpdをrestartするまで更新前のものが使用されている このような認識であってますでしょうか?
>>346 Linux?
ファイルの上書きだと、元のファイルを読もうとしたときにまずいことになりそうだから、削除してからコピーがいいかな。
削除しても、ファイルをオープンしているプロセスは元のファイルが見える。
>>346 1. 更新そのものはそれでいい。
2. httpdの設定によっては.soを随時読み込み直す(つまりメモリ内に進級が混在する)
場合もあるので、この意味で更新時はいったんhttpdを止めるのが望ましい。
>>348 2、そんな設定は聞いたことがない
具体的に何?
350 :
346 :2009/09/24(木) 08:21:46 ID:2n+tKpKp
>>347 すいません説明不足でした。
RedHatになります。
元に戻せるようにリネームしてからコピーでも問題なさそうですね。
>>348 再起動しなくても随時読み込みするものがあるのですね。
どういったものがそうなるのかはちょっと初心者の私にはまだ想像はつきませんが
とても参考になりました。
お前ら適当すぎ see install(1)
>>348 >2. httpdの設定によっては.soを随時読み込み直す(つまりメモリ内に進級が混在する)
俺もそれがどんな設定か聞いてみたいね
というかわからんなら素直に停止→差し替え→開始でやっとか間違いないと思うのは俺だけか? 数秒の停止すら許されないような運用してるわけじゃあるまいし
>>353 まぁ、クリティカルなシステムといういうわけでも一日に数万数億view稼ぐのではない
なら素直に止めて切り替えた方が確実かつ安全だよね。
シェルスクリプト書いて実行させれば一瞬だしね
赤面の火消し乙w
graceful-stop && startで瞬断のみでバージョンアップできる それにしてもApacheはmake installでinstall(1)じゃなくてcpでコピーしやがるのは困る build/instdso.sh内のcpをinstallに変えたらうまく動いてるが
>>353 この場合はともかく、
よく分かんないけど、やったら動いたからいいや
って姿勢が問題
>>357 ぶっぶー!
graceful-stop だと、有効な接続がすべて切れるまで落ちないから、その間新たな接続ができない。
強制切断は避けられるけど、終了待ちの間はつながらないのと同じ。
どうせ試さないだろうから書いておくけど graceful-stopをすると即座にlistenをやめるから、startですぐに次のApacheを起動できる
>>362 その場合、一時的に二つのApacheが起動してることにならない?
だとしたら、ログ処理を別プロセスに任せている場合ってどうなるんだろう?
>>362 そのログ処理のプロセスの作り次第
例えば即座にgzip圧縮して書き出す仕組みにしてたらアウト
apache2.0 + php5 + WinXPでテスト用に鯖を作っています。 cgi-bin配下のphpファイルにアクセルしようとすると Internal Server Errorが表示されてしまいます。 error.logには以下の内容が書かれています。 [Sat Sep 26 22:21:14 2009] [error] [client 127.0.0.1] E:/Program Files/Apache Group/Apache2/cgi-bin/test.php is not executable; ensure interpreted scripts have "#!" first line [Sat Sep 26 22:21:14 2009] [error] [client 127.0.0.1] (9)Bad file descriptor: don't know how to spawn child process: E:/Program Files/Apache Group/Apache2/cgi-bin/test.php httpd.confの内容が間違っているのではないかと思うのですが どこが悪いのでしょうか?
>>364 cgi-bin以下にあるファイルはcgiスクリプトとして実行されてしまう。
普通の(htmlなどと同じ)ディレクトリに置け。
>>364 そもそもhttpd.confを晒してくれないと、指摘のしようがないが、
そもそもphpはcgiと位置付けが違うから、
デフォルト設定でcgi-bin以下に置くのが間違い。
普通のhtmlファイルと同じとこに置くのが正しい。
cgi-binってデフォルトの設定ファイルで用意されてるけど mod_actions以外で使うことあるの?
368 :
364 :2009/09/26(土) 22:46:36 ID:???
>>365 ,366
無事に動きました。ありがとうございました。
FreeBSD + apache2.2なんですが、いつの日からかやたら > pid ***** (httpd), uid 80: exited on signal 11 というログが沢山吐き出されるようになりました。 これは何なのでしょうか? どうすれば止められるのでしょうか
Segmentation Fault (SEGV) 原因は様々。プログラム(Apacheやそのモジュール)のバグとか Kernelのバグとか。メモリ不良とか。
ありがとうございます 出始めた日付の前後で、特に追加した物も無いし メモリが壊れた様子も無いし、結局よく分かりませんね・・
372 :
DNS未登録さん :2009/10/06(火) 15:59:23 ID:EA18HWKs
2つのサイトを運用しているのですが、片方の設定を変更してhttpdをrestartすると 両方のサイトが一時的に停止することになります。 1つのサーバーにapacheを2つたてれば良いというサイトがあったのですが 1つのサーバーにapacheを2つたてるにはどのようにすればよいのでしょうか?
>>372 ・IPで分ける
・Portで分ける
好きな方でドゾ
何か、ちょい前にも同じ話があった気がするので、
このスレぐらいは目を通しておいて。
記憶違いだったらスマソ
>>372 そんなにしょっちゅう再起動するの?
apache2ctl graceful じゃだめ?
なるべくそういうディストリビューション固有の事柄を出さないでほしい
>>375 一瞬、どこが?
と書きそうになった。
apachectl graceful
ね。
と、書いて気付いたが、そもそも、OSもapacheのバージョンも書いてないから、
それ以前の話なのかも知れない。
俺には373で終わってるようにしか見えない
でもgraceful使えば停止なんてしないからな
apachectl graceful って、ディストリ固有じゃないだろ。 apache の正式コマンドだ。 BSDでもSolrisでもLinuxでもBSD版のMacでも、どれでも動くはずだぞ。 (2.2.12 の manで確認)
380 :
379 :2009/10/07(水) 09:51:55 ID:???
>>379 あ、2がついていたのか・・・・大変失礼した。ユーモアのセンスを解していなかったなあ。
2.2.14出てる
httpd2.2.11をLinux上で使用しています。 gzip(AddOutputFilterByTypeでのDEFLATEフィルタ)で圧縮したものにIf-None-Matchは効かないのでしょうか? 以下、同じEtag値なのに200を返してしまいます(304を期待) GET /wiki/skin/default.css HTTP/1.1 Host: www.example.com Accept-Encoding: gzip,deflate Connection: keep-alive If-None-Match: "55c8ae1-659b-42f8fb2891640"-gzip HTTP/1.x 200 OK Etag: "55c8ae1-659b-42f8fb2891640"-gzip Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 5714 Connection: Keep-Alive Content-Type: text/css DEFLATEフィルタを通さなければ304になってくれます。 GET /wiki/skin/default.css HTTP/1.1 Host: www.example.com Accept-Encoding: gzip,deflate Connection: keep-alive If-None-Match: "55c8ae1-659b-42f8fb2891640" HTTP/1.x 304 Not Modified Connection: Keep-Alive Etag: "55c8ae1-659b-42f8fb2891640"
384 :
382 :2009/10/09(金) 08:51:18 ID:???
>>383 なんとバグだったとは。。。ありがとうございます。
かなり致命的なので最新に入れ替え
たいと思います!
結局何が変わったの?
386 :
DNS未登録さん :2009/10/10(土) 21:15:45 ID:B3YazCH5
間違ってUnix板に書き込んじまったので。 Windows環境で、USBフラッシュメモリにApache, Perl, PHP, MySQL(SQLight)の入ったPortable Server環境の構築を考えてます。 Portable Server環境で利用するスクリプト(ソフト)はNamazuとMediwWikiを考えています。 調べたところUSBメモリが使えるPortable ServerとしてはXAMPP, EasyPHP, Server2Goなど色々ありますが一長一短のような気がします。 お勧めのPortable Serverがあったら教えてください。
お断りします
>>386 あくまで俺の経験な。
AMP環境が5分で完了するEasyPHPの公式版はPerlに対応してないからPerl環境が欲しいなら除外。
Perl対応はEasyPHPは次期バージョンくらいでは対応するらしい。
Server2Goは日本国内ではマイナーなので英語に不慣れだと困った時に解決できない。CD起動できる点は買い。
統合メニューが揃っているXAMPPが比較的簡単で初心者には良いと思う。
>>387 氏ね
そもそもApacheスレの質問じゃねーだろ
>>389 スレチに律儀に答えてんじゃねぇよ氏ね
>>391 ほうほうそれで(AA略
Apacheスレらしい質問してみ
質問してみ(キリッ)
あれ・・・質問って指示されてするものだっけ・・・
知ったか乙
>>397 まず、マニュアル読めよ
で、設定ファイルを三回読んで、ソース読んでぐぐって
それでもわからなければ質問
OutputFilterByTypeでフィルターを掛けています。 このフィルターをファイル名を指定して除外設定をすることはできませんか?
>>398 マニュアル読んでもソース読んでもわからなかったので質問します。
質問って指示されてするものだったでしょうか?
違います
FreeBSD 7.2 + apache 2.2.13 + mod_fcgid 2.2 という組み合わせで使って おります。httpd.conf には LoadModule fcgid_module libexec/apache22/mod_fcgid.so <IfModule fcgid_module> AddHandler fcgid-script .fcgi </IfModule> を記載して apache の再起動をかけて、以下のような fcgi プログラムに アクセスしたところ、500 Internal Server error となり、 httpd-error.log には下記のような結果が出ます。 % cat test.fcgi #/usr/bin/env ruby require 'fcgi' counter = 0 FCGI.each_cgi('html3') do |cgi| counter += 1 cgi.out { cgi.html { cgi.body { cgi.h1 { "Hello World!" } + cgi.p { "Counter: #{counter}" } } } } end % tail -n 3 -f httpd-error.log [Wed Oct 14 19:21:35 2009] [warn] (53)Software caused connection abort: mod_fcgid: read data from fastcgi server error. [Wed Oct 14 19:21:35 2009] [error] [client *.*.*.*] Premature end of script headers: test.fcgi [Wed Oct 14 19:21:41 2009] [notice] mod_fcgid: process /usr/local/www/apache22/data/test.fcgi(57342) exit(communication error), terminated by calling exit(), return code: 255 どういった原因が考えられますでしょうか。
>>402 改行コードがCR+LFになってるとか。
404 :
402 :2009/10/14(水) 20:07:49 ID:???
>>403 シェルで実行できるので、それはないかと。
% ruby test.rb
(offline mode: enter name=value pairs on standard input)
Content-Type: text/html
Content-Length: 119
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><BODY><H1>Hello World!</H1><P>Counter: 1</P></BODY></HTML>
405 :
DNS未登録さん :2009/10/14(水) 20:10:00 ID:4+6O+HTF
関係ないかもしれないけどContentLengthはApacheに任しとけ
406 :
402 :2009/10/14(水) 20:11:39 ID:???
あ、404は一番最初の行に以下のコマンドが抜けておりました。 % cp test.fcgi test.rb
408 :
402 :2009/10/14(水) 21:11:57 ID:???
% sudo -u www ./test.rb require: not found counter: not found ./test.rb: 5: Syntax error: word unexpected (expecting ")") % ./test.rb require: not found counter: not found ./test.rb: 5: Syntax error: word unexpected (expecting ")") あ、あるぇ〜? shebangを#!/usr/local/bin/ruby にしても同じ。なぜ?
409 :
402 :2009/10/14(水) 21:19:38 ID:???
と思ったら shebang を #/usr/bin/env ruby にしていたからでした orz. #!/usr/bin/env ruby にしたらちゃんと動作しますわな。 % sudo -u www ./test.rb (offline mode: enter name=value pairs on standard input) Content-Type: text/html Content-Length: 119 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><BODY><H1>Hello World!</H1><P>Counter: 1</P></BODY></HTML> % ./test.rb (offline mode: enter name=value pairs on standard input) Content-Type: text/html Content-Length: 119 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><BODY><H1>Hello World!</H1><P>Counter: 1</P></BODY></HTML>
410 :
402 :2009/10/14(水) 21:23:36 ID:???
でもやっぱりブラウザから test.rb, test.fcgi を叩くと、 test.rb はちゃんと表示されて、test.fcgi は 500 ですな……
>>410 ヘッダの改行コードは、\r\nになってる?
412 :
402 :2009/10/14(水) 22:25:39 ID:???
>>411 そのあたりは FCGI クラスにおまかせなので問題なし。
413 :
402 :2009/10/14(水) 23:29:59 ID:???
この問題を検索してみると、海外も含めて、ぽつぽつと同じ現象が見受けられる んだけど、suEXEC 絡みだったり、そうであったとしてもやっぱり解決していな かったりとか、あまり良い結果になってないのよね。 どっかに持っていくとしたらどこかね。Apache ML に持って行っても迷惑がられるかね。 mod_fcgid のフォーラムとかに持って行くべきかね。
mod_fcgiはApacheに寄付されて、もうすぐ初のリリースがあるとかないとか
416 :
402 :2009/10/14(水) 23:47:31 ID:???
env なんか使うな。 FreeBSD では標準で PATH に /usr/local/bin が含まれないから、 #!/usr/bin/env ruby とやっても /usr/local/bin/ruby は見つからない。
418 :
402 :2009/10/15(木) 22:33:25 ID:???
>>417 時代遅れ乙、と言いそうになったがなんとも fcgid を使う時はその通りらしい。
ちなみに fcgid を使わない場合だと #!/usr/bin/env ruby でもきっちり動く。
なんかくやしいけどありがとうございます。
>ちなみに fcgid を使わない場合だと #!/usr/bin/env ruby でもきっちり動く。 PATH に /usr/local/bin が含まれてるユーザがコマンドラインから apachectl start したり /usr/local/etc/rc.d/apache22 start すると、 httpd にその PATH が受け継がれるから env を使ってもうまくいくけど、 OS ブート時に自動で起動する場合はそれがないのでコケるはず。 明示的に PATH を設定するよう apache の起動スクリプトを書き換えるか、 env を使うのをやめるかするのが正解。
420 :
402 :2009/10/16(金) 13:09:50 ID:???
>>419 うそつけ、しったか乙、とか思って再起動して試したらその通りでした……。
かさねがさねありがとうございます。
質問です Apache2.2にてVirtualHostを使用し、複数のサイトを運営しております。 この度、「一日/一週間/一ヶ月」ごとの転送量を測定する必要が出て来てしまい、 Apacheのモジュールやらログ解析ソフトやらで測定できないかと調べているのですが、中々良い情報が見あたりません。 RHEL5上で使用でき、上記のような要望に応えてくれるソフトウェアってありませんか?
423 :
402 :2009/10/16(金) 15:20:08 ID:???
>>422 VirtulHostが使えているなら、それで各ホスト名毎にログを分けて出力できる。
後はそのログ毎にログ解析を実施すればいいのでは?
うちはAnalogで日/週/月それぞれの設定ファイルを用意して、
それぞれのタイミングで動くようにcron設定してる。
>>422 access_logのフォーマット決まっているんだから、Perlとかで書けばいいじゃん、
その程度短いスクリプトで書けるよ。
426 :
422 :2009/10/16(金) 17:36:21 ID:???
>>424 その通りです、そしてログもホストごとに出力しています。。。が、
複数のログファイルを、それも過去の物も遡って解析してくれるソフトが見つからないのです
422で書き忘れてしまいましたがログファイルはgzipにて圧縮してあるので、それにも対応しているソフトとなるとかなり少ないようでして・・・
やはりホスト毎に設定ファイルを複数設けてcronに放り込むしか無いのでしょうか
>>426 >それにも対応しているソフトとなるとかなり少ないようでして・・・
あるのがわかっているなら、その中から試行錯誤してみればいいじゃん。
対応しているソフト(?)が見付からないわけじゃないんだし。
>やはりホスト毎に設定ファイルを複数設けてcronに放り込むしか無いのでしょうか
出力をそれぞれ分けるなら仕方ないかと。
逆に一つ作っちゃえば残りは微々たる差分じゃない?
嫌がる理由は何?
>>423 改行コードが問題じゃないかと言われての確認にruby 〜を使うところとか
実行時ユーザーの環境(su - とか)にして試したりしてないところから
キミは初心者だと思うよ。もうちょっと謙虚にね。
>>428 ばーかw sudo -u でやってんのよ。su - とはまた愚かしいことをwww
apacheのバージョンって2.0とか2.2とか小数点第一位までが メジャーバージョンで、メジャーバージョンが一緒だと 設定ファイルは同じということでいいでしょうか?
>>430 設定ファイルありきで開発されているわけじゃないから、
今後、必ずしもそうだとは言えない。
>>432 個人的には設定ファイルありきでバージョン管理して欲しいですね。
>>431 顔が赤いようだが、大丈夫か?血管破裂しそうだが、大丈夫か?
ApacheにてBASIC認証をかけているんだけど、IE6でページを開くと、 大量にBASIC認証のポップアップが表示される。 ってお客さんから問い合わせあったけど、何が原因なんだろうか。
>>435 相手側のセキュリティ設定が厳しいことになってんじゃないの?
そもそも外部公開サーバなのかどうかも読み取れないわけなのだが。
>>436 一部公開でやってる
こっちで再現できないから難しいなぁ
セキュリティMAXにしてもだめだった
>>435 .htaccessでオリジナルエラーページ設定してて
401とか403のエラーページを、その基本認証と同じディレクトリに置いてるんじゃない?
Firefox系ブラウザでフレームで表示されるページのすべてに認証が必要なときに 最初の認証の別のフレームへの再利用が間に合わないか何かで もう一度同じ認証をしないといけないことが時々あることくらいしか知らない。
440 :
DNS未登録さん :2009/10/29(木) 16:28:39 ID:RB8V8J8g
Tomcatをインストーラーを使用しないで使う場合、 どのような設定が必要ですか? 詳しく説明しているサイトとかありませんか?
バイナリを展開して環境変数設定してstart.sh動かすだけ。 apacheのスレで聞いてるということはproxy_ajpの設定もか?
>>440 apacheを別に立てるの?
立てないの?
443 :
DNS未登録さん :2009/10/31(土) 08:56:43 ID:tqMnvSFE
/etc/httpd/logs/access_logが日当たり2Gを越えてしまうようになりました。Webalizer等での解析ができない状態です。 これを改善するためにはどうしたらいいでしょうか?よろしくお願いします。
445 :
443 :2009/10/31(土) 09:23:40 ID:???
ログは取りたいので、何とかうまくいく方法があればと思い質問しました
ログローテーションについて勉強すればいいよ
>>446 別の言い方だと、ラップアラウンドだっけ?
質問者はローテーションの範囲が1日だとでかすぎてログ解析が通らないって言ってんじゃないの? 行数調べて半分くらいに切り出すツール作るか、ローテーションの単位に時間指定できるようにするか、だなあ
>>448 一日にログが2GBを超えるという話でしょ。
ちょこっと思いついたのは、500MBくらいでファイルを分割するようにして、10世代分くらいで
ラップアラウンドするような仕組みを組み上げればいいんじゃないの?
って思うんだな。
ようするにWebAlizerがウンコなんだろ
玄箱にDebianを入れてapache2をインスコしました。 VIERA:/etc/init.d# /etc/init.d/apache2 restart Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.10 for ServerName waiting apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.10 for ServerName とエラーが出ていて、どうやらホスト名がおかしいらしいんですがどこを直せばいいんでしょうか・・・ ググっても「とりあえずエラーは出ているが動いている」という記事ばかりなので厳密には異なる現象だと思うのですが。
452 :
451 :2009/11/01(日) 17:47:30 ID:mc5tMqRr
あ、つまりその、他の記事と違って自分の場合起動しません・・・ 先ほどhttpd.confに ServerName localhost を記載したらエラーは消えましたが相変わらずlocalhostを打ち込んでも404です・・・
404って、動いてるんじゃない?
454 :
451 :2009/11/01(日) 18:52:23 ID:kXNBY7Of
ありがとうございます。 他のIPを指定したら確かに違うメッセージでした・・・ つまりサーバは動いていて、ファイルが存在しないので 404が出ているということでしょうか・・・ defaultは以下のように記述したため、 /mnt/public_html/ の配下に適当なindex.htmlをおいたのですが これではだめなのでしょうか ---------------------(中略)------------------------ DocumentRoot /mnt/public_html/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /mnt/public_html/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place # RedirectMatch ^/$ /apache2-default/ </Directory> ---------------------(中略)------------------------
>>454 嫌ならOSからインスコしなおせ
したばっかなら被害はないだろうし、そっちの方が多分早いよ
456 :
451 :2009/11/01(日) 20:01:07 ID:kXNBY7Of
検索してみたらどうやら正常動作した場合はIt's Workと出るらしいので もしやと思い、編集前のdefaultを見てパスを修正してapache2を 再起動してみましたがだめでした・・・うわーん
457 :
451 :2009/11/01(日) 20:01:44 ID:kXNBY7Of
>>455 お手上げなくらいおかしなことになってるんでしょうか
関係あるか知らんけどとりあえずMultiViews必要ないだろ
apacheのログ出さないで解決できるとも思えんのだが
ただの凡ミス つーか404出てたらサーバのログに404の内容がもっと詳しく書いてあるよ
461 :
451 :2009/11/03(火) 20:44:43 ID:Uv952THf
エラーエログがどこにあるか分からなかったので時間がかかりました。 [Mon Nov 02 06:25:23 2009] [notice] Apache/2.2.3 (Debian) configured -- resuming normal operations [Tue Nov 03 20:26:49 2009] [error] [client 192.168.59.108] File does not exist: /htdocs [Tue Nov 03 20:26:49 2009] [error] [client 192.168.59.108] File does not exist: /htdocs [Tue Nov 03 20:28:00 2009] [error] [client 192.168.59.108] File does not exist: /htdocs [Tue Nov 03 20:28:00 2009] [error] [client 192.168.59.108] File does not exist: /htdocs 「/htdocsが見つかんねーぞクズ」 とおっしゃっていたので調べてみましたがどこにもそんなものを設定した覚えはないわけで・・・ 一体どこを調べるのでしょうか。
mod_info有効にしろ
conf/httpd.confとconf.d/*.confを見ることも出来んのか
464 :
451 :2009/11/03(火) 21:43:48 ID:XqdizKjV
httpd.confに
<Location /server-info>
SetHandler server-info
</Location>
を記載してrestartしてみましたが変わらずでした・・・
>>463 confというディレクトリがありませぬよー
465 :
451 :2009/11/03(火) 23:57:35 ID:???
不眠不休で弄っていたら解決しました。 http.confが ServerName Omanko のようにマシン名しかかかれていなかったのですが、 /etc/apache2/sites-available/default をコピーしてapache2ディレクトリに置き、httpd.confに リネームして、元通り ServerName Omanko を記載してリスタートしたら無事「It works!」が表示されました。 ネットの情報とことごとく違っていたんですが、これって何度も apache2関係をインスコ・アンインスコした弊害なんですかね? どっかのサイトに 「apache2からはhttpd.confは使っていない」 とか書かれてて、実際自分の環境でも空だったのでそういうもんか と思っていたんですが、サーバ名起動しないとエラー出るし今回のように defaultの内容貼り付けないとindex.htmlすら表示できないし、 相変わらず重要ファイルなんですねぇ とりあえず動いたのでシコシコ弄ってみる事とします。 皆様ありがとうございました。ドピュッ
得体の知れないサイトを信用したツケじゃない? インターネットは便利だけど使い方を間違えるとそういうことになる
467 :
451 :2009/11/04(水) 00:22:59 ID:???
ですねぇ。良い勉強になりました。 ところで気になるんですけど、apach2をインスコしたら httpd.confには何か書かれているんでしょうか? 自分の場合なーんにも書かれていない空ファイルだった気が・・・ って聞く前にと思ってもう一度全消しして再度インスコしたら、そこらのWebの 情報通り、 「httpd.confにサーバネームを入れていないと、動作はするがエラーが出る」 という現象になりました。むむむむ。 つーことは今までは入れ方が悪かったんですかね。 で、悪いなりにもhttpd.confに/etc/apache2/sites-available/defaultの 内容を記述したら動いた、というわけのわからん状態になったんですかね。 よくわからん・・・僕の中ではアパッチはライオコンボイの右腕のアレでいいです。
その「インストール」にしたって、Apache公式の物か OS(ディストリビューション)の物かの違いがあるわけで Debianは設定ファイルとかいじりまくってるから Debian使用者以外にはわからん
469 :
451 :2009/11/04(水) 00:41:32 ID:???
むむむ
aptitude install apache2
で入れたんですけどこれだとどっちのが入るんですかねぇ。公式なんですかねぇ。
恐らく、今回は”一発目”はちゃんとインスコできたんだと思います。
その数ヵ月後(つまり今)全開どこまでやったか忘れたので復習を兼ねて
もう一度最初からやろうとアンインスコしてインスコし直した時点でおかしく
なってしまったのではないかと。
ちなみに今までは
aptitude remove apache2
で消してapache2のディレクトリも消して、↑のinstallで入れなおしてうまくいかず、
Webの情報から
aptitude rpurge apache2.2-common
を実行してapache2のフォルダも復旧させて完全な再インスコで色々試していたのですが
本来であれば
aptitude purge apache2 apache2.2-common apache2-mpm-prefork
を実行して
aptitude install apache2 apache2.2-common apache2-mpm-prefork
で入れなおす必要があったみたいですね。これさっき知ったんですよ。(その結果が
>>467 )
apache2に限らず色々めんどいですねー
以上、もし遠い未来に自分と同じ状態の人が現れたら自分の跡をなぞれるようにと
だらだら書いてみました。ではこれにて閉廷!起立!礼!射精!
ソースから自分でビルドしてインストールするのがOSごとの違いが少なくていい
>>470 それなら、Slackwareでいいじゃん。
>>471 それを言うならGentooだろう。
Slackwareはtar+lzma(or gz)のバイナリを展開するだけだ。
別にどのディストリだって、パッケージ管理から外して、 ソースからインストールすればいいじゃん。
Solaris2.Xから入ったからなんでもソースからのクセが・・・
ApacheでASP.NETを動かすにはどうすればよかとですか?
monoは乗ってる環境? ってWindowsServerかな?
477 :
DNS未登録さん :2009/11/11(水) 18:57:53 ID:oL2aiAtx
初歩的な質問かもしれませんが、今まで www.example.com で運用してたんですがこのほど example.com でも見れるようにしようと思います。 ドメインはお名前.comでDNSもお名前.comのものを使用して www.example.com は***.***.***.***のIPですよと登録してたんですが これに加えて example.comは***.***.***.***のIPですよと登録すればいいだけでしょうか? なにかapache側で設定の変更が必要になりますでしょうか?
バーチャルホスト使ってないんだったらそれでいいんじゃない? vhosts使ってるんだったら <VirtualHost *> ServerName exmaple.com ServerAlias www.example.com DocumentRoot /var/www/html/exmaple.com/ </VirtualHost> みたいにエイリアスの追加が必要
479 :
477 :2009/11/11(水) 19:43:40 ID:oL2aiAtx
>>478 ありがとうございます。
バーチャルホストは特につかってませんでした。
というかむしろconfはほぼデフォルトな状態です。
とりあえずDNS変えてダメなら考えてみます。DNSの浸透に2日くらいかかると
お名前.comから言われたので結果が出るのは2日後ですかね。
2日もかかるんだ 自前でDNS持てばいいのに TTL 60にすれば1分で浸透するよ キャッシュ伝搬に2日かかるってことは、その設定失敗したら復旧するにも2日かかるってことだしリスク高杉
わろた
>>480 おまえDNS分かってるのかよ。
「本名=IP、ホスト名=あだ名」
と例えるとわかりやすい。
お前の本名がしげるだとする。あだ名がチンカスだとする。
ある日クラスでペニ太郎と言われてそれが広まる⇒クラスのDNSが更新された
次の日に同じ学年の奴にペニ太郎と呼ばれるようになった⇒学年のDNSが更新された
次の月に日本中でペニ太郎と呼ばれるようになった⇒日本のDNSが更新された
つまりおまいが更新したのは最初のDNSだけであってDNSは一つじゃねーってことだよバカタレ
>>479 早ければ即時反映もありえるから、自分が使用しているDNSサーバーに対してdigコマンドを使って確認すれば良し。
nslookupでも最低限の用は満たせるけど、digは覚えておいた方が役立つ。
apacheと全然関係ないけどな。
1分でチンカス呼ばわりw
TTL=60にしたらそりゃ反映は早いだろうが、逆に言えばその情報は60秒経ったら捨ててくれと言っている。 DDNSみたいな仕組みであれば止むを得ないだろうが(それでもスパン短すぎ)、 60秒毎に問い合わせし直してくれって言っているわけだ。 結果リクエストが増えてしまって負荷が増し(と、言ってもたかがDNSの問い合わせなんて微々たるものだが)、 他の要因となってその問い合わせに返せない場合、正引きが出来ないという状況に繋がる。 障害の例は極端かも知れないが、普通に、メンテナンスやアップデートでDNSを数十分止めたらどうなるか、 そういう観点で考えれば解るんじゃないかな? あくまでもそうなる可能性というだけで、個人でやっている程度であれば問題ないかも知れないが、 そんな設定をして「DNSサーバーの設定が出来ます」とか言った日には、能力を疑う。 ・・・スマン、apacheスレだったね。
1つのリソースに対してURLが2つあるといろいろ面倒だから、
片方はリダイレクトにするべきだと思うけどね俺は
NameVirtualHost *
<VirtualHost *>
ServerName exmaple.com
Redirect /
http://www.example.com/ </VirtualHost>
<VirtualHost *>
ServerName www.exmaple.com
〜
</VirtualHost>
>>478 ひとつのドメインに対して複数のバーチャルホストを割り当てていくと
ファイルハンドルを無駄に消費していくよ
エイリアスにするのが吉
「リダイレクトにする」という要件を無視してそんなこと言われてもなあ それとも同じバーチャルホストにしたうえでわざわざHost:ヘッダで条件分岐してリダイレクトしろと? それも汚い
2日かかるのは忘れるのに最大2日かかるってだけで そもそも覚えてない奴に聞けばその場で最新を返してくれる。
>>490 今回の場合、「今までの設定」と書いているわけだから該当しない。
>>477 で、example.comは変更じゃなくて追加だろ?
今までの設定は関係ないのがわからんのか
>>492 wwwのゾーン(example.com)を書く時、普通そのゾーンのAレコードを書かない?
っていうか、書くのが当たり前だと思ってた。
新しいパソコンを買ったのですが Apacheのアイコンが緑色に再生ボタンの状態が普通だったのに 赤色に停止ボタンの状態になってます何が原因なんでしょうか
>>494 えっと、、、Windows環境だね?
手動でなら起動できる?
起動できるならサービスが自動になってないんじゃないかな?
情報少なすぎだから違うかも知れないが。
起動が出来ないなら、エラーログ出力させて、中身を見れば良いかと。
497 :
DNS未登録さん :2009/11/18(水) 15:47:23 ID:QqIxMwDG
1つのサーバーにhttpdを2つたててるんですけど 片方がエラーも何もはかずに落ちることがあります。 こういった場合に何か考えられる原因や、原因の切り分けはどのようにしたらいいですか? apacheは2.2.3になります。
なるんですか。
エラーログには何も出てないの?
まあ突然落ちることに2つ起動してるかは関係ないだろ メモリ足りないとか?
>>497 ちょっと環境がわからないと何とも言えないが、
落ちる時の共通項を探すところからかな?
例えば毎週同じ時間に発生するとかならcronやlogrotate等が考えられ、
再起動の処理時に全httpプロセスをkillした後に、一環境分だけ起動するとか。
pidを元にkillとかしてないと、意外とありがちな話だけど。
503 :
DNS未登録さん :2009/11/18(水) 19:45:41 ID:QqIxMwDG
messagesやerror_logには何も出てないです。 メモリーは4Gx2枚の8Gです。
>>502 VirtualHostで、一番頭に無関係(存在しなくて良い)ServerNameを記述して、
エラーしか表示しないように設定をする。
実際に使うものは二番目以降に記述。
ServerNameやServerAliasに合致しない場合は一番目に記載された記述が使用されるので、
これで要件は満たせると思われ。
505 :
502 :2009/11/18(水) 20:40:35 ID:???
>>504 下記の設定で実現できました!
ありとうございますm(_ _)m
<VirtualHost *>
ServerName tmp
DocumentRoot /tmp
</VirtualHost>
<VirtualHost *>
ServerName www.example.com
DocumentRoot /www
</VirtualHost>
/tmpを公開するなんて無謀だぞ
かなり便利なのに全然知られていない可愛そうなRedirectディレクティブを使おう Redirect 403 /
>>504 あーそれが原因なのかーー
バーチャルホストごとにエラーログ設定しても、conf上もっとも上位に位置するvhostsにログに記録されちゃうの
どうみてもバグなんだけど改善されないのかねぇ
↑もとい バーチャルホストごとにエラーログ設定しても、それ以外のエラーはconf上もっとも上位に位置するvhostsにログに記録されちゃうの
Virtualhostの設定ディレクトリより外に設定したらどうなん 試した事無いから自分は確かな事言えないけれど
ディレクトリじゃなくてディレクティブねごめん
>>510 該当しない場合は、先頭の記述が適用されるのだから、それに合わせたログが出力されるのは想定通りでは?
>>511 両方に出力されるはず。
DocumentRootにネットワークドライブを設定したいのですが弾かれてしまいます。 ファイルサーバ・Apacheサーバ共にwin機です。 ファイルサーバのX:\www\をEveryoneフルコントロールの共有フォルダとして設定。 apacheのあるサーバにてX:\www\をネットワークドライブとしてZ:にマウント。 設定ファイルにはDocumentRoot "Z:"と記述。 TestConfigrationには引っかからず、Z:\も開ける。 DocumentRootをローカルな場所に変更すると正常に起動する。 なぜでしょうか・・・ よろしくお願いします。 これだけの情報ではわかりませんかね?
「弾かれる」って何
失礼。 タスクトレイのApache Service MonitorからStartを選択しても Error The requested operation has failed!とポップアップが出て起動しない。という意味です。 起動しないのでエラーログもなく・・・困ってます。 Apacheのバージョンは2.2.14。公式から落としてきたwin23バイナリ、インストーラ版です。
起動時のログはWindowsのイベントログに出るからそれを見てみろ あと、 DocumentRoot Z: じゃなくて DocumentRoot Z:/ のほうがいいんじゃね
>>517 イベントログ確認してみたところ2件でていて
Syntax error on line xx of C:/〜/httpd.conf
で、該当行をみてみるとやはりDocumentRootのところです。
もう1件は
DocumentRoot must be a directory
だそうな。
DocumentRoot "Z:"
DocumentRoot "Z:\"
DocumentRoot "Z:/"
どれもだめでした。
>>518 ルートディレクトリはアクセス権の設定とかめんどくさいこともあるから
ディレクトリ作ってそこを指定しては?
DocumentRoot "Z:/htdocs"
とか。あとそのドライブは(サービスの)起動時には存在してる?
Syntax error だから綴り間違ってる可能性もあるけど。
存在しないディレクトリなら警告で済むが、存在しないドライブだと起動しないんだったな
当然だ、ツインドライブでなければトランザムフルバーストは…
>>519 ディレクトリ作ってみたけど同じ結果でした。
""がいけないのかと思って外したけど何もかわらず。
ローカルに書き換えると正常に起動するので綴り間違いじゃないと思うけど・・・
参ったなぁ。
アカウントとアクセス権限の問題なのかと思って弄繰り回してるけど一向に起動しない・・・
質問なんですが、
\\ユーザ名\共有フォルダ名
ていう指定はできないのでしょうか?ググったらできるようなことを見かけたのですが、
やってみるとログでC:/ユーザ名/共有フォルダ名みたいに変換されちゃって認識しないみたいなんですよね
>>522 そのユーザー名ってなんだ?
//サーバ名/共有名
は使えるよ。
あとアクセス権はディレクトリそのもののアクセス権とネットワークのアクセス権と
別々にあるけど両方ちゃんと設定してる?
あとDocumetRootじゃなくてAliasだとどうなる?
524 :
DNS未登録さん :2009/11/25(水) 11:53:06 ID:??? BE:2932301388-2BP(100)
vhosts使わず、htaccessでサブドメインのドキュメントルートの指定ってどうやるのですか?
冷静になって考えろ。 DocumentRoot の設定がないとどこに .htaccess があるのかわからない。 どこにあるかもわからない .htaccess でどうやって docroot を設定するんだ?
526 :
523 :2009/11/25(水) 12:18:35 ID:???
>>522 ってアクセス権の設定したって書いてるけど、
もしかしてApacheの起動はローカルシステムアカウントのままだったりしない?
ローカルシステムアカウントのアクセス許可を設定できるわけないんで当然変えてると思ってしまったが、、
存在する別のアカウント(Administrator)にしてアクセス権与えてるかな?
>>524 そもそも.htaccessじゃ無理じゃね?
>>525 デフォルトのDocrootを/public_html/として
サブドメインを作成し、そのDocumentrootを/public_html/subdomain/にしたい
その際、/public_html/.htaccessに記述したい
>>527 やっぱりできないですかorz
mod_rewriteの出番かもな
.htaccessなんて使うなよ
>>530 すまん、Coreserver借りてて、vhostsの書き換えができないっぽいのだ
だから.htaccessでするしかない
mod_rewriteでいいじゃない
534 :
DNS未登録さん :2009/12/03(木) 21:02:05 ID:0k/P/+ly
centos5.3です /var/www以下全てをwinscpでwindowsxpに持ってきて、 /var/www/html以下のソース等をサクラエディタで編集して、 またwinscpで元の場所に戻しました すると、permission deniedエラーでいっさいhttp接続できなくなってしまいました 原因もわからず困ってます wwwディレクトリ以下全てのパーミッションを777にして所有ユーザをrootからapacheにしても変わりません なぜ?
SELinux
apacheでvirutal named serverを設定しているんですけど、 あるサイトからは問題なくアクセスできるけど 別のサイトからは503 Service Temporary Unavailable となってしまう、 という現象に悩んでいます。 だれかヒントください。 環境:linux (RedHat系), apache 2.2.8
エラーログとかどうなってんの
「サイトからアクセスする」の意味がわからない
>>536 virtual毎にログを出力して、そもそも期待しているvirtualにアクセスされているか確認。
ssiって有効にするとセュリティ的に危険なんでしょうか
541 :
DNS未登録さん :2009/12/29(火) 20:01:01 ID:v4lBaOuv
数日前から自宅サーバーの構築で苦戦しています。。
バリュードメインで○○○.infoの独自ドメインも取得しました。
症状はIEで
http://www. ○○○.info(
http:// ○○○.info)に接続しても
-------------------------------------------------------------
Web ページがみつかりません
可能性のある原因:
?アドレスに入力の間違いがある可能性がある。
?リンクをクリックした場合には、リンクが古い場合があります。
-------------------------------------------------------------
となってしまいます。
なにが原因でこのようになってしまうのでしょうか・・・?
サーバーPCからも、プロキシを通しても、携帯でアクセスしても同じです。
(indexファイルは置いてあります)
サーバーPCから
http://localhostもしくは http://127.0.0.1 へアクセスするときちんと表示されます。
【行ったこと】
・参考サイト(
http://www.jisaba.net/ )を見ながらapacheのインストール、
activeperl、PHPをインストールしました。
テスト成功画面を確認していますのでこれらのインストールは大丈夫だと思います。
・ポート80番の開放(確認くんで開放を確認しました)
・DNS自動更新DiCEの設定(エラー等出てないので大丈夫だとおもいます)
どうかよろしくお願いいたしますm(_ _)m。
>>542-
>>544 さん
ありがとうございます!
疲れてしまっていてすこし寝てしまいました。
ルーターやアクセスログ以前に
>>544 さんの言う
グローバルIPでアクセスできませんでした。。
IE(プロキシ経由)、IE(サーバーPC)、ファイヤーフォックス、
全てでページを表示できませんでした。
IPをURLにきちんと変換できていればきちんと表示できるってことですよね・・
バリュードメインやdiceの設定を見直してみます。
本当にありがとうございました。
>浸透不十分 wwww
549 :
DNS未登録さん :2010/01/01(金) 02:07:15 ID:TWuIR4Br
CentOS 5です。 /etc/init.d/httpd と /usr/sbin/httpd の結果が異なるのはどうして? サーバ起動時にapacheが起動してくれなくて困る。 $ sudo /etc/init.d/httpd start httpd を起動中: httpd: Syntax error on line 994 of /etc/httpd/conf/httpd.conf: Could not open configuration file /home/hoge/conf/apache.conf: Permission denied [失敗] zsh: exit 1 sudo /etc/init.d/httpd start $ cat -n /etc/httpd/conf/httpd.conf | grep 994 994 Include /home/hoge/conf/apache.conf $ ls /home/hoge/conf/apache.conf -rw-rw-r-- 1 root root 270 1月 1 00:17 /home/hoge/conf/apache.conf $ sudo httpd -k start $ ps auxww | grep apa apache 1612 0.0 0.6 46392 3620 ? S 00:42 0:00 httpd -k start apache 1613 0.0 0.6 46392 3620 ? S 00:42 0:00 httpd -k start ... $ sudo /etc/init.d/httpd status httpd は停止しています zsh: exit 3 sudo /etc/init.d/httpd status $ yum list installed | grep httpd httpd.i386 2.2.3-31.el5.centos.2 installed httpd-devel.i386 2.2.3-31.el5.centos.2 installed system-config-httpd.noarch 5:1.3.3.3-1.el5 installed $ uname -r 2.6.18-164.el5xen /etc/init.d/httpd の中を見てみたけど、正直よくわからん。 なんでなの?教えてエロイひと
>>549 >/etc/init.d/httpd と /usr/sbin/httpd の結果が異なるのはどうして?
と
>サーバ起動時にapacheが起動してくれなくて困る。
は別問題じゃね?
前者:/etc/init.d/httpd嫁
後者:Could not open configuration file /home/hoge/conf/apache.conf: Permission denied [失敗] なんだから、
Apache実行ユーザ(rootじゃないんでしょ!)で/home/hoge/conf/apache.confを読めるか確認
551 :
DNS未登録さん :2010/01/01(金) 23:06:27 ID:TWuIR4Br
書き忘れてた。 $ chkconfig --list | grep http httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off $ runlevel N 3 この設定をしていると /etc/init.d/httpd の start が実行されると勝手に思ってたけど認識あってます? あと、この設定ファイルは root になってるから、大丈夫な気が $ ls -al /etc/httpd/conf/httpd.conf -rw-r--r-- 1 root root 33779 1月 1 00:41 /etc/httpd/conf/httpd.conf でも apache ユーザがいたようなので、 $ sudo cat /etc/passwd | grep apache apache:x:48:48:Apache:/var/www:/sbin/nologin /home/hoge/conf/apache.conf のユーザとグループを apache にしたけど駄目だった。 /etc/init.d/http 読んでみた。よく分からなかった。。 daemon 関数が難しいです。
552 :
DNS未登録さん :2010/01/03(日) 20:20:44 ID:TYUJ9yFg
551です。 $ sudo setenforce 0 $ sudo /etc/init.d/httpd start httpd を起動中: [ OK ] SELinuxが原因でした。
permissive モードで動かすくらいなら 最初から入れなきゃいいと思うんだが。
554 :
sage :2010/01/06(水) 12:21:07 ID:WD5ysD8S
バーチャルホストごとに読み込むphp.iniファイルを分けるやり方って あるのでしょうか?
sageみすりましたorz
557 :
DNS未登録さん :2010/01/07(木) 18:22:47 ID:S9PB4aq6
192.168.0.7というローカルのIPアドレスで、ローカル鯖を作ってるんですが、 サブドメインと言うのを実現したいと思っています。 将来的に、www.hoge.jp と test.hoge.jp の2つの環境を運用できるように 今のローカル鯖でテストしたいわけです。 しかし、サブドメインてドメイン取得済みじゃないと(hoge.jpがないと)テストできないんでしょうか? 自分で調べたら、ドメインがあること前提の説明ばかりでわかりませんでした 実際ドメインとってないので、上の通りには実現できないでしょうが、出来るだけ実運用に近い形で テストするにはどうしたら良いのか、すみませんが教えてください。 www.には /var/www/html/ test.には /var/www/html_test/ を割り当てたいと思っています 宜しくお願いします。 環境はcentOS5.3, apache2です
Apache以前の問題 hostsファイル使え
hostsはクライアントのhostsな
こんばんは。 突然失礼します。 javascriptのスクリプト中でajax requestをしまくっているのですが(全工程でだいたい50〜100回くらい?) 最近apacheが下記のメッセージとともにすぐに停止してしまいます。 "Apache HTTP serverは動作を停止しました。 問題が発生したためプログラムが正しく動作しなくなりました。" apacheの限界でこれはどうしようもないでしょうか?
>>561 OSは?
環境は?
apacheのversionは?
apacheの動作モードは?
そのjavascriptには本当に一切の問題がないの?
それは限界じゃなくてなんかのバグだろ 単に遅くなるだけで、異常終了はしない
>>562-563 レスどうもです。
どうやらapache側の問題ではなさそうですね
OS:vista
Apache/2.0.63(win32)PHP/5.2.9-2
動作モード?
javascriptに問題・・・取り合えずエラーは出ませんが、時々Ajax通信に失敗することがあります。ですが大抵は正常に動作します。
javascript側の問題と考えた方がいいんでしょうか?
JavaScriptはクライアント側だろ? それでApacheが異常終了するならそれはApache側のバグだ もっともApache本体じゃなくてなんかのモジュールかもしれないが
>>565 apacheのバグを探して直すやり方(デバッグ法)をご教授願いたいです。
568 :
DNS未登録さん :2010/01/12(火) 12:42:36 ID:4yI0l5i0
httpd.confのAliasの設定について教えてください httpd.confに Alias /test "/var/www/*********/****.com/www/test" これで、http//www.****.com/test で /var/〜/www/test に繋がるの確認したのですが。 http//www.****.com/ で /var/〜/www/test には出来ないのでしょうか? Alias / "/var/www/*********/****.com/www/test" とすると http//www.****.com/ では、 permission to access / on this server. となります。
Document root変えれば?
>>567 更新はまたインストーラ版のapache_2.2.14-win32-x86-no_ssl.msi
を実行すればいいんでしょうか?
それとPHPも合わせて最新にするべきでしょうか?
もし動かなくなってしまったらと思うとガクブルです。
apacheとPHPを初めて設定したときかなり苦労した記憶がありまして・・・
571 :
568 :2010/01/12(火) 15:06:59 ID:???
569サン (o*。_。)oペコッ 感謝!
572 :
DNS未登録さん :2010/01/20(水) 22:24:11 ID:MiH6v0Pc
>>572 > この処置は不正なリクエストによって引き起こされる、セキュリティ問題から
> 守るために必要な措置です。
windows版のApache2.2を使用しているのですが 日本語のファイル名のファイルをダウンロードすると文字化けします。 解決方法はありませんか?
日本語を使わない
その前にWindowsで使わない
>>575 >>576 自宅のノートPCに入れてるんで、windows以外は考えられません。
文字化けの現象ですが、もう少し詳しく書くと
Index of...で日本語の名前の画像の一覧を表示させるまでは良いのですが
そのファイル名をクリックして画像を表示すると
ブラウザの1番上のバーの部分に表示されるファイル名が文字化けしてしまいます。
どうにかなりませんか?
AddDefaultCharset UTF-8 のままになってるとかつまんねーオチじゃねえだろなぁ
>>578 ググったら「AddDefaultCharset」の記述は出てきたんですが
winの2.2系にはそもそもhttpd.confに「AddDefaultCharset」という記述はありませんでした。
詳しくは覚えていませんが、「kr en ja ...」と並んでいる記述も同様に見当たりませんでした。
>>579 寝言言ってんなよ、httpd.confの中のinclude先見ろボケナス
「AddDefaultCharset」で「C:\Program Files\Apache Software Foundation\Apache2.2\conf」に対してgrepをかけましたが この単語はひっかかりませんでした。 httpd.confのincludeで抽出しても、モジュールのロード以外は全部#でコメントアウトされていました。
いまどきの apache がデフォルトで AddDefaultCharset なんて設定されてないよ。 そんなのどっかの linux だけ。
>>577 urlエンコードされて表示という話じゃないよな?
文字化けとの区別はちゃんとついてるよな?
>>584 それはブラウザが表示しているURLの表示が化けているだけ。
つまりはブラウザ側が問題。
httpdは、わざわざその部分に表示させる為の情報なんて送らない。
>>585 FireFoxで表示してみたら、文字化けせずに表示されました。
これはしょうがないということで諦め・・・かな?
ありがとう。
test1ディレクトリ drwxrwsr-x パーミッションにphpで作成したスクリプト 下記をブラウザで実行すると test2は d-ws----wt という変なパーミッション になってしまいます。phpでスティッキーズを立てたままディレクトリの作成は 出来ないのでしょうか。 mkdir("./test1/test2"); chmod("./test1/test2", 2755);
umaskは?
>>587 mode は 8進数で書かないと。
2755だと10進数になっちゃうよ。
apachebenchでやたらFailed requestsが出るから 何がおかしいのか2ヵ月ほど悩んでたんだが、ようやく分かった プログラムの開始と最後にmicrotime呼んで実行時間測ってたのが原因だった 1回目と2回目の内容が違うとFailed requestsになる仕様だったんだな(チラウラ
PHPの勉強をしようと思い
http://www.db.is.kyushu-u.ac.jp/rinkou/mysql/xamppinstall.htmlを参考にし 、
XAMPP for Windows 1.7.3をインストールしたのですが、
XAMPP Control Panel Application画面のApacheの横のstartボタンを押すと
ボタンの左にRunningと表示されるのですが
3秒くらいするとそのRunningが消えてしまいます。
http://localhost/phpmyadmin/をブラウザで開こうとしても 「リモートサーバーに接続できませんでした」というエラー表示が出て開けません。
Apacheが起動できていないと思うのですが、原因がわかる方ご教示お願い致します。
C:\xampp\apache\logsのerror.logには以下の内容が書かれています。
[Sat Feb 13 14:14:54 2010] [notice] Digest: generating secret for digest authentication ...
[Sat Feb 13 14:14:54 2010] [notice] Digest: done
[Sat Feb 13 14:14:55 2010] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Sat Feb 13 14:14:55 2010] [notice] Server built: Nov 11 2009 14:29:03
[Sat Feb 13 14:14:55 2010] [crit] (22)Invalid argument: Parent: Failed to create the child process.
[Sat Feb 13 14:14:55 2010] [crit] master_main: create child process failed. Exiting.
[Sat Feb 13 14:14:55 2010] [notice] Parent: Forcing termination of child process 36
マルチ乙
質問させてください。
Linuxに、Apache 2-2-14を入れました。
Document Rootはデフォルトのままで、index.htmlはブラウザ(IE)で表示できたのですが、
index.htmlと同一ディレクトリに置いている他のhtmlファイルやgifを表示できません。ブラウザ上でエラー表示になります。
index.htmlは、/usr/local/apache2/htdocs/index.html
他のファイルも、
usr/local/apache2/htdocs/test.html
usr/local/apache2/htdocs/new.gif
のように置いてます。
ブラウザでアクセスする場合は、
http://***.***.***.***/index.html と、IP直打ちです。
permission関係の設定が悪いのでしょうか?
エラーログ見ろ
>>594 サーバーを扱う者が「エラー表示になります」なんて言い回ししちゃいかんですよ
エラーはエラーメッセージがあってはじめて意味を成すもんなんだから。
「これこれこういう操作をするとなんだかおかしくなるんです!!」
だの
「昨日からどうも様子がヘンなんです」
なんて状況説明を100万回してもらっても原因は1ミリもわかりません。
エラーメッセージを1行コピペしたほうがはるかに早く確実に問題は解決します。
ところで
cat /usr/local/apache2/logs/error_log
はしてみましたか?
>>596 レスありがとうございます。
エラーログは見ました。
確かに原因と思われるログが残っていました。
明日、会社で確認してみます。
自分はサーバ管理者ではなく、たまたま自部署に置いてある別用途のサーバを使って、こんな事をして欲しいと上司から言われまして。試行錯誤してるところです。
598 :
594 :2010/02/16(火) 21:10:30 ID:???
エラーログを見たところ、Permission deniedとありました。 色々調べた結果、ファイルのアクセス権限に問題がある事がわかり、 「chmod +r ファイル」で、読み込み権限を許可したら、ブラウザで表示できるようになりました。 今後は、まずログ解析からするようにします。 ありがとうございました。
自己解決でもきちんと結果報告してるのはすばらしいことだと思った。
いやログ見ろと言われて確認したんだから自己解決でもなんでもないだろ
zend.example.comにアクセスすると/var/www/html/zend/guestbook/public/を読み込み local.example.comにアクセスすると/var/www/html/にアクセスするようにしたいのですが、 両方/var/www/html/zend/guestbook/public/へアクセスしてしまいます。 どのように設定したらよいのでしょうか? zend.example.com、local.example.comともにhostsで同サーバを見るようにしています。 現在このようになっています。 <VirtualHost *> ServerName zend.example.com DocumentRoot "/var/www/html/zend/guestbook/public" <Directory "/var/www/html/zend/guestbook/public"> AllowOverride All Allow from All </Directory> </VirtualHost> <VirtualHost *> ServerName local.example.com DocumentRoot "/var/www/html" <Directory "/var/www/html"> AllowOverride All Allow from All </Directory> </VirtualHost>
そうvhostって書き順があるんだよね
だから
>>601 みたいにドキュメントルートに下層・上層があって設定ファイルをドメイン毎にしてる場合とか
安易に Include "conf/vhosts/*"
なんてすると、意図したように動かない。
ふつうバグなんじゃないかって思うけどね。
どのバーチャルホストにもヒットしなかった時のデフォルトを 先頭に書くことと重複させてはいけないこと以外は 特に順序を気にする必要はなかったような。
デフォルト書けば直りそうな
NameVirtualHost にしなくていいのん?
607 :
DNS未登録さん :2010/02/19(金) 13:58:16 ID:6NlhhVQy
失礼します。 /cgi-bin/ディレクトリにあるcgiファイルから、cssファイルにアクセスできません。 症状:cssが適用されていない。 また、「.htaccess(/cgi-bin/.htaccessディレクトリ)」ファイルには AddType "text/css; charset=utf-8" .css AddHandler server-parsed .css を記述しております。 (windows環境では、この記述によりcssを読み取れるようになりました。) 今回の環境は、Solaris10 + apache 2です。 何か設定が必要なのでしょうか?
609 :
DNS未登録さん :2010/02/19(金) 14:17:11 ID:6NlhhVQy
>>608 さん。ありがとうございます。
??何も書いてないです(.htaccessに)
610 :
DNS未登録さん :2010/02/19(金) 14:26:49 ID:6NlhhVQy
連投すいません。
>>608 さんありがとうございました。
httpd.confのcgi-binディレクトリのAllowOverrideがNoneになっておりました。
Allに変更することでcssが適用されるようになりました。ありがとうございました。
助かりました。
611 :
601 :2010/02/22(月) 23:33:29 ID:???
逆にすると両方のサブドメインとも、/var/www/html/へアクセスするようになりました。 何か間違っているのでしょうか?
>>611 それは、2番目に書いたサブドメインを指定したつもりの設定が間違ってるってことだな。
最初の<VirtualHost *>は、常にエラーを返すようにしておけばはっきりする。
NameVirtualHostが無いかコメントアウトになってるに1票
614 :
601 :2010/02/24(水) 23:57:40 ID:???
NameVirtualHostがありませんでした、追加したところうまく動きました。 感謝です。
ApacheをC:/Program Files/Apache Software Foundation/Apache2.2/にインストールしました。 正常に動いているのですが、OSにVistaを使用しているためか、htdocs内のファイルを直接変更することができません。他の場所で作成してhtdocsにコピペするとできますが、毎回許可を求められます。 変更するたびにコピペして許可をするので効率が悪いのですが、なにか良い方法はないものなのでしょうか。
Vistaなんかにインストールするな
apacheが糞すぎるからだな
>>615 ユーザーアカウントのセキュリティで規制かかってるんじゃないの
Apache云々以前にまずはOSの使い方勉強したほうがいいよ
DocumentRootを変えればいいだけだろうw
620 :
DNS未登録さん :2010/02/26(金) 18:18:25 ID:y91wGUcs
失礼ですが、PHPの所で聞いたのですが、「PHPじゃなくてApache関連じゃないか」との事でこちらに質問させていただきます MimeTypeのところで出てきたのですが、magicfileって何なのでしょうか? 単にmagicfileで検索しても名探偵コナンばっか出てくるし(苦笑)、それを検索から除去しても良く分かりませんでした
mod_mime_magicで使うファイル。後は調べろ。
622 :
DNS未登録さん :2010/03/01(月) 10:08:58 ID:Iz4MKCyu
windows XP 64にインスコしたらエラーで起動してくれなかったのですが これって64bit用のApacheじゃないとダメですか? 探したのですが発見できなかったのであるとしたらURLとか教えてください・・
エラー内容も書かずに質問かい?
>>622 エスパーだけど
Listen 0.0.0.0:80
にしたらどうなる?
625 :
DNS未登録さん :2010/03/03(水) 10:26:00 ID:zOlVfuO+
っていうか、普通の32ビット用のアパッチでも普通にXP64で動くの?ってきいてんだけど
>>624 の内容から察するに動かない理由は64ビットOSとは別にあるっぽいですね
Listenどうやってやるかわからないけど、調べてみる
httpd.confじゃ
ありがとうございます。みてみます。
>>624 、
>>626 エスパー通りでした。ほんとにありがとう。
タスクトレイのアイコンの三角が緑になりました。
以前はXP32に入れても何も弄ることなくできたのでOSのあれかなとおもっていました。
ありがとう・・・
すんません・・・ 無事に外部から見ることができたのですが DocumentRootを"C:/Test/Cap"に変えたらみれなくなったのですが これの他に変更するとこはあるのですか?
見られないとはどういう現象? エラーならエラーログを
TestフォルダかCapフォルダにLOCAL SERVICEか何かの読み取り権限を与えないとダメとか <Directory "C:/Test/Cap">とその中にAllowとか
>>629 エラー画面が出るのと、何も出なくてブラウザがエラーを返すのでは全然違う。
自分で動かすなら、それぐらいは理解してから質問をしよう。
色々お答えありがとう
特に
>>631 ありがとうありがとう
現象はタスクトレイのアイコンは緑三角になってるのに
ブラウザでみたらアクセス拒否って表示されてますた。
サイトでみたらDocumentRootだけ弄ればOKみたいなことかいてたから
そこしか弄ってませんでしたが
<Directory "C:/Test/Cap">を追加したらちゃんと見ることができました。
どうもすみませんでした、ありがとう。
そういうのもエラーログ見ると全部書いてあるよ
>>634 失礼しました。
今度からまずログみてから質問します。ありがとう
最後の方はしおらしく、ログ見て質問しますかよ?
>>623 の立場は無視か?w
煽るだけしかできないゴミはレスしないで下さい
質問させてください。 クライアントがPOSTリクエストに付加する Content-Lengthヘッダについてのapacheの挙動についてです。 たとえば、Content-Length: 80 というヘッダが 付加されているのに、実際のメッセージ・ボディが1 00バイトとかある場合、apacheはどのように処理しますか?
639 :
DNS未登録さん :2010/03/04(木) 23:29:27 ID:ToZsWP6s
質問です linuxが入っているサーバーにapacheとtomcat入れているのですが 別のノートパソコンからeclipseでtomcatのホームディレクトリを linux側へ参照させることは出来ますでしょうか? eclipseの、ウィンドウ→設定→tomcatの tomcatホームのとこです
>>638 全然前後読んでないけど、
httpd-2.2.13/include/http_protocol.h に
/* Reading a block of data from the client connection (e.g., POST arg) */
/**
* Setup the client to allow Apache to read the request body.
* @param r The current request
* @param read_policy How the server should interpret a chunked
* transfer-encoding. One of: <pre>
* REQUEST_NO_BODY Send 413 error if message has any body
* REQUEST_CHUNKED_ERROR Send 411 error if body without Content-Length
* REQUEST_CHUNKED_DECHUNK If chunked, remove the chunks for me.
* </pre> * @return either OK or an error code
*/
って書いてある
>>638 普通に考えた通り、2.2.15-devではKeep-Aliveのパイプラインの
次のリクエストっぽく処理される。
POSTしたボディの81バイト目からGET / HTTP/1.1〜とか続いていたら
ちゃんとそれがもう一つのHTTPリクエストとして処理されるw
>>641-642 レスありがとうございます。
攻撃のつもりでわざとContent-Lengthを不正な値にした場合は
441エラーが返されるってことですかね
普通に考えたら、足りなかったらタイムアウトまで待って 多過ぎたら指定された長さまで読んでそこ以降は 次のリクエストとして解釈するでしょ。 で、チャンクエンコードされていたらそちらでもサイズが指定されるから サイズの不一致のエラーが出せる。
なるほど・・・ 助かりました 勉強になりました
>>640 Eclipseをエディタとして使うだけならできそう。
Tomcatがみるディレクトリをネットワークで共有して、それをEclipseで編集する。
Tomcatとの連携は無理だろうね。
647 :
DNS未登録さん :2010/03/21(日) 14:37:56 ID:k6O2XQ6y
すんません質問さしてください apache入れて、ローカル環境でPHPの勉強したいんですが apacheつけると外部からPCの中身を覗かれることってあるんでしょうか? とりあえず設定はまだ変えてないのですが・・・
その外部ってどこをさすの? apache以外は外部からのアクセスを心配したこと無いの?
そうかなるほど。 えーと、apacheでサーバーを立てる=インターネットにつながるとHDDの中身全部丸見えになる みたいな認識があったのですが、そういう事ではないのでしょうか。
自分の環境次第 Apacheそのものはインストール直後の標準の設定では指定したフォルダ以下が 見られるようになるだけ。 PCそのものがモデム直結や契約等でグローバルアドレスをふってないかぎり わざわざ外部に公開する設定しないと外からは見えないよ。 HDD全部丸見えなのはWindowsのデフォルトの仕様で、Apacheのために 外部公開したらWindowsの仕様のために全部見えちゃった、くらいの話だと思うよ。
丁寧にどうもありがとうございました。 これからもっと勉強しますです
652 :
DNS未登録さん :2010/03/21(日) 23:45:08 ID:XEZZpWgn
以下のようなエラーが出ます: >javac Sample016.java Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; EclipseでTomcatを起動したときは問題なく動くんですけど、コマンドプロンプトからjavacだと動きません。 多分、classpathの設定に問題があるんでしょうけど、servlet-api.jarとjsp-api.jarへのclasspathはちゃんと設定されています: >set classpath CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip; C:\apache-tomcat-6.0.26\common\lib\servlet-api.jar;C:\apache-tomcat-6.0.26\common\lib\jsp-api.jar; スペック: Windows XP (64-bit) apache-tomcat-6.0.26-windows-x64.zip jdk-6u17-windows-i586.exe jre6 …後は何を確認すればよいのでしょうか? 必要であれば補足しますので、どうか助けてください。お願いします。
654 :
652 :2010/03/22(月) 01:12:03 ID:???
>>653 ありがとうございます。
あら、スレ違いでしたか。
一応そのリンクを読んで
>set classpath
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;C:\Program Files
(x86)\Java\jdk1.6.0_17\lib\tools.jar;C:\apache-tomcat-6.0.26\common\lib\servlet
-api.jar;C:\apache-tomcat-6.0.26\common\lib\jsp-api.jar;
にして、再起動もしてみましたが、やっぱり動きません。
Java周りのくだ質で訊いてみます。
スレ違いなのに丁寧な対応、ありがとうございました!
655 :
DNS未登録さん :2010/03/26(金) 15:21:56 ID:cJ3anJUs
サーバーを運営していますが、静的なページのパフォーマンスを改善しようと考えています。 静的なページや画像などをメモリーに常駐させておいて、 Apache上で、そのメモリーから読み取って返す、みたいな方法ってありますか? HDDにアクセスせずに、メモリー上でレスポンスを返したいと考えています。 php上でメモリーを利用してパフォーマンスを改善しているのですが、 できればApache上でできれば、もっと早いのに、と思って質問しました。 アドバイスを宜しくお願いします。
>>655 そのまま、Apache メモリキャッシュ で検索すると出てきますよ!
>>665 最近のOSは頭いいから、余ってるメモリーが勝手にキャッシュになるから、静的コンテンツのローカルキャッシュであればそれで充分。
たとえば4GBのメモリー積んでて、OSやサービスの利用メモリが1GBだとしたら、余りの3GBは勝手にファイルキャッシュにまわされる。
つまり静的コンテンツの容量が3GB以内であればディスクアクセスはゼロ。
試しにベンチとってみればわかるけど、apacheとストレージを同じOS上でもってる環境では、mod_cacheとかでapache側にキャッシュを実装してもオーバーヘッドが増えるだけでほとんど効果ないよ。
CentOSからyumでインストールしました 今後のアップデートも考えて再構築せずにそのまま使いたいと思っています。 そこでsuexecまわりについて質問があります。 現在の設定は # suexec -V -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=100 -D AP_HTTPD_USER="apache" -D AP_LOG_EXEC="/var/log/httpd/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=500 -D AP_USERDIR_SUFFIX="public_html" になっています。 この場合、ユーザー毎にsuexecでcgiを起動させたい場合は /home以下にユーザーディレクトリを作るのではなく /var/www以下にユーザーディレクトリを作ってそこにpublic_htmlを作らなければいけないのでしょうか?
そうです
いや/home以下でいいよ
AP_DOC_ROOT="/var/www" だから /hom e以下だとsuexec効かない。
ユーザーディレクトリは別だよ
うちも -D AP_DOC_ROOT="/var/www" だけど/home/ほげほげ/public_htmlでsuexec効いてるよ
>>661 AP_USERDIR_SUFFIXがあるからok。
昔はこの辺面倒だったけどね。
ありがとうございます。 参考になります ちなみにユーザーディレクトリを pulic_htmlではなくhtdocsにする場合はやはりリビルド必須でしょうか?
そらそうだw
上の質問は /home/ユーザーディレクトリ/public_html での場合です /var/www/ユーザーディレクトリ/public_html では動作確認できました。 後一歩なのか無駄な抵抗なのかアドバイスお願いします
無駄な抵抗。 そもそもその場合(後者)はapache的には「ユーザーディレクトリ」とは呼ばんw
>>669 やっぱそうなんですねー
apacheを騙して無理矢理動かしてみただけです
おとなしく書き換えます
Apache の ErrorLog ディレクティブに関して質問です。 いままでは、ErrorLog ディレクティブにてファイルを指定し、 そのファイルを確認していましたが、Web サーバが複数あるので syslog にて log サーバに飛ばしてしまってまとめて確認出来る ようにしました。 しかし、syslog では一部抜けてしまうためファイルにも log サーバにも保存するようにしたいと考えています。 アクセスログは、CustomLogディレクティブにて複数記述すれば 想定通りになるわけですが、ErrorLog ディレクティブはどうも 後から設定した方しか有効にならないようでうまくできません。 ※ 例 ErrorLog /var/log/httpd/error_log ErrorLog syslog:local6 とした場合は syslog にしか記録されない マニュアルには一つしかダメなどの記述がないのですが、 複数書く事は出来ないのでしょうか?
>>671 rsyslogとか、syslog-ngを使ってみる。
>>671 そもそも手段が間違っていると思うんだが。
複数のログをマージなり集計するスクリプト組むとかした方が早いと思われ。
>>672 結局それしかないのかな...
現在は、syslog-ng で destination を複数指定して
制御してるけど、アクセスログとエラーログの制御が
別々の方法になってるのが運用上いけてないな〜という
のが気になってて、どうすべきかを悩んでた。
>>673 一日毎に全サーバのログも収集してソートして
一つのファイルにしてるんだ。
udp の syslog の場合は、当てにならないしね。
各種解析(アクセス数など)はこのファイルを使ってる。
そのためにローカルにファイルがあってほしい。
ただ、現在新たなエラーが出てないかどうかを
何十台もある web サーバで確認するのは正直しんどいので
多少不整合があっても realtime にまとめてログを
確認出来るようにしたかった。
という事で、とりあえず syslog-ng での対応で
様子見をする事にしました。
ありがとうございました。
ログをマージしてから集計・解析するんじゃなくて 各鯖のアラートなり解析なりをマージしたほうが 早いんじゃないかと思った俺
DBつっこむの、いいよね
>>675 その通りだと思う。
まだ、その環境が構築できてない。
で、676 にあるようにDBに突っ込むのもいいんだけど
(実際そうしている場合もあるけど)結構負荷が高いので
ログに関して言えば Hadoop あたりを使う事で現在検証中。
とはいえ、インフラ構築者が環境を用意しても
アプリ開発者はどうしてもなれた物を使おうとするし
なかなか今の状態からは抜け出せない。
apache2.2 centos5.4で質問です。 ヴァーチャルドメインのルートディレクトリの表示だけどうやってもUTF-8とブラウザ(IE8)に 認識されてしまいます。 現象としては hogehoge.com/index.htmlではShift_JISになりますが /のみの場合だけUTF-8となってしまいます。 AddDefaultCharset off AddDefaultCharset Shift_JIS 上記二つも試してみましたが効果がありませんでした。 お知恵を拝借させて下さい。
>>678 httpのContent-Typeは?
/と/index.htmlがサーバでは同じでもブラウザでは違うものだから まずブラウザのキャッシュを消してみる。
>>679 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
です。
>>680 ブラウザのキャッシュは消しました。
また、index.htmlを試しに消去してみるとヴァーチャルドメインではなく
apacheのドキュメントルートが表示されました。(インストール直後のapacheの画面)
すみません。解決しました。 キャッシュを消したりindex.htmlをindex.htmに代えたり AddDefaultCharsetをいろいろいじったり 設置位置を変えたりしていたのですが なんてことはなくindex.htmlのテキストを少し書き足してbyte数が変わったら 正常に表示されました。 どこかのキャッシュがファイルサイズが変わってないので変更なしと判断していたみたいです。 お世話をおかけしました。
生IPでアクセスされた場合、VirtualHostの機能で403を返していますが、 80のポートを空けていないようにタイムアウトさせることは出来ますか?
どなたかご教示お願い致します。 htmlなどに記述する絶対パスですが、この参照先をルートディレクトリ以外の特定の ディレクトリとする事は可能でしょうか? たとえば /html/test/index.html /html/test/img/test.jpg 上記のindex.htmlファイルに絶対パス(/img/test.jpg)を指定すると /img/test.jpgを参照するので、リンク切れになってしまいます。これを /html/test/img/test.jpgを参照するようにしたいのです。 また、この絶対パスの設定は/html/test/以下におかれたファイルのみに設定したいのです。 (/html/test/以外に置かれたファイルの絶対パスはそのままにしたいのです) このような設定は可能なのでしょうか?
>>684 コネクション張ってリクエストヘッダを受け取らないと生IPかどうかわからないのだから、
「ポートを開けてないように」ってのは無理。
レスポンス返さずにずーっとだんまりにすれば相手はタイムアウトするだろうけど、
リクエストたくさん投げられたら大変なことになるね。
688 :
お名前 :2010/04/13(火) 21:57:50 ID:???
apache13 1.3.42を使っています
public_html/2ch にアクセスする時に
チルダを使わないで
ttp:// ○○.jp/2ch のようにしたいのですが
AliasMatch ^/home/([^/]+)/(.*) /home/$1/public_html/$2 を記述というのを
やってみましたが、うまくいきません
お力を貸してください。
>>687 > レスポンス返さずにずーっとだんまりにすれば
サーバ側(具体的にはhttpd)でiptablesとかipfwとかを使い、
そのIP宛の通信を127.0.0.1などのダミーに転送するようにしてあげれば、
サーバのリソースを無駄遣いすることなく「だんまり」が作れたりする。
要はサーバから見て帰り側のパケットが相手に届かなければいいので、
どこでもいいからTCP的に何らかの反応があるところに送ればいい
(もちろん自分以外の企業や団体に送ればDoS攻撃だ)。
もちろん送りつけられた相手からすればそんなコネクションは知らないのでRSTが
帰され、すぐにコネクションが閉じることになる。
>>689 684 の話は NameBase の VirtualHost に見えるので
iptables でどうこうできないんじゃないかな。
a.example.jp と b.example.jp が ip: 1.2.3.4 だとしたときに
http://1.2.3.4/ にアクセスしてきたら無応答にする(iptables
ならdrop)という事だと思う。
apache の設定では
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/def/
</VirtualHost>
<VirtualHost *:80>
ServerName a.example.jp
DocumentRoot /var/www/a/
</VirtualHost>
<VirtualHost *:80>
ServerName b.examle.jp
DocumentRoot /var/www/b/
</VirtualHost>
で、IPで来たときに使われる一番はじめの設定(ServerName localhost)で
無応答にしたいという事のはずだから、687 が書いたとおり
「リクエストヘッダを受け取らないと」どれに振ればいいかわからない
=何かしら応答を返さないと行けない ので無理。
>>690 Content-Handlerでiptables/ipfwを呼ぶ簡単なモジュールを作れば解決できるだろ。
>>691 相手とコネクションを貼る前にそういう操作ができるなら可能だろうけど、
できる?
>>688 その目的でユーザーディレクトリ使う理由がわからん
リンク張るだけじゃダメか?
>>692 handshake自体は防ぎようがない。
「だんまり」はパケットに全く応答しないという意味ではなくて、
途中から応答を返さずにいるだけでも成立できる。
クリ〜ンインストールしたubuntu804にapacheをインストールしました
ユーザーディレクトリにpublic_htmlを作成して中に簡単なhtml置いて
/etc/apache2/site-avaibal/のなかにあるデフォルトの設定ファイルの
/var/www
のところを
/home/hoge/public_html
に二ヶ所変更して保存してapache再起動して
ブラウザから
http://localhost にしてもパーミッションないと怒られたので
フォルダごと
chmod 777にして
フォルダごと
chown www-dataにして
apache再起動しても
パーミッションないと怒られたんですけどなんとかしてください
http://localhost で
http://localhost/hoge の表示がしたいんだけどできないよ〜
神でてこい
そのpublic_htmlの上のhogeディレクトリが オーナーhogeで700なんじゃないか? もしそうなら701にしてみそ あとSELinux関連とか。 とりあえず動作確認なんだろうけどhomeの下をそうやるのはやめといたほうがいい
ubuntuはSElinuxっデフォルトで無効になってるんじゃなかったっけ?
ログ見ろよバカ
700 :
695 :2010/04/22(木) 06:57:11 ID:???
ログはこれです
[Thu Apr 22 06:15:39 2010] [notice] Apache/2.2.8 (Ubuntu) configured -- resuming normal operations
[Thu Apr 22 06:19:34 2010] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /home/hoge/public_html/
[Thu Apr 22 06:19:34 2010] [error] [client 127.0.0.1] File does not exist: /home/favicon
http://localhost/にブラウザからアクセスすると Forbidden
You don't have permission to access / on this server.
Apache Server at localhost Port 80
の表示が出ます
やったこと
#sudo apt-get install apache2
$mkdir public_html
そのなかにhtml置いて
/etc/apache2/sites-enabled/000-default
を編集して
DocumentRoot /home/hoge/public_html/
<Directory />
Options All
AllowOverride All
</Directory>
<Directory /home/hoge/public_html/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
にしたんだけど
上記のログがでてきますた
>>696 ls -l でみたら/home/hogeにxついてました
パーミッションじゃね? 読めないんだろ。
<Directory /home/hoge/public_html/> のOptionsにIndexes追加で
パーミッションはだから777にしてるって
>>702 ありがとう
帰ったら試してみます
>>700 で やったこと
って書いてあるのが全てかと思ってたら他にもやってたのか。
どこでmkdirしてるかわかんねぇし、もうちょい整理してくれ。
解決したら書かなくていいけど。
/etc/apache2/sites-enabled/000-default じゃなくて /etc/apache2/apache2.conf /etc/apache2/sites-available/default じゃないの
706 :
705 :2010/04/22(木) 15:08:32 ID:???
みてみたら、000-defaultは../sites-available/defaultへのリンクになってるのね ごめん
707 :
DNS未登録さん :2010/04/22(木) 16:45:53 ID:tacTKE6B
困ってるので助けてください。
CentOS5.3上のapache2.2.3で、複数ドメインをバーチャルホストで設定していて、
それぞれのドメインがmod_fcgidを使って、CGI版PHPを各ユーザの権限で動かしています。
各ドメインから、SSLを使う場合のみ、userdirを使って、一つのドメインのSSL使いまわして、同じディレクトリのPHPを動かそうと思っているのですが、
その場合はディレクティブの設定をしていても「Internal Server Error」が出て、
print 123;などの簡単なPHPスクリプトも動きません。
↓このような感じです。
(1)動かない→
https://SSLドメイン/~ユーザ/test.php (2)動く→
http://ユーザドメイン/test.php しかし・・・
(2)で動かした後だと、(1)でも何故か動くのです。
ちなみにperlは、(1)、(2)共に正常に動きます。
動かなかったとき、SSLサーバのエラーログには、
Connection reset by peer: mod_fcgid: read data from fastcgi server error.
Premature end of script headers: test.php
と表示されています。
SocketPathで設定したディレクトリ内のファイルが関係しているような気はしますが、
どういった原因が考えられるでしょうか?
>Premature end of script headers これが出てるってことはヘッダーより前に何らかのエラーなり警告が出てるはず
ってそれがConnection reset by peerか? sshでログ出てない?ssl_request_logとか
710 :
707 :2010/04/22(木) 17:52:57 ID:tacTKE6B
ssl_request_logを調べてみましたが、特に異常はありませんでした。 他には、動かなかった場合は、suexec.logに 「command not in docroot」とのエラーメッセージが出ていました。 (2)で動くようになったあとには出ません。
帯域制限を解除する方法ってないでしょうか? mod_bwshareみたいに追加でいれなきゃいけないような物は 特にいれていないのですが、1ファイル当たり400kb/sしか出ない状況です 2ファイルなら合計800 これを1セッションでも800kb/s出せるようにしたいです WinXP Apache/2.2.15
アパッチ2.2を使っています。 mod_rewriteでハマッています。 今まで、サーバ1で 「ファイルAのリクエストに対して、もしファイルが無かったらフ ァイルBのリクエストに書き換える」 見たいな事をmod_rewriteで行っていました。 特に問題なく実現出来ていました。 これをとある事情で、サーバ1の手前にサーバ2を置いて サーバ2のアパッチ2.2にmod_proxyを入れて、server2/foo へのリクエストについて は server1/foo へフォワードプロキシ とした途端、サーバ1のmod_rewriteが期待する動きをしなくなりました。(全く書き換 えてくれない) rewriteのログを出力する設定にしても、ログが全く吐き出されませ ん。 mod_proxyのフォワードプロキシを間にかました場合は、どこか設定を調整する 必要がありますでしょうか?
Rewrite設定見ないと何とも言えんがajp指定にしてないとか?
「ファイルAのリクエストに対して、もしファイルが無かったらファイルBのリクエストに書き換える」 見たいな事を 日本語に超訳されても、元の記述がわかる人なんてエスパーだけだから rewriteのディレクティブを可能な範囲でコピペしたほうが早いと思うよ?
>>712 proxy経由で送られてくるリクエストがrewriteルールにマッチしないんでしょ。
なんでマッチしないかは部外者にわかるわけもなく。
716 :
712 :2010/04/24(土) 20:49:21 ID:???
自己解決しました。
HTTPサーバ以外も含むということで、JMETERで質問させてください
ある一回のHTTPレスポンスBODYにあるペアの項目を抽出して順に処理させるにはどうしたらいいでしょうか
例として
<body>
A=ABC,B=123
A=DEF,B=456
A=GHI,B=789
</body>
のような場合に
Bが500以下ならというIFコントローラ配下で、HTTPリクエストとして
http://foo.bar/test.do?value=ABC http://foo.bar/test.do?value=DEF という2回のリクエストを行うような想定です。
正規表現抽出でA=とB=に対して2つの変数を用意するとうまくいきません。
1つの変数に対してForEachでループさせるのは出来たんですが、2つの変数の
ペアになった値でループ処理は実現できますか?
JMETERのバージョンは2.3.4 r785646です。
Ver2.2を使用しているのですが、 ログファイルをUNICODEで吐かせることは出来ないでしょうか? 知り合い向けディレクトリ表示のまま、色々公開しているのですが いくつか日本語ファイル名のやつもあって、 その辺のログが文字化けしてしまうので、なんとか読めるように出来ないでしょうか? よろしくお願いします。
>>718 CustomLogにnkfパイプされればいいだけのことじゃない?
もとい。nkfパイプさせれば。
>>718 文字化け?URLエンコードされてるんじゃなく?
本当に文字化けなら、複数の文字コードに対応するエディタで開けばいいだけ。
URLエンコードなら、自前でデコードするか、どこかでツールを見つけるか。
>>718 CustomLog "| nkf -w > /usr/local/apache/logs/unicode.log" common
nkfでバッファリングされるからリニアじゃないけど、とりあえずこれでUTFのログ採れる
と思う
>>710 そのエラーはsuEXEC関連だね。
SSLと設定変えてるとこあるかな?
724 :
718 :2010/04/25(日) 17:05:51 ID:???
URLエンコードってもんを知らなかった・・
日本語ディレクトリだから化けてるもんだと思ってました・・
>>721 とりあえず、単体でログファイルを投げればデコードしてくれるソフトは見つけたのですが
これを、apacheがログを吐いたときにデコードしてくれるような
便利なやつってなにかありませんか?
>>719 ,722
winのexe版を拾ってきて
CustomLog "|logs/nkf.exe -w > logs/access2.log" common env=!nolog
にして、動かしてみたのですが
なにもログはかれなくなってしまいました
windowsは門外漢なんでわからんけど、linuxでは
>>722 でログとれたよ
nkf.exe -O logs/access2.log とか?
で、結局URLエンコードなの? URLエンコードならnkfで頑張ってもダメじゃね? 質問内容のUTFで出力は出来るだろうが。
728 :
707 :2010/04/27(火) 18:50:04 ID:niwUZ0Fr
>>723 fcgiのディレクトリの設定やラッパーは、
ヴァーチャルホストも、SSLのuserdirも同じ設定を使っています。
ちょっと変かもしれないのは、userdir用に、ドメインのユーザとユーザーIDが同じアカウントを作って、その権限で動かしている事です。
それは問題ありますかね?
729 :
718 :2010/04/27(火) 22:50:19 ID:???
>>727 結局URLエンコードです(´・ω・`)
とりあえずは、WEBにあったデコードしてくれるサイトに
見たいときに毎回投げて読んでるけど・・
・・・出来れば、そんな小面倒くさいことしないで
デコードされた状態でログを吐けるようにしたいです
apacheがエンコードしているわけじゃなく、エンコードされたパスでリクエストを受けているわけだからなぁ。 リアルタイムで無くて良いなら、ローテートしたログに対してデコードするようにしておくとか。
nkfの代わりにURLデコードするプログラムをかます。 nkfが動くのなら動くだろう。動かないならシラネ。
バーチャルホスト毎に転送量のグラフ作りたいんだけど何か良い方法無いですか? mod_watchがそんな機能持ってるっぽいけど、正常にデータ取れず…(´・ω・`) あと、 MaxClients 256 とか設定している中で、1セッションだけ特定のIP専用にしたりする方法ってあります? サーバが埋まっている状態でも、死活監視サーバからは繋がるようにしたいんです OSとかのバージョンは以下の通りです。 OS:CentOS5.4 Apache:2.2.3
>>732 ちょっとズレるけどmod_cband便利だよ
ウェブベースのステータス画面が用意されてて、リアルタイムにvhosts毎の転送量、使用中の帯域、コネクション数が取得できる。
ついでにvhosts毎の帯域制御(QoS)もできるようになる(というか帯域制御が本来の目的だけど)。
ただ、取得した情報をSNMPに吐く機能まではないからグラフ化はできないなぁ
5分毎にでもcbandのsatus取得してSNMPに吐き出すスクリプト組む必要ある
あと、>死活監視サーバからは繋がるようにしたいんです
は、いったいなにをしたいのかわからないけど(いつでもつながるようでは死活監視の意味がない)、apache2重起動すればいいんじゃない?
port8080と8081で2つapache起動して、フロントエンドのport80はpoundとかmod_proxyとか適当なリバースプロキシで受ける。
通常アクセスは8080、非常用アクセスは8081にしておけばmaxclientオーバーで8080の子プロがパンクしても8081へは余裕でアクセスができる。
ほかにもいろんな方法あると思うけど、自分ならそうするかなぁ
>>733 あー、なるほど。
定期的にcband-status?xmlやって、xmlからsnmpに吐き出させればいいのか…
ちょっとやってみます。
>は、いったいなにをしたいのかわからないけど(いつでもつながるようでは死活監視の意味がない)、
503の時も落ちたって判断されちゃうんで、どうにかしたいんですよ。
って書いてて気がついたけど、死活監視側の設定弄ればいい気がしてきたw
ただ、死活監視側弄るにしても、多重起動&リバースプロキシ使うにしても、
503の時はcband-status?xmlの取得出来なくなるかな…
FreeBSD 8.0 + MySQL + Tomcat6.0 + SSL + PHP5 + phpMyAdmin
httpd.conf のDocumentRoot はデフォルトの
/usr/local/www/apache22/data のままです
phpMyAdmin を
/usr/local/www/phpMyAdmin/
ここにインストールしました
/usr/local/etc/httpd.conf
このファイルに
Include etc/apache22/Includes/*.conf
この記述があるので
/usr/local/etc/apache22/Includes/
この配下にphpMyAdmin.conf を作成し下記の内容を記述しました。
# phpMyAdmin.conf
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
Options none
AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .hoge.com
</Directory>
http://192.168.0.10/phpmyadmin ここにアクセスしても、
Forbidden
You don't have permission to access /phpmyadmin/index.php on this server.
この結果です
/usr/local/www/apache22/data/phpMyAdmin
DocumentRoot 配下にこのように置いて
http://192.168.0.10/phpMyAdmin/index.php アクセスすると、phpMyAdmin が表示されます。
なぜ、/usr/local/www/phpMyAdmin/ に置くと表示も、エイリアスも利いていません
なぜなんでしょうか?
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/" を ScriptAlias /phpmyadmin/ "/usr/local/www/phpMyAdmin/" に変えてみたらどうなる?
よく読んでないけどパーミッションがないよ!って言っているんだから パーミッションのチェックはしたんだよな? Apache実行ユーザでそのディレクトリ階層まで移動できる&ファイルが見られることの。 あと毎回思うがなぜエラーログを貼らないのかが不思議でしょうがない。
>>736 駄目でした
>>737 # /var/log/httpd-error.log です
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.13 (FreeBSD) mod_ssl/2.2.13 OpenSSL/0.9.8k DAV/2 PHP/5.2.11 with Suhosin-Patch configured -- resuming normal operations
[error] [client 192.168.0.7] client denied by server configuration: /usr/local/www/phpMyAdmin/
>>パーミッションのチェックはしたんだよな?
しました
>[error] [client 192.168.0.7] client denied by server configuration: /usr/local/www/phpMyAdmin/ >Allow from 127.0.0.1 .hoge.com 192.168.0.7はAllowしないのか?
ログを見たら、20時台のと19時台のログが 時系列にならないで記録されていたんですが どうしてですか? 特にログの生成に当たり別のソフトとかを介してるとかってことはないんですが ***.***.**.119 - - [29/Apr/2010:20:17:39 +0900] "GET ***.***.**.119 - - [29/Apr/2010:20:18:54 +0900] "GET ***.***.**.179 - - [29/Apr/2010:19:29:14 +0900] "GET ***.***.**.179 - - [29/Apr/2010:19:27:58 +0900] "GET ***.***.**.119 - - [29/Apr/2010:20:15:50 +0900] "GET
>>734 よほど特殊な理由がない限り、503エラーがでないような構成にすることのほうが先決かもね
>>740 apacheのログはなにも時系列順に吐かれるもんではないよ
処理が終わった順にログファイルに追記していくつくりだから
例えばダウンロードに10分かかったファイルのアクセスログは、実際にGETした時間の10分後に記録される
つまり、なんらかの理由で表示に1分かかったから、そういう順番のタイムスタンプになったってわけ
FilesMatchで拡張子を消してアクセス出来るけど、消す意味ってどんなメリットがありますか? 何の言語を使ってるか特定されにくくするとか、トラフィックを減す(つっても4バイトとかだと思うけど)くらいしか思いつかないんですが。
debian(lenny)、Apache 2.2.9でmod_rewriteが上手く動作せずに困っています。
# sudo a2enmod rewrite
として、
/etc/apache2/sites-available/default内の"AllowOverride None"を"AllowOverride All"に変更。
# /etc/init.d/apache2 reload
で再起動し、
# apache2ctl -M
で確認すると、"rewrite_module (shared)"と表示されました。
また、/etc/apache2/mods-available/rewrite.load内には
"LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so"
となっています。
この状態で/var/www/に.htaccessを置き
RewriteEngine On
RewriteBase /
RewriteRule ^/(.*)$
http://www.hoge.com/$1 [R,L]
の内容にしてみました。
しかし、hoge.comには行かず現在ルートにあるindex.htmlが表示されてしまいます。
mod_rewriteが上手く動作していないと思うのですが、他にどの項目を設定すれば良いのでしょうか?
744 :
740 :2010/04/30(金) 21:47:04 ID:???
>>741 てことは、
1GBくらいのファイルをGETされたら
落とし終わるまでなんも吐かれないってこと?
むーん・・
今、こいつは何にアクセスしてるのかってほぼリアルタイムで把握できるような方法ってないですか?
mod_status
.htaccessにRewriteの設定を書くのは上級者がすること
749 :
DNS未登録さん :2010/05/01(土) 00:36:14 ID:C/7qfJZz
PHPを使いたくて、Apache2.0をインストールしたいのですが、 (参考書籍でも2.0だし)、msiがもうおいてないようです。 msiを使わずにインストールはどうすればよいのでしょうか? もしくはどこかにmsi置いてないでしょうか?
2.2で良いと思うが。php使う分には大して変わらんよ。
751 :
DNS未登録さん :2010/05/01(土) 00:50:13 ID:C/7qfJZz
参考書籍で2.0なので揃えて2.0をインストールしたいのです。 2.2で試しましたが、httpd.confにモジュール追加するときや ファイルタイプの指定で行番号が違うのでよくわからない状況です。 msiでないファイルでも何かしらの方法で インストールできると思うのですが、 その方法がのっているサイトなどあると助かります。
行番号・・・・? それ2.0でもbuild違うと変わっちまうんじゃないか?
>>751 php学ぼうという人間がそんなレベルで躓いてちゃ話にならんぞマジで。
激しく凄いのがきたな…
755 :
DNS未登録さん :2010/05/01(土) 01:36:00 ID:C/7qfJZz
あ、ふつーに解決しました。 すいませんでした。
間違えた、上のサイトの通りではなくて 「どのユーザーでもチルダありなしの両方で表示」がやりたくて色々試したのですが AliasMatchを全ユーザー別に書かないと無理ということがわかりました。
Apache-Tomcat連携をしていて グルーウェアーのGsession2が連携をするとTOPだけ表示されそのあとから動かなくなります。 Apache2.2-Tomcat5.5でAJPプロキシー1.3(mod_ajp_proxy?)で連携をしているのですが Tomcat単体のWebサーバーだと通常通り動き Apacheと連携するとTOP画面だけ表示されそのアプリケーションのログイン画面にログインするとサーバーエラーです ってアプリが吐くんです。 Tomcatで使っているポート(開放していないローカルポート)では通常通り普通にログインできるのでよくわからない状態です。 アプリ側からは一応TOP画面は帰ってきてるので問題はApacheではなくGsession側だと思うのですが・・・ ちなみにApacheでは基本認証をしてます。 基本認証はおそらく正しく機能していてログインをしてその後のGsession2のログイン画面までは通常通り動きます 何か値を変更することで解消できる問題なのでしょうか? 解決法がわからず苦戦しています。
>アプリ側からは一応TOP画面は帰ってきてるので問題はApacheではなくGsession側だと思うのですが・・・ はい。そうでしょうね。
Apache/2.2.8(UINX) を、slackware12.2にインストールしているのですが インストール時のconfigure オプションを忘れてしまいました、確認する方法があれば教えて欲しいのですが
configureしたディレクトリにconfig.logとかない? あとはhttpd -V とか・・・
>>752 thx です
configureしたディレクトリは消してしまっていました
httpd -V で確認できました
httpd -V で見えるのは configure のオプションじゃないだろう。 /usr/local/apache2/build/config.nice に書いてあるよ。
そのディレクトリを知るための-Vとか
実行してるphpにroot権限を与えたいんですが、 それって可能なんでしょうか?
mod_phpだよね? apache自体をrootで動かせば可能。
ふつーにやっても root で apache を動かせないけどな。
ま、そこは板違いだわな
はじめまして。以下のサイトを見て、
http://www7.plala.or.jp/keny01/apache/apache2.html CGIでC言語を始めようと思うのですが、Hello Worldでつまずいています。これだけの情報で分かりますか?
error.logです。
Premature end of script headers: hello_world.cgi
hello.cgiです。
E:\>gcc -o hello_world.cgi hello_world.c
E:\Apache Software Foundation\Apache2.2\cgi-bin>hello_world.cgi
Content-type: text/html
<html><body>
hello,world
</body></html>
http.confです。
<Directory />
Options FollowSymLinks ExecCGI
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "E:/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "E:/Apache Software Foundation/Apache2.2/cgi-bin/"
</IfModule>
<Directory "E:/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<IfModule mime_module>
AddHandler cgi-script .cgi
</IfModule>
/etc/sudoers を任意に設定するとか スティッキービット立てたPHP実行用プログラム用意するとか いろいろ方法あると思うよ
apacheを疑う前にIEやOpera、chromeとか他のブラウザで見た場合はどうなのよ 利用不可って?ログは404になってんの?403なの?
分からないならいいです。 お邪魔しました。
776 :
772 :2010/05/16(日) 08:28:05 ID:???
>>773 IE6 IE8 firefox chrome でも同じ症状でした
ログはdebugにしてているのですが/var/log/httpd/error_log にエラーが出ていないのです
自作PC、NEC製PCでも同様です(ともにXP)
自分のLAN環境がおかしいのでしょうか?
今から外のページの確認をして見ます 規制中で次の書き込みは夜になりますが
成否を問わず結果は報告いたします ペコリ
Premature end of script headers はヘッダー全部出す前に ヘッダーのフォーマットでない出力があった時に出るから 普通にヘッダー出す前にエラー吐けばそうなる。 たいていはパーミッションか1行目のインタプリタ指定のミスだろう
778 :
770 :2010/05/16(日) 19:30:33 ID:???
最悪perlからexeが呼び出せればいいのですが、有難うございます。 スクリプトではなくEXEですので、ヘッダー行は付けられませんでした。 OSがWindows 2000ですからパーミッションもそのままです。
779 :
772 :2010/05/16(日) 19:54:37 ID:???
サーバ上から外部のWEBに関してはも問題なく表示されました。
apacheを再インストールし何も設定変更をせず起動させた状態で
クライアントから
http://192.168.1.11/へアクセスしたところ apacheのデフォルトページが表示されその中のapacheのバナーは正常に表示されました。
/var/www/html/配下に各種イメージと表示用htmlを配置してクライアントからアクセスすると
やはり表示が壊れてしまいます。
/var/www/icons/に各種イメージを配置して表示させて見ましたが相変わらず壊れていました。
どのログにもエラーが吐かれていないので今回はあきらめます
スキルが足りないので本買ってきたりキチンと準備して再チャレンジしてみます
スレ汚し 失礼しました ペコリ
780 :
770 :2010/05/16(日) 20:09:22 ID:???
GCC 以外ならOKでした。 実験していただけるよう、ソースはります。echo %errorlevel% = 0 #include<stdio.h> /* printf */ int main() { printf("content-type: text/html\n"); // printf("Content-type: text/html; charset=Shift_JIS\n"); printf("\n"); printf("<html><body>\n"); printf("hello,world\n"); printf("</body></html>\n"); // return 1; return 0; }
781 :
770 :2010/05/16(日) 22:01:51 ID:???
gcc -mno-cygwin option.
動的リンクのライブラリに届かなかったんだろ
Apache 2.2.4
gcc -v
Target: mingw32
Configured with: ../gcc-4.1.2/configure --host=mingw32 --target=mingw32 --prefix
=/mingw --with-gnu-as --with-gnu-ld --enable-threads --disable-nls --enable-lang
uages=c,c++ --enable-threads=win32 --disable-win32-registry --disable-win32-regi
stry --disable-shared
Thread model: win32
gcc version 4.1.2
普通に動いたが。
使ってないから記憶が定かじゃないが、確かgcc 4.4(cygwin)以降から
-mno-cygwinでも何かのDLLが必要になったはずなので、その場合は
>>782 なのかもしれないし
あと向こうのスレでも言われてるが、改行コードがLFになってそうだな。
784 :
770 :2010/05/17(月) 22:26:03 ID:???
My using gcc VERSION is F:\>gcc -v Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs ... Thread model: posix gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) F:\>gcc --version gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
785 :
770 :2010/05/17(月) 23:02:08 ID:???
>>782 GCCスレの方も、有難うございます。
F:\>PATH=. して確認できました。
---------------------------
hello_world.cgi - DLL が見つかりません
---------------------------
ダイナミック リンク ライブラリ cygwin1.dll が指定されたパス
E:\Apache Software Foundation\Apache2.2\cgi-bin;.;
C:\WINNT\system32;C:\WINNT\system;C:\WINNT;. に見つかりませんでした。
パス通せばいけそう
質問させてください
ubuntu 10.04のサーバ版を使って、インストール時のLAMPでApacheを導入
http://localhost/でindex.htmlが表示されるのを確認 各ユーザー用の設定を行うため、a2enmod userdir を実行
/home/ディレクトリにユーザ名とその下にpublic_htmlのディレクトリを新規に作成
テスト用のindex.htmlをpublic_htmlにコピーしてapacheを再起動
http://localhost/~user/index.html にアクセスして表示しようとしても『リンクが無効です』と表示されてしまいます
過去のubuntu&apacheの設定を公開しているサイトなどを回って色々試してみたのですが
一向に変化がないのでこちらに来ました
何が原因か分かりますでしょうか?
>>787 Virtual Host使ってないか?
>>788 /etc/apache2/sites-available/defautの設定が
<VirtualHost *:80> 〜 </VirtualHost>で囲まれてるのが原因でしょうか?
>>787 です
すいません、自己解決しました
>/home/ディレクトリにユーザ名とその下にpublic_htmlのディレクトリを新規に作成
を手動で作成していたのが原因だったようです
調べていたらubuntuのapacheがDebianという表記を見つけたので検索単語を変えて調べていたところ
ユーザーの追加に『adduser ユーザ名』という記述を発見したので試したところ問題なく表示できました…orz
>>788 さん、ありがとうございました&お騒がせしました
さて、VirtualHostの設定に進もう…
Apacheのディレクトリのindex.htmlについて質問なんですが、 ユーザーディレクトリに置くというのはセキュリティ的にまずいでしょうか?
792 :
DNS未登録さん :2010/05/20(木) 19:40:23 ID:tua+Oyes
htmlファイル内のcssなどのリンクを絶対パスで記述しております。 例) /css/font.cssや/js/main.jpなど この絶対パス指定「/」をされた時、「/test1/」を呼び出すという 事をhtaccess内のRewriteRuleの記述で行うというのは可能でしょうか? 「/css/font.css」が呼び出されたら「/test1/css/font.css」にアクセス するというように、絶対パスの階層を変更するようなイメージです。 どなたかご存知の方おりましたらお願い致します。
>>792 やりたいことがよくわからんが、DocumentRoot変えりゃ済む話じゃないの?
>793 ありがとうございます。 そうなんです。DocumentRoot(httpd.cof)を変更すれば良いこと なのですが、.htaccessで処理できないかと思いまして質問させて頂きました。
>>794 念のため言っておくが、「html上で絶対パス指定のものだけ」ってのは無理。
htmlに相対で書いてあろうが絶対で書いてあろうが、ブラウザが出してくるリクエストは絶対パスだから。
796 :
791 :2010/05/21(金) 06:01:41 ID:BKPXKeF9
httpd.confのhtmlディレクトリを置く場所の設定についてなんですが DocumentRoot "/usr/local/www/html"をユーザーディレクトリの真下に置くように 設定したらセキュリティ的にまずいんですかね? sageてはダメみたいなので書き直させてもらいました
>>796 つかお前が何を心配してるのかがサッパリわからん。
「セキュリティ的にマズイ」って具体的に何を懸念してる?
それすらもわからん状態なら動かさないのが一番安全。
798 :
DNS未登録さん :2010/05/21(金) 10:34:34 ID:BKPXKeF9
>>797 今はFTPで接続してSSHでドキュメントルートに移動しているんですが
その時root権限で入らないと駄目なのでFTPだけでhtmlファイルを動かせるように
ならないかなと思って質問しました
セキュリティ〜のところは無視してください
そこだけ読むとUserdir使えばいいんじゃねえのって思うが、 まさかそんな単純な話じゃねえよなぁ…
800 :
DNS未登録さん :2010/05/21(金) 13:17:52 ID:iHF+hnGh
webDAVってありますが、長所はFTPいらずでセキュリティが上がることだと 手元の本に書いてあります。 ききたいんですが、webコンテンツの目的でwebDAV導入してますか? してるとしたら(webの更新の為に)FTPは設定してないんですか? webDAVもFTPも設定してる場合、何が目的でそれぞれのどこを補完目的なんですか?
801 :
DNS未登録さん :2010/05/21(金) 13:39:39 ID:BKPXKeF9
>>801 え、ただそれだけなの?
aliasすりゃいいじゃん
>>801 それならおまえさんが
>>796 で書いたようにDocumentRoot動かせばいいだけの話。
aliasでもいいけど。つか最初から
>>798 を書こうぜ。面倒くさい。
apacheをインストールした際に出来るmanualディレクトリは 削除しても問題ないですか?
805 :
801 :2010/05/21(金) 20:21:22 ID:BKPXKeF9
>>802 ググってみたらシンボリックリンクのことっぽいですね
頑張ってやってみます
>>803 ごめんなさい
見栄をはってしまいました
DocumentRoot動かそうと思いましたが結局userdirを使うことにしました
>>805 NameVirtualHostとか使えば?
aliasについての勘違いはツッコまないほうがいいのだろうか
>>800 何年か前に試験導入してみたけど使い物にならなかったよ
クライアントがXPだったか2000のエクスプローラーだからって訳でもなかった
後は書き込まれるユーザーがapacheを実行しているユーザーになるのも不便だった
それとwebコンテンツにwebDAVはないでしょ
セキュリティーとかの次元を超えてる
>>808 どうもどうも、レスついて嬉しかった
導入しないとくよ
810 :
801 :2010/05/22(土) 23:26:00 ID:???
>>807 頭に引っかかったのでもう一度調べてみました
コマンドを別名で登録して短いコマンドで呼び出せるようにするというものですね
そうなると
>>802 さんのいうaliasすればいいというのはどういう事なんでしょうか?
>>810 おまえさんの言ってるのはlinux(unix)におけるシェルコマンドの話。
apacheのaliasは別のもの。その単語だけじゃなくてapacheって付けてググれ。
812 :
810 :2010/05/26(水) 00:49:57 ID:???
apacheのalias使ってやりたいこと
>>801 はできたのですが
http://hogehoge.com/index.html/と最後にスラッシュがついてしまします この最後のスラッシュを取るためにはどうすればいいんでしょうか?
<IfModule alias_module>
〜省略〜
Alias /index.html "/home/user1/public_html"
〜省略〜
</IfModule>
Alias / "/home/user1/public_html"
これで試してみたのですが403エラーが帰ってくるだけでした
しかもスラッシュは取れていませんでした
DocumentRoot使えよ
Alias / "/home/user1/public_html/" こうな でもDocumentRoot使えよ
815 :
810 :2010/05/26(水) 17:54:24 ID:???
結局DocumentRootの場所を変えました ついでにcgiを実行しようとしたんですがcgiを置くディレクトリを /usr/local/www/cgi-bin/にしているのですがcgiファイルを移動しようとしてみると ディレクトリではないと言われてcgiが移動できない状況です どうすればcgi-binに移動できるようになるんでしょうか?
どんなコマンドでどこからどこへ移動しようとしたんだ?
もはやapacheの質問ですらないなぁ
818 :
810 :2010/05/26(水) 21:19:51 ID:yOOeSnnR
>>815 の件は解決しました
cgi-binがディレクトリではなくファイルになってました・・・
>>817 さんの言うとおりすれ違いっぽいので
これ以上の質問は控えます
丁寧に答えてくださった方々ありがとうございました
apacheってiisみたくポートを分けて複数のwebサーバーを 起動できますか?
できるよ
>>820 マジっすかー
やりかたののってるサイトとかありましたら
教えてつかーさい。
普通に公式のマニュアルでいけると思うぞ バーチャルホスト(VirtualHost)ってやつ。 バーチャルホストには、IPベース、ポートベース、ネームベースと いろいろある。ポートで分けるならポートベースだな。
あと、バーチャルホストを使わなくてもポートがかぶらなければ confをコピーして書き換えて2つ目以降起動しても動作するけど バージョン違いを複数起動するとかの理由が無けりゃ面倒なだけかな。
ありがとです。VirtualHostですか。 ググって着ます。
825 :
DNS未登録さん :2010/05/27(木) 22:30:50 ID:9FnXcMLJ
Apache のログを見てたら
GET
http:// 〜 HTTP/1.1
てなリクエストに対して 200 を返してる記録がありました。
試しにこのサーバをプロクシとしてブラウザから他所にアクセスしてみると、やっぱり 200 を返しています。
でも返ってくるページは自サーバのもののようです。
ProxyRequests は On にはしていません。
このようなリクエストは拒否したいのですが、どの設定を確認すればよいでしょうか?
>>825 サービス中の全てのバーチャルホストを名前ベースのものにし、
デフォルトのバーチャルホストについて全てアクセスを拒否すればいい。
827 :
825 :2010/05/29(土) 20:07:15 ID:???
>>826 つまり GET
http:// 〜 てのは、名前ベースのバーチャルホストへのアクセスと同じ扱いになっているということですか。
デフォルトのバーチャルホストは欲しいこととプロクシ動作をしてるわけではないということで、今のところは放置しておきます。
ありがとうございました。
828 :
DNS未登録さん :2010/06/02(水) 09:54:47 ID:vvQc/st2
Apacheのログで ::1 - - [31/May/2010:00:10:00 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy connection)" と言うのがあり、IPのところが ::1 となっていますがこれはどういうことですか? このログの直前には 正しいIPアドレス - - [31/May/2010:00:10:00 +0900] "GET /store/install.txt HTTP/1.1" 404 792 "-" "Toata dragostea mea pentru diavola" とあり不正アクセスを試みた形跡がありました。 apacheのログでIPアドレスが正しく表示されないことはあるのですか?
それじゃまるで ::1 が正しくない IP アドレスみたいじゃないか。 /etc/hosts を見てみろ。 ちゃんとその ::1 というアドレスに対応するホスト名が書いてある。
>>829 あー ありがとう。
これはどういうことなんでしょうか?
::1 はIPv6におけるループバックアドレスで 0:0:0:0:0:0:0:1 という意味
らしいですが何故ApacheのログのIPが ::1 になるのでしょうか?
あと、このアクセスは何を意味しているのでしょうか? ハッキングを
試されたのでしょうか?
IPv6では0がつながる部分を省略できる IPv6の::1はIPv4でいうところの127.0.0.1だ。つまりlocalhost
>::1 はIPv6におけるループバックアドレスで 0:0:0:0:0:0:0:1 という意味 >らしいですが何故ApacheのログのIPが ::1 になるのでしょうか? ipv6 の基礎の基礎なんで、人に聞くより自分で勉強しなされ。 >あと、このアクセスは何を意味しているのでしょうか? ハッキングを >試されたのでしょうか? MPM prefork の仕様。 MaxRequestPerChild を越えたとか、プロセスを停止とかで子プロセスを kill するときに 自分自身にアクセスする。気にしなくてよい。
>>829 831 832
ありがとうございます。 ipv6の勉強します。
>>「気にしなくてよい」
ありがとうございます。少し安心しました。 一応調べてみます。
でも心配だ。
それ相当のアクセスって2.0でもあったんだけどUserAgentはなかったからみんな気づいてなかった 2.2になってからUAをApache (internal dummy connection)にしたもんだから、みんなが騒ぎ出した。 あと昔はGET /だったんだけど、/が動的ページだったりすると高付加がかかりかねないので、 2.2の途中からOPTIONS * になった
SetEnvIfやBrowserMatchでandは使えないのでしょうか? 以下の2文をまとめたいのです SetEnvIf Remote_Addr ^127.0.0.1$ IP_TYPE=master SetEnvIf User-Agent IE IP_TYPE=master SetEnvIf Remote_Addr ^127.0.0.1$ [AND] User-Agent IE IP_TYPE=master ご教示お願いいたします。
>>835 自分が前調べたときには、AND はだめという結論に至った。
正規表現が怪しいが、
SetEnvIf Remote_Addr "^127.0.0.1$" IP_TYPE=MASTER
SetEnvIf User-Agent "!(IE)" !IP_TYPE
とかじゃダメなのかな?
>>836 ありがとうです。
やはりANDはないんですね・・・自分でも結構調べたのですが、なさそうだとは思いましたが
そちらの方法で実装したいと思います・・
結構面倒だなぁ
SetEnvIf Remote_Addr "Googlebot-Mobile" IP_TYPE=ROBOTS
SetEnvIf User-Agent "!(DoCoMo|KDDI|SoftBank)" !ROBOTS
見づらい・・・
838 :
DNS未登録さん :2010/06/05(土) 12:37:54 ID:vNSW88n9
.htaccess っていうのは、 設定を読み込むのは(クライアントでなく)apache本体ってことでOK? つまり、例えばアクセス制限をかける場合、ファイアウォール的にブロックするものでなくて、そもそもそのディレクトリをapacheが公開しない、というつくりでしょうか。
そうです。 というか通常クライアント側では.htaccessの中身を見ることはできません。
なぜできないかと言うと、confに.htで始まるファイルは読ませない設定になってるから
>>840 そういう理由もあって、BASIC認証のパスワードを入れるファイルが、.htpasswdだったりする。
842 :
DNS未登録さん :2010/06/10(木) 00:04:58 ID:yv2hxldV
RSSリーダーを作っています。 FeedPP.pmとTreePP.pmを使用して、あらかじめコードに記載されたRSSを読み込み表示しようとしたのですが、ひとつ問題があって困っています。 CGIを実行した結果がブラウザが表示されている状態で、RSSの内容を更新し、CGIを再度実行したときについて、 1.まず、Apache経由でCGIを実行しブラウザに表示させても、作成したCGIでの画面が更新されません。 2.次に、コマンドラインからCGIを実行したところ、正しく処理され画面に表示されました。 3.コマンドラインで処理した正しい処理を確認したあとブラウザから操作すると、正しく表示されます。 あまりに奇妙な動きに見えてよくわからないのですが、上記を考えると コマンドから直接実行した場合は正しく処理されますがApache経由で実行すると、 なにかキャッシュのようなものが働くなどして古いデーターが表示されてしまうのではないかと考えられます。 さてこのキャッシュのようなものがあるとしたら、どこで働いていてどのようにとめればいいのかわからず困っています。 一番怪しいのはFeedPPかTreePPだと思ったのですが公式サイトにはキャッシュについての記述はありませんでした。 Apacheの設定の中にモジュールの動きをキャッシュする設定があるのかも知れないと思って探したところ、 mod_mem_cacheというモジュールが読み込まれているのがが見つかったのですが、作動する設定にはなっていませんでした。 なお、TreePP.pmとFeedPP.pmはCGIと同じディレクトリにXMLというディレクトリを作り、その中に入れて使っています。 いったいこのような動きを止めるにはどうすればいいのでしょうか。一緒に考えてください。 お願いします。
板違いだと思う。webprog行けよ。
つかせめてapacheとcgiのレベルくらいは切り分けてから来てくれよ。
845 :
DNS未登録さん :2010/06/10(木) 17:05:01 ID:plG/vJEl
バーチャルドメインの設定をうまくできません。長くなってすみませんが以下ご意見ください。
・メインのドメインはwww.maindomain.jp
・サブのドメインとしてwww.hoge.com
・httpd(apache2 on CentOS5.5)用のサーバのドキュメントパスは
/var/www/htmlを
/var/www/www_maindomain_jp/html と
/var/www/www_hoge_com/html に分けた
・httpd.confの設定は以下
DirectoryIndex index.php index.html index.html.var
DocumentRoot "/var/www"
<VirtualHost *>
ServerName www.maindomain.jp
DocumentRoot /var/www/www_maindomain_jp/html
ServerAdmin
[email protected] #php_value include_path ""
ErrorLog logs/main.jp.error_log
TransferLog logs/main.access_log
</VirtualHost>
<VirtualHost *>
ServerName www.hoge.com
DocumentRoot /var/www/www_hoge_com/html
ServerAdmin
[email protected] #php_value include_path ""
ErrorLog logs/hoge.com.error_log
TransferLog logs/hoge.access_log
</VirtualHost>
この状況で、/var/www/www_hoge_com/htmlに.htaccessをおいて、中に以下を記述しました
(使用しているZendFrameworkの仕様で、トップ以外のパスへのアクセスは/index.phpに転送させたいのです)
RewriteEngine on
RewriteBase /var/www/www_hoge_com/html/
RewriteRule !\.(html|js|ico|gif|jpg|png|css)$ index.php
自分としては、最後に.htaccessの動作で /var/www/www_hoge_com/html/index.phpを読み込んでほしいんですが
/var/www/www_maindomain_jp/html/index.phpを読んでしまっています
(ログで確認済み、ブラウザのURL表示はhoge.comのまま。ルート以外の階層にindex.phpはありません)
自分なりの対処として、httpd.confのDocumentRootを/var/www/www_maindomain_jp/htmlとして
maindomain.jpの<VirtualHost>設定を削除するなどしたんですが、すると今度は
http://www.hoge.com/はページが映るんですが下位階層すべてNot Foundになりました
どうしたらいいのでしょうか?
いろんなサイトや本を見ながら設定したので、知識がこんがらがっています。
自分なりに調べたのでは対処できないので、助けてもらえると本当に助かります。よろしくお願いします。
846 :
845 :2010/06/10(木) 17:09:46 ID:plG/vJEl
すみません、上の文中で「ccess」となってるのは「.htaccess」の間違いです。 あと、もともとドメイン分ける前に /var/www/htmlには hoge.comの内容が入っていました 分割した www_maindomain_jp/以下、www_hoge_com/以下はそのコピーが入っています。 ほんとに長くてすみませんが、よろしくお願いします
NameVirtualHostは?
848 :
845 :2010/06/10(木) 18:28:32 ID:plG/vJEl
>>847 できました!
ありがとうございます、それが抜けていました。
たすかりました〜、ありがとうございました
<Directory /var/www/www_hoge_com/html> AllowOverride なんちゃらかんちゃら その他いろいろ設定 </Directory> つーかそういうのは .htaccess に書かずに httpd.conf に書け。
>>1 Antって
自宅サーバとは直接関係なさそうな気がする
シェルスクリプトがわりに使えないこともないけど
Apache統合といえばAntも含まれるといえばそうなんだけどね
LoadModule書いてないとか言うオチじゃないだろうな?
LoadModuleないとそもそも動かないような 書式あってるかは知らないけど別ファイルに書いてあって動いてるのでそのままにしてるけど、 <IfModule mod_evasive20.c> の直上じゃないと駄目とかあったりします?
IfModuleだからLoadされてなければ無視られるだけ。 つかconfigtestとかエラーログとかで何か出てないのか?
LoadModuleを書いている行の後に<IfModule mod_evasive20.c>がないと駄目ですかね いま出先なので帰ってからconfigtestたたいてみます
>LoadModuleを書いている行の後に<IfModule mod_evasive20.c>がないと駄目ですかね 普通はそう。判定順序良く考えれ。
じゃぁ帰ったら直してみます ありがとうございます
mod_evasive 便利な機能があるんだな。 俺は知らなかった。 俺が今までやっていたこと ↓ perlのプログラムで 定期的にログを読んで、 ある閾値に達すると .htaccessにdenyを追加するようにしている。
好みの問題だろうけどmod_securityとかもあるよ
すみません、自己解決しました
>>861 3分で解決できることを書くな。
自己解決したってだけじゃ情報ゼロで全く役に立たないから、どのように解決したかをかけ。
言いたいことをよく言ってくれた。
とくにID無い板だと騙りが自己解決と書くケースも多いから そういうのはあった方がいいね。 あと同じ現象に悩まされて検索で見つけた時「自己解決しました」 だけだとガックリするわなw
867 :
DNS未登録さん :2010/06/29(火) 16:22:55 ID:crEtccTL
【だれか教えて!】
http://example.com/hoge/fuga.html にアクセスしたときに
/home/hoge/public_html/fuga.html
を取ってきて欲しくて↓こう書いてるんだけど
ServerName example.com
DocumentRoot /var/www/html
AliasMatch ^/hoge(.*) /home/hoge/public_html$2
なぜか、/var/www/html/home/...
を取りにいこうとしてるらしくてエラーになるんだけど原因わかるひといる?
サーバは CentOS 5.5 + Apache 2.2.3 です。
>>867 AliasMatch ^/hoge/(.*) /home/hoge/public_html/$1
なら動いた。
httpd.conf 抜粋(rewrite など読み込まず)
〜〜〜〜〜〜〜〜〜〜
Listen 20080
NameVirtualHost *:20080
<VirtualHost *:20080>
ServerAdmin webmaster
ServerName example.com
DocumentRoot /var/www/html
AliasMatch ^/hoge/(.*) /home/hoge/public_html/$1
</VirtualHost>
〜〜〜〜〜〜〜〜〜〜
テスト内容
echo main >/var/www/html/index.html
2ch:~# echo main >/var/www/html/index.html
2ch:~# echo hoge >/home/hoge/public_html/test/index.html
2ch:~# curl -H 'Host: example.com'
http://localhost:20080/ main
2ch:~# curl -H 'Host: example.com'
http://localhost:20080/hoge/test/ hoge
それAliasMatch使う必要あるのか? Aliasでいいだろ
普通にDocumentRootにhoge掘ってそのファイル置けばいいと思うんだが
教えてください。 環境 OS:WindowsVista XAMPP 1.7.3 XAMPPをインストールした状態で、VirtualHostを追加しようと思いhttpd.confの末尾に以下の記述を追加しました。 ----------------------------------------------------------------------------------------------- NameVirtualHost *:80 # # myNikki.local # <VirtualHost *:80> ServerName myNikki.local DocumentRoot "C:\dev\web\php\myNikki-wordpress-3.0-ja" <Directory "C:\dev\web\php\myNikki-wordpress-3.0-ja"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> ----------------------------------------------------------------------------------------------- ターミナルから以下のコマンドを入力 # httpd -t -D DUMP_VHOSTS VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server myframe.local (C:/xampp/apache/routing/myframe.conf:4) port 80 namevhost myframe.local (C:/xampp/apache/routing/myframe.conf:4) Syntax OK default server は localhost の ままがいいです。 どうすればいいのでしょうか?
あれ直った、上の記載も間違えてた スレ汚してすいません
>>874 カスタムエラーレスポンスで404の先を「php等の言語」で
「あたかも、a.htmlを返すような」処理を組んでやればいけると思う
878 :
874 :2010/06/30(水) 20:54:05 ID:???
>>877 ありがとうございます。
試してみます。
>MaxMemFree ディレクティブは free() が呼ばれない限り、 主アロケータが保持できる >空のメモリの最大値をキロバイト単位で設定します。 >設定されていないか、零に設定されているときは、無制限になります。 この説明じゃ意味わかんないので、誰か分かりやすく説明してください。 たとえば、無制限の場合と2000に設定した場合の違いは?
>>879 そりゃ、「あるだけ使いたい(初回に見積もれない)」のと「使う分が決まってる」という違いであって
「freeしないと解放されない」点は同じって事でしょ。
使う分が決まっていれば、メモリーが枯渇するかどうかが把握でき、無制限のときは枯渇するかも
知れないからちゃんと枯渇したときでも正常に動くよう設計しとけよって事。
881 :
879 :2010/07/20(火) 23:31:19 ID:???
やっぱ、誰も具体的な説明はできないのか・・・・ 自分が知りたいのは妄想ではなくて、 具体的に主アロケータの動きがどうかわるかってこと。 たとえば、「無制限の場合は最大で○MBまで確保することがあり、非常に危険です」とか 「うちのサーバではMaxMemFreeを○○に設定したら、○○が改善してパフォーマンスが向上した」という実話が知りたいんだよ。 そもそも主アロケータっていうのが分からないし。 ググっても、日本語、英語サイトすべて「たぶん私はこうおもう」という妄想ばかりで役に立つ情報が一切無い。 やっぱ、ソース見るしかないね。 ro-子ちゃんが2000に設定してるっていうから たぶん重要なパラメータなんだろうけど。
>>881 昔っからCやマシン語、アセンブラをやってた人には
何言ってるのって内容だからまじめな返事がもらえないんだよ
>この説明じゃ意味わかんないので >誰も具体的な説明はできないのか >自分が知りたいのは妄想ではなくて、 >日本語、英語サイトすべて「たぶん私はこうおもう」という妄想ばかりで 探し疲れたのかなんなのか知ったこっちゃないが、関わるとめんどくさそうなオーラ全開
885 :
DNS未登録さん :2010/07/21(水) 18:41:06 ID:nxuHK6hg
お助けください。 サイトにアクセスできなくなり、エラーログには下記。 panic: pthread_key_create failed apacheを再起動するもスタートせず失敗。 apacheの残プロセスをkillして再スタートで復旧。 どなたか経験ありませんか?
>>885 復旧したなら問題ないんでは?
エラー内容については、そのまんまエラーメッセージの通りです。
>>どなたか経験ありませんか?
Apache2は不安定になると、親だけ生き残ろうとします
素直に死んでくれたほうがよほど楽ですが、そういう仕様なので
手動で殺すかスクリプトで監視してゾンビのなりそこないをkillする必要があります。
887 :
DNS未登録さん :2010/07/24(土) 16:16:12 ID:bQJhXeW8
.htaccessに <Files ~ "\.(dat|log)$"> Deny from all </Files> と書いてフォルダ内部にconf.datというのを置いてます。 これで外部から読むことは出来ないと思いますが(一応確認してます)、あまりセキュリティ的に良くないといわれました。 内部に読み取ったりするスクリプトを置かれるというような事は論外ですが、この方法にはどういった問題があるのでしょうか? またもっとこうしたほうがいいというようなものがあれば教えていただけないでしょうか。
Apacheで公開するフォルダではない場所にconf.datを置けば、そんな小細工はしなくていいだろう、ということ
889 :
DNS未登録さん :2010/07/24(土) 17:18:06 ID:bQJhXeW8
なるほど。 手間としては大した違いはないですがそういうことですね。 セキュリティ的には非公開の場所に置くのとdenyで全てシャットアウトするのは同じと考えていいものなのでしょうか?
そのconf.datをURLに指定した場合、Forbiddenがブラウザに返る。 つまりユーザーはconf.datの存在を確信することができる。 これが問題と考えるかどうかだな。 それ以外では特に違いはないかと思う。
891 :
DNS未登録さん :2010/07/24(土) 17:36:35 ID:bQJhXeW8
そういえばforbiddenが返りますね。 ありがとうございます。失念してました。 公開フォルダ以外の場所に置ければそれに越したことはなさそうですね。 しかし公開フォルダ以外を触ることが出来ないサーバーとかだと他に方法が見つからない。 推測不可能なファイル名にするくらいしかないのかな。
あとは、将来、何かの弾みで設定を変えるなどしたときに、ファイルが見えてしまう場合がある。 ディレクトリ構成的に見えない場所にしておけば、このようなリスクがなくなる。
> 推測不可能なファイル名に 保険としてはありじゃない? 勿論それで安心しきってはいけないが だいぶ前だが自分の場合、掲示板設置してたときに ログとかの保存フォルダ名は変えていた
894 :
DNS未登録さん :2010/07/27(火) 00:25:45 ID:YRmsxeYw
BASIC認証に複数のユーザーというのは設定出来るのでしょうか?
出来るよ .htpasswdに2行以上定義すればOK
毎回 htpasswd で -cオプション付けてるんじゃなかろうな 最初の一回だけでいいぞ、-cオプションは
897 :
DNS未登録さん :2010/07/29(木) 13:03:24 ID:/UCBbG+E
質問です CentOS5.5でApache2.2.3を利用しているのですが、Apache Server Statusを見たところプロセス数の最大が10になっています。 KKWKKKKKKK と言った具合です。 これでは足りないので増やしたいのですが、どこを設定するればいいのでしょうか httpd.confでは以下のように設定しています <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 12 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 8000 </IfModule>
MaxClientsだけど、ほんとにpreforkなのか
Server MPM:Preforkとなっているので、Perforkだと思います。 考えられる原因としては、マシンが昔使っていたPCでメモリが256MBしかないのですが、これは関係ありますかね。 # /usr/sbin/httpd -V Server version: Apache/2.2.3 Server built: Apr 4 2010 17:19:54 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf
どこを見て10と判断したの? あと、ServerLimitはMaxClients以上になってる?
901 :
DNS未登録さん :2010/07/29(木) 14:43:57 ID:/UCBbG+E
>>900 Apache Server StatusとMuninのApache accessesです。
ServerLimit 256 MaxClients 256でServerLimit=MaxClientsですがこれは問題ないんですよね?
902 :
DNS未登録さん :2010/07/29(木) 14:44:39 ID:/UCBbG+E
Apache accessesじゃなくてApache processesです
コンフィグ書き換えて再起動どうしてる? たぶん、restartじゃダメで、stop - start 必要な気が
904 :
DNS未登録さん :2010/07/29(木) 15:28:55 ID:/UCBbG+E
>>903 試してみましたが、だめでした。
あと、前にOSのRebootもやってみましたが、それもだめでした。
へんだなー <IfModule mpm_prefork_module> もあったりしてない? Include conf/extra/httpd-mpm.conf とか
906 :
DNS未登録さん :2010/07/29(木) 16:02:57 ID:m6KI6VAo
HostnameLookups Off の状態で、ap.yournet.ne.jpのアクセスを全てはじきたいのですが、どうすればいいのでしょうか?
無理じゃね? それoffにしたままその指定できるけど、 それがあった時点でonにしたのと変わらなくなる
908 :
906 :2010/07/29(木) 16:19:28 ID:m6KI6VAo
>>907 ですよね。
host名表記があったら、HostnameLookupsがOffになっていてもOnの動作になるのは確認しました。
IPで拒否していくのを思いついたのですが、IP帯域が公開されていないし、絶望的な気分です。
Onじゃまずいの? DNSキャッシュサーバ置くとか
910 :
906 :2010/07/29(木) 16:56:39 ID:m6KI6VAo
>>909 今までOnで運用してきていたので、問題ないといえば問題ないのですが、Offにしたらどれくらいパフォーマンスが上がるのかと思って試してみたくなった次第です。
BINDで立ててみることも検討してみます。
ありがとうございました。
PerlのCGIで終了しないままCPUリソースを食っているプロセスがあります。 一定時間を超えたら終了させるようにすることは出来ませんか? Timeoutかと思ったんですがデフォの300になってて5分以上動いています・・・ httpd-2.2.16、FreeBSD7.0です。
>>911 そのCGIをperlスクリプトを経由して動かすようにして、
そのperlスクリプトではfork()したプロセスをalarmでkillするとか。
>>911 #!/usr/bin/perl
my $pid = fork;
if ($pid) {
# parent
$SIG{ALRM} = sub { kill TERM, $pid; };
alarm 60;
waitpid $pid, 0
} else {
# child
exec "hogehoge", "parm"
}
alarm 60 (60秒)は適宜書き換え、
exec以下は実際のコマンドに書き換えること。
長時間動き続けるCGIを規制したい、という話だと思ってた・・・
>>912-913 ありがとうございます。
とりあえず
>>913 で試してみたいと思います。
>>914 あれ?そういう話と思って書いたのですがなんか話ずれてます?
解凍に対する私の理解不足かもしれませんが・・・
>>908 ap.example.ne.jp のIPアドレスの範囲を知りたいなら、
nslookup ap.example.ne.jp
whois 192.168.0.1
ってので調べれそうだけど、だめ?
>>911 RLimitCPU は?
どーでもいいがyournetは \.ap.(((yournet|seikyou).ne|gmo-access).jp|(zero-isp|zero-fix).(net|NET))|fbb.(aol.co.jp|ReSET.JP) で変動らしい IPアドレス域を集めたいなら、批判要望板の規制解除要望スレに腐るほどホスト名が出てるから そのホスト名を元にwhoisすればある程度は集まるかと # vectantのは以前集めてたけどyournetは持ってないー
>>911 RlimitCPU 60
でいいのでは
919 :
911 :2010/07/30(金) 10:24:49 ID:???
そのものずばりの回答でした。 Suexec+VirutalHostしてたのでhttpd-default.confに書いたら×で <VirtualHost>欄に追加してあげたらバッチリ動作するようになりました。 大変助かりました。ありがとうございます。
RLimitCPU で規制できるのは CPU の占有時間であって プロセスが起動してからの時間じゃないよ。 CGI 自体が全力で CPU をぶんまわしてるのに時間がかかるようなものには有効だけど、 DB サーバに SQL を投げた結果を待ってて遅くなってるようなものには無力。
そっちはDBサーバのtimeoutで対応しろってことか。
Ubuntuにapache2とPHP5を入れPHPの勉強をしようとしたんだけど設定がわからん。 ぐぐったらhttpd.confとやらを編集というのが出てくるんだけど 俺の環境ではそのファイルサイズが0なんだけど・・・ わけわからん、どうなってんの??
Ubuntuならapache2とphpをaptなりでインストールすればもう使える状態のはずだけど
Linux練習するならRedHat系にしとけ。CentOSとかのデスクトップ用途をあまり重視してないやつ。 Ubuntu鯖とかネット上にあまり情報なかったりするぞ。
ubuntuなら apache2.confに基本設定でhttpd.confは最初は空 あとは設定ファイルが色々ばらけて置いてあるからapache2.confの中のIncludeを見れ のハズ
926 :
DNS未登録さん :2010/08/03(火) 10:55:13 ID:61Jylkpf
すみませんが質問させてください ApacheをcentOSにyumからではなく、最新版をダウンロードしてインストールしました そこで、/usr/local/apache2/bin/apachectl startとうつのがめんどくさくて/etc/rc.d/init.d/httpdを /etc/rc.d/init.d/apacheというファイル名でコピーし、それを編集してchkconfigで自動起動しようと考えました しかし、その中で pidfile=${PIDFILE-/var/run/httpd.pid}とlockfile=${LOCKFILE-/var/lock/subsys/httpd}という2行が分かりませんでした 自分は上の方で、#pidfile: /usr/local/apache2/logs/httpd.pidと設定したのですが、「-/var/run/httpd.pid」とは何を意味しているのでしょうか? また、LOCKFILEというものがよくわからず、また見付かりません Apacheを/usr/local/apache2に展開している場合、どこに存在するのでしょうか?
/usr/local/apache2/bin/apachectl をそのままコピーすればいいじゃない
まあ元の流儀に沿ってやりたいなら、httpd.confでPidFileを設定して 自分で追加してやればいい
というか自動起動させるなら 打つのがメンドクサイも何も一度だけじゃないか…?
あー悪い、最新版を…の件をちゃんと読んでなかった それで旧来のと同じようにrc.d配下に入れるファイルを作りたいって話だったのね、ごめんよ
ちなみにその質問のLockFileはディレクティブで指定するLockFileのことじゃないと思うよ その起動スクリプト内で自分でtouchしたりrmで消したりしてない?
hoge=${fuga-piyo} $fuga が未定義なら hoge=piyo、そうでないなら hoge=$fuga
そこからかよw
>>935 virtualhost追加しない方向でたのんます
mod_vhost_aliasで、リスタートなしでVirtualHost増やせるけど、 これも無し?あとはmod_rewriteかな
apacheのmod_evasiveで共有メモリ使うように改造するのって何とかなりませんか 頑張ってソース見たもののサッパリです 理由は規制がプロセスごとだと意味が無くて…mod_dosdetectorみたいにサーバー単位にしたいです もしもスレ違いだったら妥当だと思われるスレへ指南してください お願いします
apacheでCGIを置く場合の設定で質問(apache2+Debian Lenny) /usr/lib/cgi-bin/に目的のcgiプログラムが置いてあって、かつ他のプログラムもある時に 目的のcgiプログラムのみ実行させたい(他のプログラムにはアクセスさせたくない)場合は 下のような設定で問題ないですか? /home/hoge/wwwroot/cgi-bin/に目的のプログラムのシンボリックリンクを貼る。 apacheの設定で ScriptAlias /cgi-bin/ /home/hoge/wwwroot/cgi-bin/ <Directory "/home/hoge/wwwroot/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> やり方が間違ってるとか、普通はこういうやり方をするとかあれば教えてください。
941 :
940 :2010/08/13(金) 00:57:58 ID:???
すいません。追加で説明というか回答もらいにくい質問だったかもしれないので
少し変えます。
>>940 のようなやり方でやるか
以下のようなやり方でシンボリックリンクを張らずにやるか。どちらがいいのでしょうか。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
942 :
940 :2010/08/13(金) 15:25:22 ID:???
質問とかするなら別のスレ行ったほうがいいのかな。Linux版とかのがいい?
そういうのは各サイトの事情によって異なるから一般的な正解というのはない。 要するに、人に聞かずに自分で考えろ。
メリットデメリットを考えて自分が最適だと思うやり方でやればいい スタンダードが最適とは限らない
コピーしちゃうなあ
946 :
DNS未登録さん :2010/08/30(月) 06:04:46 ID:qlMN+aYx
基本的なapache2.2の機能を1から勉強したいのですが日本語でわかりやすいお勧めのサイトとかありますか?
948 :
DNS未登録さん :2010/09/12(日) 08:43:51 ID:0/fXx3px
htaccessでアクセス遮断してます。 order deny,allow deny from all トップページ以外は、デフォルトの403エラーページが表示されるけど、 トップだけはApatchの「Apache Test Page」が表示されます。 トップにも403が表示されるようにするには、 どの設定を変更すればいいでしょうか?
あああん。自己解決した…。
951 :
DNS未登録さん :2010/09/15(水) 19:59:04 ID:V06FJSKe
質問させてください。
MySQL板に一度質問したのですが、Apacheの問題のような気がしてこちらへ移動してきました。
mMeasure(1.0.7)をインストールし、ブラウザに表示させようとしたところ文字化けして全く読めませんでした。
該当index.php(/usr/local/mmeasure/web/)をnkf -g コマンドで調べてみた所EUC-JPで書かれているようでした。
で、このサイト(
http://blog.livedoor.jp/kuma_note/archives/51486050.html )等を参照に、httpd.confにAddDefaultCharset EUC-JPを追記しても、又はコメントアウトしたり他のエンコードを入れたりしても解決しませんでした。
勿論FirefoxやOperaのブラウザ上で文字コードを色々と変えてみたのですがやはり解決しませんでした。
ずっとこれで悩んでいて、色々と試したのですが解決しません。
どのようにすればこの文字化けは解決するのでしょうか?
自分の環境はcentOS5.5、JCode.pm;2.07、RRDTool:rrdtool-1.4.4、MySQL5.0.77です。
Opera、firefoxは最新版です。
なおhttpd.confには上記のサイトと同じように
Alias /mmeasure/ "/usr/local/mmeasure/web/"
<Directory "/usr/local/mmeasure/web/">
Order allow,deny
Allow from all
・・・
AddDefaultCharset EUC-JP
</Directory>
等と記述し、該当の場所にディレクトリは存在しますし、
http://localhost/mmeasure/でトップページへ行けるのでエイリアス等は通っていると思います 。
PHPとMySQL、centOS等は全てUTF-8で設定しております。
EUC-JPで書かれたファイルを、文字化けなく読み込むにはどのようにすればいいのでしょうか?
ssl使った自分専用の鯖立てたぜ ヤッホーイ!
このスレってなんか質問用になってるな・・・ぉぃ
質問禁止ってわけでもないし もっと適したスレがあると思うなら誘導したれば?
Basic認証について質問です。 基本的にhtdocs以下はBasic認証を必要とし 例外的にBasic認証を必要としないよう記述するにはどうすれば良いのでしょうか? <Directory "C:/Program Files/Apache Software Foundation/Apache2.2"> AuthType Basic AuthName "Secret Zone" AuthUserFile "C:\Program Files\Apache Software Foundation\Apache2.2\.htpasswd" Require user1 user2 </Directory> 上記の設定がhttpd.confにあり、C:/Program Files/Apache Software Foundation/Apache2.2/test ディレクトリだけはBasic認証せずにアクセスさせたいです。 試しにこの設定の下に下記の設定を書いてみましたがダメでした。 <Directory />でもAllowOverrideはallになっています。 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/test"> AllowOverride all Options Indexes FollowSymLinks Order allow,deny Allow from all </Directory>
Satisfy any ?
Options Indexesは意図的につけてるの?
>>958 全部のディレクトリにつけてます。
一応Basic認証があるから問題ないかなと。
でも今回のディレクトリに配置するファイルはイメージを3つほど配置するだけなので
どっちでも良かったり。
961 :
DNS未登録さん :2010/09/20(月) 11:13:07 ID:K/FDBPSh
質問。 オープンソースのソフトウェアで、アプリケーションそのもの+Apache+DB(MySQLとか)が全部揃ったオールインワンのインストーラ(って言うの?)ってあるじゃないですか。 2種類のソフトウェアをオールインワンインストーラでインストールしたんだけど、当然ApacheもMySQLも二つインストールされてしまって、 両方同時に動いてしまっているからか、片方がなんかうまく動かない。 環境構築とかあまりやったことないのでよく分かっていないんだけど、オールインワンで落としたApache,MySQLどちらかをを、 どちらか片方のソフトウェアに従属する形ではなくて、共通に使えるものとするにはどうすればいいんでしょうか?? というか、根本的な質問なんですが、Apache一つでいくつかのアプリケーションを動かすこと自体は可能なんですよね?
>>961 両方同時に起動できないのは、ポート番号がかぶってるから。
基本的には、Apache一つでいくつもアプリケーションが動かせる。DB名が重複しなければ問題ない。
そんなことはいいからオールインワンのやつを同時に動かせる方法を教えろっていうなら、どちらからのポート番号を変えてやればよい。
それくらいならググって設定方法を見つけられるだろう。一応いっておくと、変更箇所は、Apacheのポート番号、DBのポート番号、アプリが使ってるDBのポート番号の設定、の3カ所。
まー、メモリもそれなりに食うので、同じマシンでEclipseを使っていたりするなら厳しいかも。
963 :
DNS未登録さん :2010/09/20(月) 11:46:38 ID:K/FDBPSh
>>962 ありがとうございます!
ポート関係なんだとは思ってググって変更をしたつもりだったんですが、Apache、DB、アプリ全部のポートを変えなきゃいけないんですね・・・Apache(tomcat)の8080を変更しただけでした。。。
全部となると、かなりの数になりそうですね。ちょっとググってやってみます。
>>963 内部の作りを考えて、どこを変更すればよいか整理しよう。
制御の流れは、
ブラウザ→Apache(アプリ)→DB
ってかんじになる。
だから、それぞれの接続部分を同じように変えてやらないと相手が見えなくなる。
965 :
DNS未登録さん :2010/09/25(土) 15:55:37 ID:8+IPfjbe
>>965 まず落ち着いてtomcatの起動スクリプトを見て欲しい
>>967 何がしたいのかわからないから適当に答えるけど、それは正常だ
969 :
DNS未登録さん :2010/09/26(日) 21:24:24 ID:ar/IdLZA
>>966 ありがとうございます。
無事発見出来ました。
970 :
DNS未登録さん :2010/09/26(日) 23:26:13 ID:QrVzBIQV
>>967 そもそもローカルから見たらポートがどうとか関係無いだろ
ローカルからならFWだよな つーか、「It works!」くらい訳せよ・・・・
Apacheの設定マジできつい わけわからんことばっか 本気でセキュリティやるためにはと我慢してるけど通信の知識とか要求されて疲れる
そりゃあ通信のことなんだから通信の知識を要求されるのは仕方がないだろw
>>972 そんなにキツいか?
つかデフォルトからどう設定しようとしてるのかにもよるが。
きついってほとんどhttpd.confいじるだけじゃ・・・
BINDと比べるとApacheの設定なんて簡単すぎる
どっちもこだわらなければそう難しいものでもないでしょ 日本語の情報もあるし
ここってapache windowsはOK? windowsXPpro 32bit使ってるんだけど、ファイル転送が遅い・・ UNIX系使えばなんとかなるってレス見るけど、winだと高速化は諦めるしかない?
回線の問題では?
ubuntuだと10M出る。でも使ってる外付けHDDがNTFSだからwin使いたい・・・ winだと2Mしか出ない。 回線は光プ OCNでPPPoE接続
どんなスペックでどの程度の速度なのかを書かんことには答えようがない
IBM G41だから・・・ CPU:Pen4 532(HT 3.06GHz) MEM:2GB(1GB+1GB) HDD:80GB(ATA100) + USBで2T NTFS(WD20EARS(WD Align済)) VGA:オンボード(といってもRDPで使ってるので関係ないような…) LAN:オンボの100BASE-TX OS:WindXPpro 32bit 「5年も前のPCじゃねーかボケ。ML110でも買ってこいや」ってのは無しでお願いします…
それにubuntu入れれば10Mbps出るって事? つかお前のMの単位はbpsなのかByteなのかハッキリ汁。
ドライバがタコってるだけじゃねーの?
ドライバ最新にしたけど10MB/sですね・・・ 100BASE-TXだからだいたい80Mbps出てる時点で満足すべきなのか?
2MB/sから10MB/sになったんだろ? というか満足も何も理論値ほぼギリギリなのにそれ以上出るわけないじゃないか。
989 :
DNS未登録さん :2010/10/04(月) 11:22:18 ID:fuvJQOYa
すみません、バケットって何ですか? バケットやバケットグループで検索してみてもよくわかりませんでした
パンのことだよ ベーカリーに行って聞いてみな
linuxとwinの違いといえばMTUとRWINの問題しか思いつかない
頑張っておまいさんにとっての最適な値を探ってみてくれ(
>>980 )
992 :
DNS未登録さん :
2010/10/05(火) 08:45:02 ID:5EbZdTBd