Apacheのドキュメントルート変更で127.0.0.1にアクセスできない

このQ&Aのポイント
  • Apacheのドキュメントルートを変更した後、127.0.0.1にアクセスしてもApacheのデフォルトのhtmlに飛んでしまいます。
  • Apacheをアンインストールして再インストールしても、httpd.confの設定は以前のままであり、ディレクトリ変更ができません。
  • 原因がわからず、検索しても解決策が見つからず困っています。レジストリの変更やhttpd.confの書き間違えかもしれません。
回答を見る
  • ベストアンサー

apacheでドキュメントルート変更

httpd.confを編集して # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/www/jisaba" とドキュメントルートの変更を行ったのですが、 127.0.0.1とアドレス入力してもApacheのデフォルトのhtmlに飛んでしまうのです。 apacheをアンインストールして再インストールしてもapacheのhttpd.confの 設定は DocumentRoot "C:/www/jisaba" と以前の設定が残っています。 google検索などをしたのですが、 「OSを再インストールするのが一番早い」 みたいな事をかいてあります。 apacheってレジストリの変更までしてしまうのでしょうか? それとも、httpd.confの書き間違え? 原因がわかりません。前はディレクトリ変更は成功していたのですが…

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

>google検索などをしたのですが、  こんなとき、それはありえないです。ネット上に散財している資料から正しい情報を得ようとするのは、藁の山から針を探し出すより難しい・・。なぜ、マニュアルを読まないのですか? >「OSを再インストールするのが一番早い」  それでうまく行くはずがないです。そもそも、たくさんのVERTUAKEHOSTを運用していて、一部のドキュメントルートを変えるたびにOSの再インストール、apacheの再インストールなんてことはありえないのが想像できると思います。  httpd.confの書き換えとapacheの再起動ですむはずです。 私はインストール時に DocumentRoot "G:/usr/local/apache/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "G:/usr/local/apache/htdocs"> となっていますが、これはそのまま放置しています。 まず、確認すること 1) WindowsのHOSTSファイルの内容 2) <Directory /www/jisaba> など新しいディレクトリの設定 3) <VIRTUALHOST 127.0.0.1>  のDocumentRootの指定 >apacheをアンインストールして再インストールしても・・・【中略】・・・と以前の設定が残っています。  インストール時にhttpd.confがあれば、その設定は流用します。  そうでないと、膨大なVIRTUAL HOSTの設定やそれぞれの設定を含めてすべて書き直さなければならない  たぶん原因は、 1) hostsファイルの参照先の順番 2) localhostの対象ディレクトリの設定 ほまず疑うこと。  テストサーバーは、基本的にひとつでは不便なはずです。現行のサイトのローカル版、改訂サーバーのローカル版、他のローカルサイト・・・など  デフォルトのものは、そのままおいておいて、<VERTUALHOST>で指定していくほうが楽です。 apache ( http://www.amazon.co.jp/s/ref=nb_sb_noss_1?url=search-alias%3Dstripbooks&field-keywords=apache )

RIOT1970
質問者

お礼

補足させてください。 apacheの最新版をインストールしたら、 localhostとプラウザに入力したら、 DocumentRoot "C:/www/jisaba" 中のhtmlファイルが表示されました。 これは、一体どういう事なのでしょう? httpd.confファイルは何もいじってません。

RIOT1970
質問者

補足

以前書き込んでくださった方ですよね、 いつもありがとうございます。 本は読んでるんですが、いまひとつ 技術者でない私には難しくて…でも読んでますよ。 この手の他の専門書て高いからあまり手を 出せないのです…安くてわかりやすかったら 購入も検討するのですが…(AMAZONの中古などで) せめて、httpd.confの初期化が出来れば助かるのですが…

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

>せめて、httpd.confの初期化が出来れば助かるのですが… これは、apacheのインストール先にあるconf/を削除してからインストールするとよいかと。 http.confを編集するまえに、originalを残しておきましょう。  original/にありませんか??

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>127.0.0.1とアドレス入力してもApacheのデフォルトのhtmlに飛んでしまうのです。 実はエラーページだった…とかいうことはないですか? ログを確認してみてはどうでしょうか?

