2010-06-22 73 views
5

这是我通过做一些搜索学到的东西。这些东西来自很多地方。请指出缺失的东西。 (我还没有试过这个,只是想澄清我要做什么)使用apache(Xampp)在PC上托管一个网站

对于托管我需要一个静态IP。但我的ISP提供动态IP。所以我用DynDNS(因为Cuga在this建议)。我相信这将通过映射我选择的域名和我当前的(动态分配的)实际IP来解决我的动态IP问题。

接下来是设置我的Xampp服务器。为此,我需要我的计算机的本地IP,我可以在Windows命令提示符下使用ipconfig(或ipconfig/all获取全部详细信息)(可以说本地IP为192.168.1.6)。现在,我必须编辑httpd.conf,位于xampp/apache/conf文件夹。 “ServerName”字段必须更改为192.168.1.6:80。

这应该允许任何人使用我从DynDNS获得的主机名访问我的计算机xampp/htdocs文件夹。 如果缺少零件,请填写我。

现在我想更改我的客户端可以连接到我的计算机的端口以及我要使用它托管的文件夹。

我知道我必须首先进行protforwarding,然后配置apache以使用该端口而不是80.有人可以向我解释如何配置apache以使用新端口。

而且我希望我的客户谁用我的主机,我从DynDNS的,接入获得了一些文件夹仅我指定(例如:XAMPP/htdocs中/公共),而我可以访问使用http://localhost/在XAMPP/htdocs中的任何文件.. ...。我认为这是虚拟主机的功能。有人能告诉我如何做到这一点。

是否有解决可能出现的安全问题,以及如何最小化安全问题?

谢谢.....

回答

1

1)如果指定服务器名称为192.168.1.6:80,只有谁使用这个服务器名称的人将能够访问你的机器 - 那些上外网不会你应该使用* .80 2)让apache监听不同的端口,你需要在你的httpd.conf中添加“Listen”指令。例如

Listen 90 

,并更改服务器名称相应 3)让外人只能访问你想让他们访问文件夹,你可以用htpasswd的保护休息。或者你必须创建一个单独的虚拟主机。

+0

谢谢你的帮助 你能解释一下更多的*:80。它有什么作用? *代表什么? – Niroshan 2010-06-22 18:51:53

+0

*表示“无处不在”,*:80是默认的apache虚拟主机 – 2010-06-22 19:14:14

+0

IP地址表示Apache应该监听的接口。通配符(*)表示“任何”接口。因此,Apache应该在任何接口上监听80端口的请求。这用于可从多个IP地址访问的服务器。如果连接到互联网,每个服务器至少有两个内部和外部。大多数机器将有三个:环回,内部(LAN)和外部(WAN)。每个额外的网络适配器将增加两个。这些可能是以太网卡,蓝牙等。 – Nilpo 2013-07-31 14:02:42