如何在Apache和Ubuntu中设置本地域名,例如website.sam?
我想以下列方式映射我的目录/子域:
/ home / sam / sites / *到http://*.sam
我不希望每次调整一个新站点时都要在我的hosts文件中添加一行。
在配置和安装apache时,我是初学者,实现这一目标的最佳方法是什么?
事实certificate,让这项工作涉及很多步骤。 这是我解决它的方式:
- 编辑/etc/resolve.conf,通过注释掉任何现有行并添加
nameserver 127.0.0.1
,将nameserver 127.0.0.1
解析设置为本地计算机。 在此行之后添加另一行包含辅助DNS服务器以解析其他站点,例如nameserver 8.8.8.8
。 某些程序每次启动时都会覆盖此文件,因此您可以使用chmod 0444 /etc/resolv.conf
来防止这种情况发生(可能有更好的方法来实现此目的)。 - 安装dnsmasq,在/etc/dnsmasq.conf的末尾添加一个行
address=/your-custom-local-domain/127.0.0.1
- 通过将名为localdomain的文件放入
/etc/apache2/sites-available
并使用此答案底部的文本创建新的apache站点配置。 - 运行以下命令
sudo a2ensite config localdomain
。 - 重新启动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
。