関連するQ&A

  • apacheでドキュメントルート変更できない

    windows7 32bitをつかっています。 htttpd.confファイルを何度も書き直したせいで デフォルトのhttpd.confがわからなくなりました。 apacheを再インストールしても、httpd.confの中身は デフォルトに戻らず、originalのhttpd.confファイルも いじってしまったせいで、デフォルトが無い状態です。 http://marillon.web.fc2.com/ にソースを載せておきました。 C:/www/jisab内のhtmlファイルを読み込んでくれません。 何が原因なのでしょうか? これでわからなかったら、OS再インストールしか道はないと 思っています。 分かる方、いらっしゃたらご指摘の程をお願い致します。 当方、初心者ゆえ、分かりやすく説明してくれたら、 大変たすかります。

  • Apache2.2のドキュメントルート変更ができない

    こんにちは。 apache1.3を今まで利用していたのですが、今回2.2を利用するにあたり、ドキュメントルートの変更が出来なくて困っています。 通常、ドキュメントルートは/var/www/htmlになっているのですが、今回(/home/test)に変更したいと思いDocumentRoot "/home/test"としました。ドキュメントルートを変更したので、以下の<Directory>も<Directory "/home/test">と変更したのですが、うまくいきません。 エラーがPermission denied: access to /index.html deniedと出ていますが、user,groupもtestに変更しております。 1.3の時はうまくいったのですが、2.2になって何か変更があったのでしょうか? どなたかご教授お願いします。

  • Apacheのバーチャルホストの設定について

    OS:Scientific Linux6.2 Apache/2.2.15 Apacheのバーチャルホストの設定について現在勉強しております。 参考にしたサイト:http://scientificsrv.com/apache-virtualhost.shtml 私が今悩んでいるのが、DocumentRootになります。 2つのサイトを以下のディレクトリーに入れています。 ドメイン ディレクトリ aaa.com /home/aaa/html bbb.com /home/bbb/html ここで、参考にしたサイトを元にしますと /etc/httpd/conf.d/virtualhost-aaa.conf ← メインホスト用バーチャルホスト設定ファイル作成 <VirtualHost *:80> ServerName aaa.com DocumentRoot /home/aaa/html </VirtualHost> /etc/httpd/conf.d/virtualhost-bbb.conf ← 追加ホスト用バーチャルホスト設定ファイル作成 <VirtualHost *:80> ServerName bbb.com DocumentRoot /home/bbb/html ErrorLog logs/virtual-error_log CustomLog logs/virtual-access_log combined env=!no_log </VirtualHost> と言うようになります。 ここで、DocumentRootはそれぞれ設定していることになります。 そうするとApacheの設定ファイルのDocumentRootはどのように設定したらいいのでしょうか? デフォルトでは以下のようになっています。 /etc/httpd/conf/httpd.conf  # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/var/www/html" # # This should be changed to whatever you set DocumentRoot to. # <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> このファイルの設定方法が分かりません。デフォルトのままでは、/var/www/htmlを使用することになっています。バーチャルホストの方で設定しているのでここの設定はしなくていいのでしょうか? また、 # This should be changed to whatever you set DocumentRoot to. # <Directory "/var/www/html"> では、htaccessやCGIの許可の設定などを行いますが、バーチャルホストの場合どこで設定すればいいのでしょうか? 勉強不足なのは重々承知していますが、何卒よろしくお願い致します。

  • アパッチでAccessForbiddenがでてしまう。

    今日アパッチのhttpd.confを変更して DocumentRootを変えて見たのですが・・・ Forbiddenのメッセージが・・・ ディレクトリにはちゃんとデータはいってるのですが 分かるかたぜひ教えてください。

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • APACHEで参照するhttpd.confの場所を変更する方法がわかり

    APACHEで参照するhttpd.confの場所を変更する方法がわかりません。 とある理由で以下のような変更をしたいのですが良くわからず行き詰ってしまいました。 /etc/http/httpd.conf⇒/usr/local/apache/httpd.conf としたいのですが、どこでhttpd.confのディレクトリを設定しているかわからず困っています。 参照するhttpd.confの場所を変更する方法を教えてください。

  • RedHat LINUX7.2のapacheについて

    上記のLinuxにデフォルトでapacheを入れる設定にしてインストールしたのですが、 インストール後、404や403などのエラーコードのHTMLを書き換える為、 /etc/httpd/conf/httpd.conf に # Error documents ErrorDocument 404 ERROR/404.html ErrorDocument 403 ERROR/403.html のように書き換え、/var/www/html/ のapacheの最初のindex.htmlが入っていた ディレクトリにERRORディレクトリを作り、中に403.html等を入れているのですが、 403のエラーメッセージが、最初のまま変わりません。 ErrorDocument 403 "403 error とした場合には、ちゃんとただのテスストで「403 error」と応答が返るように変える事ができたのですが、 htmlの表示と指定方法になると何故か難しくて、わかりません。apacheの公式ページの通りに書いたと思うのですが。何故でしょうか。

  • windowsのapacheのhttpd.conf

    windowsのapacheのhttpd.confの書き方についての質問です。 通常windows(私は7です)にapacheをインストールすると httpd.confには DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と書かれていますが、前述の質問の回答で LINUXがOSの場合、スラッシュ→「?」は有効だが windowsがOSの場合バックスラッシュ→「\」に置き換えなければならない、 と私は解釈したのですが、 では、デフォルトの DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" でApacheが正常に稼働しているようなのですが、 これって/を使ってますよね? これって、windowsがOSの場合の\のルールに反しているのに、 localhostと入力すると、it worksのhtmlが参照されるのは何故なんでしょうか? そして これを"C:\www"とCドライブの直下に置くことが出来るみたいなんですが、 ドキュメントルートの変更で\を使っても私の環境下では DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と同じで、この中のhtmlは読んでしまうのは何故なんでしょうか? 長文、駄文、失礼いたしました。 何分超初心者の身なので、詳しい方は「?何いってやがんだ…質問の趣旨がわからん」 と思われるかもしれませんが、拙い表現になってしまうのはお許しください。

  • Linux環境で、WEBサーバーのドキュメントルートを取得するには

    こんにちは、 サーバーソフトウェアのインストールを作っているのですが、WEBサーバーのドキュメントルートを取得するには、/etc/httpd/conf/httpd.confを直接読み込んで DOCUMENTROOTの行を探すのが良いのでしょうか? それとも、もっとスマートな方法が可能なのでしょうか? ご存知の方、いらっしゃいましたら、ご指導頂ければ幸いです。どうぞよろしくお願いいたします。

  • Apache2.0とActivePerl5.8でCGIが動作しない

    ご教授願います。  掲題の通り、Win2000ProにApache2.0.48、ActibePerl5.8.1.807をインストールしローカル上にてApacheの動作確認は出来ました。  色々なサイトを調べ、現在のhttpd.confは下記のような設定となっています。 【httpd.confの主な変更点】  1:DocumentRootは別ドライブのフォルダ(C:ではない)に変更(httpd.confのファイル、229行目あたり)  2:同様に<Directory>も1と同じフォルダ(httpd.confのファイル、255行目あたり)  3:Options Indexes FollowSymLinks MultiViews ExecCGI Includesと変更(httpd.confのファイル、269行目あたり)  4:ActivePerlのインストール先は「C:/usr/local/」です。  5:test.cgiの格納場所は1で指定したフォルダと同じです。 【症状】  ブラウザのアドレスに「http://localhost」を入力するとApacheの動作確認画面が出ますが、「http://localhost/test.cgi」を入力すると『Forbidden You don't have permission to access/test.cgi on this server」と表示されます。 知識不足で申し訳ございませんが、よろしくお願いいたします。

専門家に質問してみよう