2011-01-17 7 views
4

私はApacheが正しく動作していますが、仮想ホストは正常に動作します。 私のオペレーティングシステムはWindows 7です。サーバを再起動せずにApacheに新しい仮想ホストを追加しますか?

しかし、私は答えを見つけようとしていますが、Googleはそれほど多くを得ていません - とにかくWindowsの場合はLinuxのみですこの場合は実際には適用されません)。

サーバを再起動せずに新しい仮想ホストを追加するにはどうすればよいですか?

<VirtualHost *:80> 
ServerName host1.tld 
ServerAlias www.host1.tld 
DocumentRoot /www/vhosts/host1.tld 
ErrorLog /www/Apache22/logs/error.log 

<Directory "/www/vhosts/host1.tld"> 
    Options All 
    AllowOverride All 
    order allow,deny 
    allow from all 
</Directory> 

<VirtualHost *:80> 
ServerName mywebsite.com 
ServerAlias www.mywebsite.com 
DocumentRoot /www/vhosts/mywebsite.com 
ErrorLog /www/Apache22/logs/error.log 

<Directory "/www/vhosts/mywebsite.com"> 
    Options All 
    AllowOverride All 
    order allow,deny 
    allow from all 
</Directory> 

私はそうのように、バーチャルホストに新しいホストファイルにホストとファイルを追加(Apacheのバージョン2.2は、私は、現在実行しているものです)

似たような解決策をとっている人は誰ですか?その場合、あなたのアドバイスは何ですか?

+0

を使用して、単一のブロックでのバーチャルホストを設定することができるかもしれWebサーバーを再起動していますか? –

+0

多くのサイトをホストしている大規模なシステムでは、変更する必要があるため他のサイトで停止することは許されません。 –

答えて

0

サーバーを再起動せずにApacheを再起動できます。私は私のMac上でapacheを再起動するappleスクリプトを持っているので、1回クリックすると1秒で新しいapache設定を読み込むことができます。ここでは簡単にはPython(Windowsの使用のために)に移植することができますリンゴのスクリプトは次のとおりです。

set stopString to do shell script "sudo /usr/local/apache2/bin/apachectl stop" with administrator privileges and password 
set startString to do shell script "sudo /usr/local/apache2/bin/apachectl start" with administrator privileges and password 

if startString as string = "" then 
    "Apache started correctly" 
else 
    stopString & " , " & startString 
end if 
+2

「サーバーの再起動」とは、実際には「ウェブサーバーの再起動」(つまりApache)を意味していました。 –

+0

私の解決策、httpd -k restartが見つかりました。他のみんなに感謝! – whitstone86

3

あなたはすべての問題は何VirtualDocumentRoot

<VirtualHost *:80> 
UseCanonicalName Off 
VirtualDocumentRoot /www/vhosts/%0 
ErrorLog /www/Apache22/logs/error.log 

<Directory "/www/vhosts"> 
    Options All 
    AllowOverride All 
    order allow,deny 
    allow from all 
</Directory> 
関連する問題