好的,我在Arch Linux操作系统上运行Apache Server 2.4.20。我目前已经设置并以这样的方式工作,即来自任何外部连接的请求通过我的公共静态IP转发到连接到服务器的本地IP。除了在我的路由器上设置端口转发并将/etc/http/conf/httpd.conf
设置为Listen 80
之外,我没有必要配置其他任何东西来让服务器运行。嗯,看起来很简单。
现在我想继续进行下一步,并托管我通过Apache服务器购买的域名。基本上,截至目前,当您连接到我的服务器时,它只是在地址栏中显示我的公共静态IP。我想以这样的方式进行设置:域名显示在地址栏中而不是IP到我的服务器。
到目前为止,我已经尝试了三天才能找到正确的方法来实现这一点,似乎在任何地方都没有一个单一的指南可以逐步解释这一点。我对此进行了大约40个小时的研究。我收集的点点滴滴是
httpd.conf
文件我已经尝试了所有可能的虚拟主机组合组合,并试图配置我的名称服务器,它只是不工作,并且我浪费了大量的时间。有人可以从头到尾写一篇简短的指南,在Apache服务器上设置域名。我不需要特别深入地解释什么是完成的,我理解单独的过程我只是不理解设置它的过程。
所以,如果有人可以提供一个从头到尾显示过程的简单例子,我会很高兴,再次解释你在每一步所做的事情应该保持在最低限度,因为任何人都应该有这个完成了他们现在的研究。
实施例
我现在拥有的东西:
Apache Server IP: **234.34.23.2**
有人在此输入内容,并在index.html
页面上投放,并在地址栏中显示此IP。
我也想要得到的东西:
Purchased Domain Name: www.example.com
现在当有人在地址栏中输入此内容时,他们会在相同的index.html
页面上投放该域名,此域名仍保留在地址栏中。
注意:我正在尝试仅针对单个域执行此操作,因此我不需要涉及多个虚拟主机的示例。
答案 0 :(得分:2)
您的研究是准确的。您所要做的就是以下内容:
httpd.conf
文件在您的DNS设置中,设置A
和AAAA
(如果您有IPV6值)以指向您的IP:
Host: @
Value: 234.34.23.2
TTL: 3600 (seconds)
保存上述内容并刷新计算机的DNS缓存。现在,转到www.example.com
应该尝试打开234.34.23.2
。如果不是,您可以将CNAME
的{{1}}值设置为与www
值相同:
A
再次,重新加载DNS缓存并尝试。
要设置Apache以便它知道要为Host: www
CNAME: @
TTL: 3600 (seconds)
域服务的文件,请在www.example.com
文件中添加以下部分:
httpd.conf
重新加载Apache服务器(或重新启动)。就是这样。