2

さまざまなチュートリアル [1] を読んだ後でも、VirtualHost の設定を希望どおりに機能させることができません。403 Forbiddenユーザーディレクトリの下のディレクトリを として VirtualHost を使用しようとすると、エラーが発生しますDocumentRoot

これまでに行ったこと

  • /etc/apache2/sites-available/workspace次の内容のファイルを作成しました:

    NameVirtualHost *:80
    <VirtualHost *:80>
        ServerName project-site
        DocumentRoot /home/user/Workspace/project/site
    </VirtualHost>
    
  • 編集されたファイル/etc/hostsの結果:

    127.0.0.1   localhost
    127.0.1.1   my-machine
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    
    # VirtualHosts added by me
    127.0.0.1   project-site
    
  • を使用して有効化された仮想ホストsudo a2ensite workspace

  • を使用してApacheを再起動しましたsudo services apache2 restart
  • http://project-siteウェブブラウザでとhttp://project-site/test.html(test.htmlが存在する場所/home/user/Workspace/project/site/) を開こうとしました

何が起こるのですか

  • Apache を再起動すると、コマンド ラインに次のメッセージが表示されます。

    * Restarting web server apache2
    apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    [Sun May 13 10:33:37 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
    [ OK ]
    
  • 開くかhttp://project-sitehttp://project-site/test.html「403 Forbidden」が表示されます。

何が起こるべきか

/home/user/Workspace/project/siteをブラウズしたときに提供されるコンテンツが欲しいのですがhttp://project-site

これまでに学んだこと

このサイトで同様の質問を読んだことから、これはおそらく許可の問題であることがわかりました [2]。のファイルは で/home/user/Workspace/project/site読み取れない可能性がありますwww-data。しかし、どうすればこれを知り、修正できますか?

さらに.htaccess、ファイルは[3]にあることが言及されました

/home/.htaccess
/home/user/.htacces
[...]
/home/user/path/to/project/.htaccess

そして読めない可能性があります。私はそれらを作成したことがありません。それらは必要ありません。必要になりますか?

別の質問 [4] に対する 2 番目の回答NameVirtualHostにより、Apache の再起動時の警告に責任を負うようになりました。必要な場合、適切に使用するにはどうすればよいですか?

どんな助けでも大歓迎です!問題を特定するために他に何か知っておく必要がある場合は教えてください。


リソース

  1. http://www.thegeekstuff.com/2011/07/apache-virtual-host/, http://httpd.apache.org/docs/2.2/vhosts/name-based.html, http://mintarticles.com/read/software-articles/multiple-virtual-hosts-in-xampplampp-in-ubuntu,977/, http://www.pgorecki.pl/content/virtual-host-na-localho%C5%9Bcie-apache-ubuntu, ...
  2. Apache VirtualHost 403 禁止
  3. Ubuntu、Apache、仮想ホスト、アクセス禁止
  4. VirtualHost 構成
4

1 に答える 1

1

私は次の解決策を見つけましたが、私を満足させるものではありませんでしたが、私の主な問題を解決しました。実際、[1] で提案されているようなパーミッションに関するものです。ディレクトリ/home/userに Web サーバーからアクセスできませんでした。私が使用した最小限の許可を付与するために

chmod 701 /home/user

アクセスできるようにします。さらに、[2] で推奨されているように、仮想ホストの webroot のグループ所有権を再帰的に与えましwww-dataたが、これが必要かどうかはわかりません。

sudo chown -R user:www-data /home/user/Workspace/project/site
sudo chmod -R g+s /home/user/Workspace/project/site

別の質問で、よりエレガントなソリューションを求めます。

言及された他の問題に関して、他のリソースに加えて [3] の助けを借りて、次のことがわかりました。

  • これは必須ではなくNameVirtualHost *:80、Apache の他の構成ファイルのいずれかに表示されると、仮想ホストの説明にエラーが発生する可能性があります。
  • 完全修飾ドメイン名が 1 つであることを apache に知らせるために、 contentlocalhostを含むファイルを作成します。/etc/apache2/conf.d/fqdnServerName localhost

  1. https://stackoverflow.com/a/7576526/948404
  2. https://stackoverflow.com/a/9133067/948404
  3. https://help.ubuntu.com/community/ApacheMySQLPHP
于 2012-05-17T17:54:06.467 に答える