Exp*_*oit 5 hosts apache2 webserver
我有一台服务器连接到具有 ubuntu 12.04 的路由器。它已经安装好了 apache/mysql/php,可以使用了。文件夹结构是这样的:
/var/www -- this isnt the root
-/libs
-/logs
-/public - this is the root
-/vhosts - all subdomains go here
Run Code Online (Sandbox Code Playgroud)
我在 vhosts 中有一个名为 mysite 的文件夹。我进入 /etc/apache2/sites-available 并创建了一个文件,这里是内容 - >(vhost 文件)。我还在 /etc/hosts 文件中添加了一个条目,其中包含:127.0.1.1 mysite.dev 我也做了
sudo a2ensite mysite
Run Code Online (Sandbox Code Playgroud)
我尝试通过 mysite.dev 和我们的公共 IP 从计算机访问该站点,但我无法查看它。当我尝试我们的公共 ip 时,上面结构中的公共目录确实显示在所有计算机上。但是对于在 vhosts 中添加的任何内容,该站点都不会显示。没有附加域,它只是我们的 ip。我尝试在站点可用的 mysite 文件中将端口从 80 更改为 9999 并尝试使用 myip:9999 但这也不起作用。我究竟做错了什么?
编辑:我忘了提到服务器在路由器上是 dmzed。
如果您希望mysite.dev仅在几台本地计算机上工作,您可以随时编辑它们的/etc/hosts文件。Windows 还具有可以编辑的主机文件,这些文件位于C:\Windows\System32\drivers\etc\hosts中。
在您想要设置能够访问 mysite.dev 的计算机上的主机文件中,只需将其添加到其底部(Windows 和 Linux):
SERVERIP mysite.dev www.mysite.dev
Run Code Online (Sandbox Code Playgroud)
将SERVERIP替换为运行 Apache 的服务器的本地 IP 地址。
如果您希望它在本地网络上工作,您需要一个 DNS 服务器并配置网络 DHCP 服务器,以便您的本地计算机通过您的服务器执行所有 DNS 查询。
首先,让我们安装bind。
sudo apt-get install bind9
Run Code Online (Sandbox Code Playgroud)
然后我们需要开始配置绑定并添加 DNS 区域,在本例中为mysite.dev。首先编辑/etc/bind/named.conf.local文件并向其中添加以下块:
zone "mysite.dev" {
type master;
file "/etc/bind/zones/mysite.dev;
}
Run Code Online (Sandbox Code Playgroud)
然后,创建目录/etc/bind/zones。
sudo mkdir /etc/bind/zones
Run Code Online (Sandbox Code Playgroud)
现在,让我们为mysite.dev域添加区域文件。创建并编辑文件/etc/bind/zones/mysite.dev并向其中添加以下内容:
$ORIGIN . ; -*- zone -*-
$TTL 600 ; 10 minutes
mysite.dev IN SOA YOURSERVERNAME. hostmaster.mysite.dev. (
2012102300 ; serial
6H ; refresh
30M ; retry
4W ; expire
10M ; minimum (10 minutes)
)
NS YOURSERVERNAME.
A YOURSERVERIP
$ORIGIN mysite.dev.
www A YOURSERVERIP
Run Code Online (Sandbox Code Playgroud)
现在仔细看看这里。您需要将出现的两次YOURSERVERNAME和出现的两次YOURSERVERIP引用更改为与您的服务器匹配的值。例如server01.local和10.0.0.2。要查找您的服务器名称,请hostname -f在服务器上的终端窗口中键入。
如果您要更改此区域文件中的任何内容(例如稍后添加子域或其他内容),您必须记住更新序列号。在本例中为2012102300。该值必须设置为更高的值,例如2012102301。
重新启动绑定服务sudo service bind9 restart,您的域的 DNS 服务器应该已启动并正在运行。dig @localhost mysite.dev在跳到下一步之前,您可能应该通过从服务器本身运行来测试这一点。您还可以使用网络上的客户端计算机进行测试dig @YOURSERVERIP mysite.dev,其中YOURSERVERIP是您服务器的 IP 地址。
现在,您需要做的最后一件事是更新 DHCP 服务器配置并将本地服务器设置为(辅助,如果可能)DNS 服务器。不幸的是,我不能轻易地帮助你。
由于没有名为.dev的顶级域名,因此 ICANN 有必要创建该域名。目前,他们的 gTLD 申请系统已关闭,但也许将来某个时候可以申请 .dev TLD。请注意,他们可能想要一大笔钱。
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |