Linux 版 (精华区)

发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标  题: [文档]「虚拟主机」(Web/Mail)的设定摘要
发信站: 紫 丁 香 (Mon Oct 12 00:12:45 1998), 转信



发信人: dfbb (赵无忌☆迷恋红尘), 信区: Linux
标  题: [文档]「虚拟主机」(Web/Mail)的设定摘要(转自台湾BB
发信站: BBS 水木清华站 (Sun Oct 11 21:26:15 1998)


分别在几个版都看到在问「虚拟主机」, 大热天的, 藉机灌个水, 清凉一下 !

以下内容是依实际的使用经验整理, 有关「虚拟主机」因为关联到各个不同的
程式(httpd、named、sendmail), 所以似乎没有「单一完整」资料, 在参照各
别文件後, try try 出来用, 以下各项可能不甚完善, 但确定可以工作无误,
若有不正确、不妥的地方还请大家指正.

由於市场竞争以及不是每个人都能方便的24小时连接 Internet, 目前几乎
各个 ISP 都「出卖虚拟主机」, 且「售价不低」, 这个看似「略有」难度的
工作若用一台 Intel_Based_PC 来做的话, (除专线费用外)其实是很低成本,
或许几个人合租一条中、低速度的专线(看实际需要吧!), 再用 Linux 来当
工作平台, 就可以省下一笔不小的开销了!底下以一台
   跑 Linux 的 PC + Apache + sendmail + bind
来说明。

        *       *       *       *       *       *

所谓「虚拟主机」主要是指「虚拟 Web Server」, 但光是这个还不算完整,
於是还要有个「虚拟 Mail Server」来搭配, 而这两者同时必需仰赖「真实
DNS server」才能构成整套的「虚拟」动作.

当然, 各个 domain name 要正式在 twnic 或 internic 或 alternic 或其
它国家的主管单位注册过才能生效.

还有, 以下设定算是重点摘要, 最好事先对基本的 Apache、named、sendmail
有一些了解, 才能避开执行的可能的问题.

        *       *       *       *       *       *

■■■
Apache 大概是目前用来当「虚拟 Web 主机」的最热门 daemon, 说明如下:

设定好它可以接受哪些 domain name 的呼叫, 一遇到 browser 端向它要求
某个 domain name 时, 它就会去抓相对的 directory 下的档案丢给 browser


假设除了「真实公司」外, 另有 aaa、bbb、ccc 三家公司及团体共用这台
真实 Web server, 那麽分别建立
        /home/aaa
        /home/bbb
        /home/ccc
当然三个目录下, 它们各有各的 index.html
        /home/aaa/index.html
        /home/bbb/index.html
        /home/ccc/index.html

在 Apache 的 httpd.conf 尾段里设定如下:

        <VirtualHost www.aaa.com.tw>
        ServerAdmin john@aaa.com.tw
        DocumentRoot /home/aaa
        ServerName www.aaa.com.tw
        ErrorLog logs/aaa-error_log
        TransferLog logs/aaa-access_log
        </VirtualHost>

        <VirtualHost www.bbb.com.tw>
        ServerAdmin peter@bbb.com.tw
        DocumentRoot /home/bbb
        ServerName www.bbb.com.tw
        ErrorLog logs/bbb-error_log
        TransferLog logs/bbb-access_log
        </VirtualHost>

        <VirtualHost www.ccc.org.tw>
        ServerAdmin victor@ccc.org.tw
        DocumentRoot /home/ccc
        ServerName www.ccc.org.tw
        ErrorLog logs/ccc-error_log
        TransferLog logs/ccc-access_log
        </VirtualHost>

■■■
在 named(以8.1.1以後版本为例) 这边:

在原有 named.conf 里加入:
zone "aaa.com.tw" in   { type master; file "file1.aaa"; };
zone "bbb.com.tw" in   { type master; file "file1.bbb"; };
zone "ccc.org.tw" in   { type master; file "file1.ccc"; };

在 /etc/named/file1.aaa 则是:
@ IN SOA .....这些跟「原主机」内容一样.....
                IN NS my_net_domain.com.tw.  <--这是真实跑 bind 这台
www             IN A 172.16.1.1
                IN MX 0 aaa.com.tw.
aaa.com.tw.     IN A 172.16.1.1
                IN MX 0 aaa.com.tw.

在 /etc/named/file1.bbb 则是:
@ IN SOA .....这些跟「原主机」内容一样.....
                IN NS my_net_domain.com.tw.  <--这是真实跑 bind 这台
www             IN A 172.16.1.1
                IN MX 0 bbb.com.tw.
bbb.com.tw.     IN A 172.16.1.1
                IN MX 0 bbb.com.tw.

在 /etc/named/file1.ccc 则是:
@ IN SOA .....这些跟「原主机」内容一样.....
                IN NS my_net_domain.com.tw.  <--这是真实跑 bind 这台
www             IN A 172.16.1.1
                IN MX 0 ccc.org.tw.
ccc.org.tw.     IN A 172.16.1.1
                IN MX 0 ccc.org.tw.

■■■
在 sendmail 这边:

到 /etc/sendmail.cf 里加上各个 domain name 到 Cwlocalhost 後面, 用
空白隔开各个名字:

Cwlocalhost aaa.com.tw bbb.com.tw ccc.org.tw

        这就可以单一台 mail server 分别收各人的信
        john@aaa.com.tw
        peter@bbb.com.tw
        victor@ccc.org.tw

不过先前有人提到若是同一个名字怎麽办?
clinton@aaa.com.tw
clinton@bbb.com.tw
clinton@ccc.org.tw

目前我只能以「不开同一个ID」来避开这个问题.

■■■
另外, 假如 Web Server 跟 Mail Server 是分别独立的两台, 为便例一般
user 的操作, 可以把 Web Server 的 /home/aaa 这个目录 export 出来给
Mail server 挂到 john 这个 user 的某个目录下, 例如 /home/john/www

这样当 john 把档案(HTML、影像...) 丢到 Mail server 时, 事实上是丢
到 Web server 里的 aaa 公司之下, 由於要把别台的目录 mount 进来是只
有 root 才能做, 所以这样 export/mount 应该没什麽问题吧?

遗、误之处请大家补一补吧  ^_^

--
m5m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.41.99]m

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.342毫秒