- ベストアンサー
httpd.confの場所とphp.iniの設定
- httpd.confの場所やphp.iniの設定方法についてご質問です。
- apacheが/usr/sbin/httpdで動作している場合、正確にhttpd.confを見つける方法や、php.iniの設定ファイルを導く方法を教えてください。
- また、php.iniを編集後に設定が正しく反映されているかを確認する方法も教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
OSは何でしょうか? rpmコマンドが書かれているので、Red Hat Enterprise Linuxまたはそれ系だとは思いますが… (こういう質問の場合、どこのディストリビューション使ってるのか書かなきゃ…) そもそも、rpmで動いているのかソースビルドで動いているのか、把握できていない時点でサーバ運用失格ではありますが、前任者が突然いなくなることもあるので、お気持ちは察します… > どのconfをいじるべきかわからないためです。 それはもう、ソースビルドしてれば、ビルドの仕方にもよるでしょうし、rpmで入れてたってわざと/etc/httpd/confから移動して使っている人もいるでしょうから、決まりきったものはないでしょうね。 まず調査方法としては、 # chkconfig --list で、httpdがあり、更にランレベルに応じてonになっているのを確認するべき。 onになっていれば、/etc/init.dの中にあるhttpdという起動スクリプトでOS起動時にApacheも起動するようになっているはずなので、その起動スクリプトの中身から追いかければいいんじゃないですかね。 または、 # service httpd status でも同様です。
その他の回答 (2)
- oktuburero
- ベストアンサー率22% (102/446)
>OSは何でしょうか? >rpmコマンドが書かれているので、Red Hat Enterprise Linuxまたはそれ系だとは思いますが… >(こういう質問の場合、どこのディストリビューション使ってるのか書かなきゃ…) これを無視するのは何故でしょうか? 重要なことですよ。重要なことを無視するのは社会人として失格です。 あっ教えて君に対して調べるように促す書き込みだけの俺も社会人失格だっけ。
- saijyo_739
- ベストアンサー率53% (119/222)
何か勘違いされている気もしますので。 例えば、 ps | grep httpd ではapacheを一つ動かしてもhttpdは複数動いてますよ。 httpdには2種類あって、apacheの起動で最初に動くhttpdとそのhttpdが起動するhttpdがあります。 ※動作的には、root権限のhttpdがクライアントからの接続は全て受け付ける。接続されればroot権限で動いているhttpdは他のhttpdへ処理をさせる。(rootのhttpdは実際の処理はせず、クライアントからの接続要求の処理のみ行なう。会社に例えると受付ですね。受付けで適切な部署へ案内する。応対は各部署で行なう。) psで確認すれば root権限で動いているhttpd一つにapache用ユーザ権限で動いているhttpdが複数ある場合が多いです。 ※全部root権限(httpd用にユーザ作ってない)な場合もありますし、全部ユーザ権限の場合もあります。その場合でもpid(プロセスID)とppid(親プロセスID)を見ればhttpdの起動している状況がはっきりわかります。 pid/ppidの関係も意識して確認し何組かのhttpdが動いている場合には、それぞれのapacheを動かしている複数の設定ファイルがあるはずなのでそれを探します。 ※ rootで動かすのはhttpの標準ポートが80(特権ポート)だから。root権限持たない利用者がウェブサーバ動かす場合には非特権ポートを使って動かす事もあります。その場合良く使われるのが8080から連続するポート。特権ポートは1024番未満(1023以下)の番号のポート。 > ps auxww で表示したapacheが、/usr/sbin/httpd となっていた場合、 > ここで動いているapacheのhttpd.confを正確に導く方法は、どのようになりますでしょうか。 親プロセスのhttpdで下記ページの方法で見つけれる事もあります。 ※まず、親プロセス(apacheを起動する事で動き始めたプロセス)を見つけないとはじまりません。 http://d.hatena.ne.jp/yohei-a/20100622/1277226779 同様、システムコールトレーサを使って調べる事もできます。 でも、システム起動スクリプトを確認して何を動かしているのか確認しましょう。 ※管理者が管理できてないウェブサーバ動いてるってかなり怖い事ではないかな。場合によっては、このコンピュータにある情報は何でも外部公開してます状態にもなりますよ。攻撃的な事で他人に動かされているウェブサーバがあるかも。 > php.iniを編集した後、正しくphp.iniが設定されているか(文法間違いがないか) > どうかを確認するには、どうしたらよいでしょうか。 phpinfoで意図した通り変わっているか、意図してる状態に設定されるか確認すれば良い気がします。 apacheもconfigtestでエラーなくても必ずしも動くとは限りませんし。 statusやfullstatusも確認しておいた方が良い気もします。
お礼
ありがとうございます。 oracleの事例、勉強になりました。 php.ini編集後の確認は、phpinfoで確認ですね。
補足
ご回答ありがとうございました!! chkconfig --list から、追うことできました。 ですが、chkconfigに登録していない場合あるので、 その場合も考慮すると、どんな方法がいいか といった点は、疑問に残りますが、それは別としようと思います。