4

http://httpd.apache.org/download.cgiから apache2.2.22 src をダウンロードしてインストールしました。インストールは正常に機能します。しかし、仮想ホストを追加しようとすると問題が発生します。2 つの仮想ホストを追加しました 1. localhost 2. someother.localhost どちらも異なるドキュメント ルートを指していますが、最初の仮想ホストのドキュメント ルートに解決されます。

これが私のvhostファイルです。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/webserver/htdocs"
    ServerName localhost
    ErrorLog "logs/localhost-error_log"
    CustomLog "logs/localhost-access_log" common
</VirtualHost>
<Directory /home/sourabhn/somepath>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/home/sourabhn/somepath"
    ServerName someother.localhost
    ErrorLog "logs/someother-localhost-error_log"
    CustomLog "logs/someother-localhost-access_log" common
</VirtualHost>

hostsファイルに適切なエントリを作成しました。Ubuntu 11.10 マシンを実行しています。貴重なご意見をお聞かせください

4

2 に答える 2

2

すぐに、あなたのファイルと、 bobpeersのこのようなネットチュートリアルからまとめたファイルとの違いに気づきました。仮想ホストブロック内にブロックを追加しました<Directory>

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/
ServerName xtiansimonslaptop.local
    <Directory "/var/www/">
        Allow from all
        Options +Includes +Indexes +FollowSymLinks
        AllowOverride all
    </Directory>
</VirtualHost>

私はDrupalに取り組んでおり、名前をDrupalディレクトリに解決できるようにするために、残りはDrupalが処理します。Drupalインストールでは、1つのDrupalインストールでそれぞれ独自のドメイン名が設定された複数のプロジェクトがあります。以下はhello.localという名前のDrupalサイトの例であり、私のDrupalサイトのもう1つはcheese.localである可能性があります。両方とも同じディレクトリを指しています。

<VirtualHost *:80>
    DocumentRoot /var/www/php/drupal7
    ServerName hello.local
#   ServerAlias *.hello.local
        <Directory "/var/www/php/drupal7">
            Allow from all
            Options +Includes +Indexes +FollowSymLinks
            AllowOverride all
        </Directory>
</VirtualHost>

現在、コメント行ServerAliasを除いて機能しています。これは、vHostの設定について私が学んだ別のポイントをもたらします。/ etc / hostsファイルは、正しく設定するために重要です。

bobpeersによる例では、ホストエントリの例が表示されます。

ServerName bobpeers.live
ServerName bobpeers.dev

逆の名前live.bobpeers.localはサーバー名のより明確な例であると思います。そして、これが問題です。例には一貫性がないことがわかりました。.local一部の例では、一般的な署名のような、またはそれに続く重要な用語を使用していませんsub-domain.domaon.com。1人の非通常の例をコピーすると、上記のServerNameが2つの仮想ホストlive.localとdev.localを参照していると思われるかもしれません。私が知っているすべてのために、多分彼らはそうします!

vHostsについてもう1つ。マニュアルページはこれを示しています、

   127.0.0.1       localhost
   192.168.1.10    foo.mydomain.org       foo
   192.168.1.13    bar.mydomain.org       bar

私のローカルホストサンドボックスで機能するのはこれです、

   127.0.0.1    localhost
   127.0.0.1    mydomain.local           mydomain
   127.0.0.1    foo.mydomain.local       foo
   127.0.0.1    bar.mydomain.local       bar

名前ベースはすべてを整理することになっているので、これは正しいようです。この192.168.1.xIPマスクは意味がありません。(^ _ ^)

于 2012-06-30T15:57:32.173 に答える
0

私のアドバイス: 「グローバル」 ServerName とグローバル DocumentRoot を宣言し、vhost http://httpd.apache.org/docs/2.0/mod/core.html#serveraliasでコア ディレクティブ ServerAlias のみを使用します。

于 2012-04-22T16:35:57.630 に答える