Apacheの設定でドキュメントルート関連の問題解決方法

このQ&Aのポイント
  • Apacheを使用したサイト構築で、複数のドキュメントを異なるフォルダに格納する方法についての質問です。
  • 質問者は、2つのフォルダに格納されたドキュメントをそれぞれ異なるURLで参照したいと考えています。
  • 質問者の考えでは、ドキュメントルートを適切に設定すれば(1)は可能だと認識されていますが、(2)はドキュメントルートの上位フォルダになるため参照できないと思われています。
回答を見る
  • ベストアンサー

Apacheの設定(ドキュメントルート関連)

Apacheを使用したサイト構築で以下のことが可能か、可能であれば方法、参考となるサイト等お教え願います。 ■やりたい事 公開したいドキュメントが次のように2つのフォルダに格納されています。 (1)/var/www/html/hoge1 (2)/var/www/html/hoge2 ブラウザから、それぞれ次のように参照することは可能でしょうか。 (1)http://ホスト名/ (2)http://ホスト名/hoge2/ ■私の考え ドキュメントルートを「/var/www/html/hoge1」にすれば(1)は可能だと認識していますが、(2)はhoge2がドキュメントルートの上位フォルダになるので、「http://ホスト名/hoge2/」のような参照は出来ないと思っています。 しかし、何らかの設定で可能であればその方法をお教え願います。 よろしくお願い致します。

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

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

可能です。 ディレクトリがどこにあっても構いません。 Alias /hoge2 "/ver/www/html/hoge2" <Directory "/ver/www/html/hoge2"> ・・・ </Directory> でディレクトリの属性の設定も忘れないように。

pot_kou
質問者

お礼

回答ありがとうございます。 おかげさまで希望通りの動きになりました。

関連するQ&A

  • MediaWikiの設置ディレクトリと、ドキュメントルートの設定

    MediaWikiの設置ディレクトリと、ドキュメントルートの設定について教えてください。 ■現状 ・MediaWikiを「/var/www/html/wiki」配下に設置。 ・「http://ホスト名/wiki/」で使用中。 ・ドキュメントルートは「「/var/www/html/」 ■やりたい事 ・MediaWikiは現状のまま「/var/www/html/wiki」配下に設置。 ・「http://ホスト名/」でMediaWikiを利用したい。 ■試した事 ・ドキュメントルートを「/var/www/html/wiki」に変更。 ・ドキュメントルート配下に確認用のindex.htmlを設置。 ・「http://ホスト名/」で確認用のindex.htmlが参照可能。 ・index.htmlを削除。 ・「http://ホスト名/」でアクセスすると、Not foundで404エラーになります。 この時、ブラウザのアドレス内容が「http://ホスト名/wiki/index.php/<省略>」となっています。 ・LocalSettings.phpの$wgScriptPath が "/wiki"となっているため、"/" にしましたがスタイルシートの反映されない画面が表示され、正常に動作しません。 ■主な環境 Ubuntu Apache2 初歩的な設定だと思いますが、ご教示願います。

  • Apacheのドキュメントルートについて

    これまでwindows版のApacheを使ってきて、htmlファイルを配置するのはhtdocsでした。 今回Linux上でApacheを使うことになったのですが、本を読んで見ると、/var/www/~がドキュメントルート となっています。 しかし、windows版と同じくhtdocsはあります。 Linuxの場合、htdocsなのか、/var/www/~のどちらにhtmlファイルやPHPファイルを配置したらいいですか?

  • FTPでapacheドキュメントルートへ転送できない?

    RHL7.0で、apacheをインストールしました。 そのドキュメントルート(デフォルトの/var/www/html配下)にwindowsPCからFTPであるユーザでログインし、アップロードを試みたのですが、できません。 下記の事もしてみました。 (1)apacheドキュメントルートのファイル所有者をあるグループに全て変更  chgrp -R グループ名 /var/www (2)ドキュメントルートのディレクトリ/var/wwwのパーミッション変更  chmod 2775 /var/www(これでwwwはdwxdwsr-xとなった) (3)ドキュメントルートへFTPログインでアップロードするユーザを、(1)のグループへ加える。 このユーザ名でFTPログインできますが、/var/www/html/index.htmlを変更しようとすると fxfer、アクセス件がありません、と出ます。 (2)の事は本に書いてあった事をそのまま実行したのですが、-Rオプションも付けるべきなのでしょうか? chmod 2775 /var/www/htmlとすべきなのでしょうか? 細かく考えすぎなのでしょうか? すみませんが宜しくお願いします。

  • Apache2+perlのドキュメントルート設定

    既存のデータを動かすために、ubuntuに (1)apache2インストール (2)perlインストール しました。 既存のcgiファイル等を apache2のインストールで作成された  /var/www/html に入れても動かなかったため、設定ファイルである  apache2.conf の中を、 (1)+ExecCGIを追記(下記) <Directory /var/www/html> Options +ExecCGI </Directory> +ExecCGI (2)末尾に  AddHandler cgi-script .cgi .pl を追記しましたが、まったく動きません。 上記の設定はまちがってますでしょうか? ほかになにを設定すればいいでしょうか? 知人に聞いたところ、あとドキュメントルートの設定ができればいいと言われましたが、設定ファイルのどこをいじっていいかわかりません。 ドキュメントルートの設定方法がわかりません。 教えてください。

    • ベストアンサー
    • CGI
  • Apacheのドキュメントルート

    現在、PCにApacheをインストールしておりWeb公開しております。 Apacheのドキュメントルートを c:\xampp\htdocs\public_html に設定しておりFTPソフトにてこのpublic_htmlにファイルをアップロードしようとすると エラーになり 「c:\xampp\htdocs\public_html に対する許可されていない操作です。」 というエラーメッセージが出ます。 ちなみにpublic_html配下にサブフォルダを作成するとそこにはFTPソフトでアップロードできる 状態です。 Apacheのドキュメントルートってファイルの書き込みはできないのでしょうか。

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

    Apacheでvirtualhostの設定をしているのですがうまくいきません。 ホスト:ドキュメントルート v1.hoge.com:/var/www/v1/ v2.hoge.com:/var/www/v2/ v3.hoge.com:/var/www/v3/ です。 設定は <VirtualHost *:80> Servername v1.hoge.com:80 DocumentRoot "/var/www/v1" <Directory "/var/www/v1/"> Options Includes FollowSymLinks ExecCGI </Directory> </VirtualHost> <VirtualHost *:80> Servername v2.hoge.com:80 DocumentRoot "/var/www/v2" <Directory "/var/www/v2/"> Options Includes ExecCGI </Directory> </VirtualHost> <VirtualHost *:80> Servername v3.hoge.com:80 DocumentRoot "/var/www/v3" <Directory "/var/www/v3/"> Options Includes FollowSymLinks </Directory> </VirtualHost> で、三つともv*の部分とOptionsがちがうだけになっています。 http://v1.hoge.com/では普通にアクセスできるのですが、http://v2.hoge.com/とhttp://v3.hoge.com/でアクセスしようとするとなぜか/var/www/v1/foo/index.cgiが表示されます。ただしURLは変わらすhttp://v2.hoge.comのままです。ただしhttp://v2.hoge.com/index.htmlと入力するときちんと表示されます。DirectoryIndexでindex.htmlを指定しても無駄でした。 /v1には/v1/index.htmlと/v1/foo/index.cgi、/v2には/v2/index.html、/v3には/v3/index.htmlだけが入っています。 /etc/hostsとか/etc/hosts.confとか/etc/nsswitch,confなども試しました。DNSは登録してからすでに一か月ほど経過していますのでとっくに浸透していると思いますが、v1を設定した時期とv2,v3を設定した時期は半年ぐらい空いてます。 同様の構成を別のサーバーでも試しましたが、症状は同じでした。まあ両方自分で同じように建てたので同じように間違っているだけかもしれませんが。。。 気持ち悪いのは次の四点です。 1.ドキュメントルートが別のホストになる 2.別のホストのドキュメントルートどころかその下にあるCGIが実行される 3.DirectoryIndexが効かない 4.アクセスがやけに遅い(v1とかは普通の速度) エラーログには何もなし、アクセスログにはhttp://v2.hoge.comにアクセスした記録しかないです。 httpd.confではNameVirtualHost *:80と記述し、DocumentRootはコメントアウトしています。 CentOS 6.5 Apache 2.2.15 です これくらいの情報で十分でしょうか?足りなければお叱りください。 よろしくお願いします。

  • 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になって何か変更があったのでしょうか? どなたかご教授お願いします。

  • ドキュメントルートについて

    すいません、サーバーを借りた際のドキュメントルートについてなんですが、ドキュメントルートとは同一ドメインサーバ内の公開エリアでの最上位階層のこと。ということらしいんですが、このドキュメントルートがサーバによってpublic_htmlやhtdocsの場合があるんですが、これは、 ドキュメントルート=public_html=htdocs と考えて良いんでしょうか?   また、ROOT_PATHというのは各サイトの最上位階層のディレクトリ(各サイトのindex.htmlが入っている)のことで良いんですよね? 宜しくお願いします。

  • apacheのVirtualHostの記述について

    サブドメイン *.hoge.com へアクセスされた際、 ドキュメントルート /var/www/subDomains/*/ を参照させたいので、httpd.confを以下のように設定しました。 <VirtualHost *> ServerAlias *.hoge.com VirtualDocumentRoot "/var/www/subDomains/%1/" ・・・  </VirtualHost> これはうまく動作するのですが、上記サブドメイン設定とは別に メインドメイン(hoge.com または www.hoge.com)へアクセスされた場合のみ ドキュメントルート /var/www/main/ を参照させたいのです。 なので、上記記述とは別に、 <VirtualHost *> DocumentRoot "/var/www/main/" ServerName www.hoge.com ・・・  </VirtualHost> を追加したのですが、このメインドメイン用記述は無視されてしまいます。 ※メインドメインへアクセスしても、サブドメイン用のVirtualDocumentRoot である /var/www/subDomains/www/ を参照してしまいます。 こうなってしまう原因は、サブドメイン用の記述である ServerAlias *.hoge.com の指定で、「www.hoge.com」が対象となっているからだと思いますが、 正規表現で「www.hoge.com」を除外する方法や、 その他解決策がありましたらご教授よろしくお願いします。 apacheのバージョンは2.2.15です。 ※ちなみに、正規表現による除外は「ServerAlias (?!www)*.hoge.com」を試してみましたがダメでした。 書き方が悪いのかもしれません。。

  • Apacheのドキュメントルート配下のファイル、ディレクトリの所有者は

    Apacheのドキュメントルート配下のファイル、ディレクトリの所有者は、rootのままだと危険でしょうか? /var/www/html/以下を公開しています。所有者をとりあえず、apacheに変えましたが、通常所有者はどうすべきですか? パーミッションの関係でrootのままが便利な気がしますが。