¿Flujos de trabajo recomendados para los hosts virtuales de Apache?

8

Hago mucho trabajo de desarrollo web local en mi máquina Ubuntu, y constantemente estoy configurando hosts virtuales en Apache. No necesito administrar el servidor de núcleo duro, pero me estoy cansando del proceso repetitivo de agregar manualmente directivas de configuración a los archivos en / etc / apache2 / sites-available / y luego actualizar el archivo / etc / hosts.

¿Hay alguna forma más eficiente o más automatizada de hacer todo esto que me falta? ¿Tal vez algo como el rapache pero eso realmente funciona?

Craig Zheng
fuente

Respuestas:

8

Cuando tuve que hacer esas cosas, procedí a crear un VirtualHost con un nombre comodín:

  1. Elija un nombre de dominio elegante como 'example.com' para localhost
  2. Colóquelo en el /etc/hostsarchivo como127.0.0.1 *.example.com
  3. Instalar y activar mod_rewrite
  4. cree un comodín VirtualHost en el directorio de sitios apache:

    <VirtualHost 127.0.0.1:80>
      DocumentRoot /default/path
      ServerName example.com
      ServerAlias *.example.com
      RewriteEngine On
      UseCanonicalName Off
    
      RewriteCond %{HTTP_HOST} ^(.*).example.com
      RewriteCond /srv/%1/ -d
      RewriteRule ^(.+)   %{SERVER_NAME}$1 [C]
      RewriteRule ^([^.]+)\.example\.com/(.*) /srv/$1/$2 [L]
    </VirtualHost>
    
  5. Ahora puede colocar cualquier carpeta debajo /srv/y será la raíz de<foldername>.example.com

Esto se toma prestado de la memoria, podría necesitar algunos ajustes menores y puede entrar en conflicto con cualquier otra regla de reescritura que tendría cada aplicación web. Pero me queda bien para mis necesidades de prueba de aplicaciones web.

teísta
fuente
Eso es muy inteligente, lo intentaré. Gracias.
craig zheng
Gran respuesta. Excepto que el comodín no funcionó para mí, tuve que usar dnsmasq para que funcione.
elias
3

¿ funcionaría webmin ? No es solo para apache, sino más bien una interfaz web para la administración del sistema. Tiene una interfaz de llenado de formularios para el host virtual apache.

sagarchalise
fuente
1
Miré en webmin pero pensé que podría ser exagerado, ¿sabes?
craig zheng
Lo uso en mi servidor de desarrollo, hace que las cosas sean un poco más fáciles, aunque todavía uso SSH de vez en cuando
Eman
0

¿Por qué no hacer un sitio web que haga / actualice los archivos por usted? si está trabajando con php y esto es local, solo use la función exec () para ejecutar comandos de terminal para escribir / crear / actualizar los datos que desee según las entradas del cuadro de texto. Desearía saber cómo hacer aplicaciones en ubuntu que estén basadas en gui. haría la vida realmente fácil.

Sarmen B.
fuente