2016-06-12 88 views
0

好的,我在Arch Linux操作系统上运行Apache Server 2.4.20。我现在有这样的设置和工作方式,来自外部连接的请求通过我的公共静态IP转发到连接到服务器的本地IP。除了在我的路由器上设置端口转发并将/etc/http/conf/httpd.conf设置为Listen 80之外,我不必配置任何其他设置即可让服务器运行。嗯,看起来很简单。如何正确使用Apache服务器上的域名来托管网页?

现在我想进入下一步的流程,并托管通过我的Apache服务器购买的域名。基本上,截至目前,当你连接到我的服务器,它只是在地址栏中显示我的公共静态IP。我想以这样的方式进行设置:域名显示在地址栏中,而不是IP到我的服务器。

截至目前,我一直在尝试三天来找到正确的方法来做到这一点,似乎没有一个单独的指南,任何解释这一步一步。我大约40个小时的研究。我收集的点点滴滴都

  • 使用在httpd.conf文件
  • 更改域名服务器虚拟主机您的域名指向您的服务器

我试过虚拟主机的每一个可能的组合组合和尝试配置我的名称服务器它只是不工作,并im即浪费大量的时间。有人可以从头到尾写一篇关于在Apache服务器上设置域名的简短指南。我不需要特别深入地解释正在做什么,我个人理解这些过程,我只是不理解设置过程。因此,如果有人能够用一个简单的例子来展示整个过程,那么我会很喜欢它,再次解释你在每一步所做的事情应该保持在最低限度,因为任何人都应该经历这个过程他们已经完成了他们在这方面的研究。

例:

我现在拥有的一切:

Apache Server IP: **234.34.23.2** 

有人类型这和他们获得服务的index.html页面,这个IP显示在地址栏中。

我试图让太:

Purchased Domain Name: www.example.com 

现在,当有人类型这在地址栏,他们获得服务同样index.html页面,该域名仍然在地址栏中。

注意:我只想为一个域做这个,所以我不需要一个涉及多个虚拟主机的例子。

+0

Downvote如果“这个问题没有显示任何研究工作,不清楚或没有用”。请系统管理员检查一下,看起来有人已经低估了0个很好的推理。我对这个话题进行了广泛的研究,它可能非常有用,我花了很多时间去说清楚。 –

回答

2

您的研究是/准确的。所有你需要做的是完全以下:

  • 使用虚拟的httpd.conf文件
  • 更改域名服务器到您的域名指向您的服务器

DNS /名称服务器配置

在您的DNS设置,将AAAAA(如果您拥有IPV6值)设置为指向您的IP:

Host: @ 
Value: 234.34.23.2 
TTL: 3600 (seconds) 

保存上述内容并刷新您计算机的DNS缓存。现在,去www.example.com应该尝试打开234.34.23.2。如果没有,你可以www设置CNAME值由是与您的A值:

Host: www 
CNAME: @ 
TTL: 3600 (seconds) 

再次刷新你的DNS缓存和尝试。

VitualHost

对于设置Apache,以便它知道哪些文件服务器为www.example.com域,在httpd.conf文件,添加以下部分:

Listen 80 
<VirtualHost *:80> 
    DocumentRoot "/www/example" 
    ServerName www.example.com 
    ServerAlias example.com 
    <Directory "/www/example"> 
     AllowOverride All 
     Options All 
     Require all granted 
     # Any other directives 
    </Directory> 
    # Other directives here 
</VirtualHost> 

刷新Apache服务器(或重启)。这就对了。

+0

谢谢,把所有东西都清理干净,把我已经知道的所有东西都联系在一起。现在所有的东西都运转起来了,我对它的理解很透彻,谢谢hjpotter92。 –

相关问题