Apache 虚拟主机的推荐工作流程?

cra*_*eng 8 virtualhost apache2 webserver

我在我的 Ubuntu 机器上做了很多本地 Web 开发工作,我不断在 Apache 中设置虚拟主机。我不需要进行硬核服务器管理,但我厌倦了手动将配置指令添加到 /etc/apache2/sites-available/ 中的文件然后更新 /etc/hosts 文件的重复过程。

有没有更有效或更自动化的方法来完成我所缺少的所有这些?也许像rapache这样的东西,但这实际上有效吗?

the*_*ist 8

当我不得不做这些事情时,我继续创建一个带有通配符名称的 VirtualHost:

  1. 为本地主机选择一个花哨的域名,如“example.com”
  2. 将它放在/etc/hosts文件中127.0.0.1 *.example.com
  3. 安装并激活 mod_rewrite
  4. 在 apache 站点目录中创建一个通配符 VirtualHost:

    <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>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 现在您可以将任何文件夹放在下面/srv/,它将成为<foldername>.example.com

这是从记忆中借用的,它可能需要一些更小的调整,并且可能与每个 web 应用程序具有的任何其他重写规则相冲突。但它适合我的 webapp 测试需求。