Pregunta

Tengo Apache funciona correctamente, los hosts virtuales funcionan como se esperaba. Mi sistema operativo es Windows 7.

Sin embargo, tengo un problema, lo que estoy tratando de encontrar la respuesta a, y Google no dió mucho - para Windows de todos modos, sólo para Linux (que en realidad no es aplicable en este caso) <. / p>

¿Cómo se añaden nuevos VirtualHosts sin necesidad de reiniciar el servidor constantemente?

(Apache versión 2.2 es lo que estoy actualmente en ejecución)

añado nuevos huéspedes en el archivo de host y los archivos de host virtuales, así:

<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>

¿Alguien ha estado en una solución similar, y si es así, ¿cuál es tu consejo?

¿Fue útil?

Solución

Se puede reiniciar apache sin necesidad de reiniciar el servidor. Tengo un script de manzana en mi mac que se reinicia Apache para mí, para que con un solo clic y una quater de un segundo la nueva configuración de Apache se puede cargar. Aquí está el AppleScript que puede ser fácilmente portado a Python (para su uso en 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

Otros consejos

Es posible que pueda configurar todos los host virtuales con un solo bloque, usando 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top