如何在Apache和Ubuntu中设置本地域名,例如website.sam?

我想以下列方式映射我的目录/子域:

/ home / sam / sites / *到http://*.sam

我不希望每次调整一个新站点时都要在我的hosts文件中添加一行。

在配置和安装apache时,我是初学者,实现这一目标的最佳方法是什么?

事实certificate,让这项工作涉及很多步骤。 这是我解决它的方式:

  1. 编辑/etc/resolve.conf,通过注释掉任何现有行并添加nameserver 127.0.0.1 ,将nameserver 127.0.0.1解析设置为本地计算机。 在此行之后添加另一行包含辅助DNS服务器以解析其他站点,例如nameserver 8.8.8.8 。 某些程序每次启动时都会覆盖此文件,因此您可以使用chmod 0444 /etc/resolv.conf来防止这种情况发生(可能有更好的方法来实现此目的)。
  2. 安装dnsmasq,在/etc/dnsmasq.conf的末尾添加一个行address=/your-custom-local-domain/127.0.0.1
  3. 通过将名为localdomain的文件放入/etc/apache2/sites-available并使用此答案底部的文本创建新的apache站点配置。
  4. 运行以下命令sudo a2ensite config localdomain
  5. 重新启动apache,并在〜/ called Sites中创建一个新文件夹。
  ServerName 127.0.0.1 ServerAlias *.your-custom-local-domain VirtualDocumentRoot /home/%2/Sites/%1/ #ErrorLog /home/%2/logs/error.%1.log  

现在,您在sites目录中创建的任何新文件夹都应映射到foldername.your-custom-local-domain