Fluxos de trabalho recomendados para hosts virtuais do Apache?

8

Eu faço muito trabalho de desenvolvimento web local na minha máquina Ubuntu, e estou constantemente configurando hosts virtuais no Apache. Eu não preciso fazer o gerenciamento do servidor núcleo duro, mas estou cansado do processo repetitivo de adicionar manualmente as diretivas de configuração aos arquivos em / etc / apache2 / sites-available / e atualizar o arquivo / etc / hosts.

Existe uma maneira mais eficiente ou mais automatizada de fazer tudo isso que está faltando? Talvez algo como rapache mas isso está realmente funcionando?

    
por craig zheng 21.02.2011 / 05:44

3 respostas

8

Quando eu tive que fazer coisas, continuei criando um VirtualHost com um nome curinga:

  1. Escolha um nome de domínio sofisticado como 'example.com' para localhost
  2. Coloque-o no arquivo /etc/hosts como 127.0.0.1 *.example.com
  3. Instale e ative o mod_rewrite
  4. crie um VirtualHost curinga no diretório de sites 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} [C]
      RewriteRule ^([^.]+)\.example\.com/(.*) /srv// [L]
    </VirtualHost>
    
  5. Agora você pode colocar qualquer pasta em /srv/ e ela será a raiz de <foldername>.example.com

Isso é emprestado da memória, pode precisar de alguns ajustes menores e pode entrar em conflito com qualquer outra regra de reescrita que cada webapp teria. Mas cabe a mim para minhas necessidades de teste de webapp.

    
por theist 21.02.2011 / 14:48
3

o webmin funciona? Não é apenas para o apache, mas sim uma interface web para administração do sistema. Ele tem uma interface de preenchimento de formulário para o host virtual do apache.

    
por sagarchalise 21.02.2011 / 06:39
0

por que não criar um site que faça / atualize os arquivos para você? Se você estiver trabalhando com php e este for local, use apenas a função exec () para executar comandos do terminal para gravar / criar / atualizar dados que você deseja com base nas entradas da caixa de texto. Eu gostaria de saber como fazer aplicações no Ubuntu que são baseadas em gui. tornaria a vida realmente fácil.

    
por Sarmen B. 18.10.2012 / 02:52