2012-04-22 9 views
4

http://httpd.apache.org/download.cgiからapache2.2.22 srcをダウンロードしてインストールしました。インストールは正常に動作します。しかし、問題は、仮想ホストを追加しようとすると発生します。 2つの仮想ホストを追加しました 1. localhost 2. someother.localhost 両方とも異なるドキュメントルートを指しますが、最初の仮想ホストのドキュメントルートに解決されます。私は、hostsファイルに適切なエントリを作成した80Apache vhostがローカルホストのドキュメントルートに解決する

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    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 [email protected] 
    DocumentRoot "/home/sourabhn/somepath" 
    ServerName someother.localhost 
    ErrorLog "logs/someother-localhost-error_log" 
    CustomLog "logs/someother-localhost-access_log" common 
</VirtualHost> 

はNameVirtualHost *が

、私のバーチャルホストファイルをhereis。私はUbuntu 11.10マシンを実行しています。あなたの貴重な提案

答えて

2

すぐに私はあなたのファイルと、bobpeersのこのようなネットチュートリアルから一緒に手錠をかけたファイルの違いに気づいた。仮想ホストブロック内にブロック<Directory>を追加しました。私はDrupalの上で働いているとちょうどので、私はDrupalのディレクトリに解決された名前を取得することができます

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のインストールでは、それぞれ独自のドメイン名を持つ複数のプロジェクトが1つのDrupalインストールに設定されています。以下は、hello.localという名前のDrupalサイトの例です。私のDrupalサイトのもう1つは、cheese.localです。どちらも同じディレクトリを指しています。

コメントされた行ServerAliasの作業保存。これは、vHostsの設定について学んだ別のポイントをもたらします。/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つのこと。 manページがこれを示して、私のlocalhostのサンドボックスのために働く何

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

は、ベース名がこの192.168.1をそのすべてを整理することになって、とされていないので、正しいと思われるこの、

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 

です。 x IPナンセンスマスク。 (^_^)

0

私のアドバイスを取り戻すしてください: はその後、あなたのバーチャルホストhttp://httpd.apache.org/docs/2.0/mod/core.html#serveraliasにのみコアディレクティブにServerAliasを使用し、「グローバル」のServerNameとグローバルのDocumentRootを宣言します。

+0

返信いただきありがとうございます。 –

関連する問題