免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2002 | 回复: 3
打印 上一主题 下一主题

[Web] 原创:配置一台带DNS的虚拟主机,对新手而言,最容易上手 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-02 14:33 |只看该作者 |倒序浏览
声明:本文为作者“谁为我狂”自己整理出来的虚拟主机安装文档,转载的请注明出处,并带上链接http://www.pt98.com/viewthread.php?tid=152&extra=page%3D1。谢谢!

环境:RedHat linux7.3+bind-9.2.0-8+apache-1.3.23-11+mysql-3.23.49-3+php-4.1.2-7

大家肯定奇怪为什么要选择RedHat linux7.3的呢?高版本多的是如RedHat linux9.0 ,RedHat linux AS 4.0等。呵呵。其实只是因为最近碰到的公司服务器基本上都是RedHat linux7.3,所以就随手拿来当例子讲讲了。默认情况下RedHat linux系统直接支持并自动安装sendmail,但这套系统对初学者来讲,很难。看那配置文件会让初学者很晕。更不用讲配置了。而postfix就是为了代替sendmail而开发出来的。易用好管理,而且安全性也高。但也只是在RedHat linux9.0以上的才会把postfix包都集成进去,但默认是没有安装的,需要自己再去安装。不过,如果你能在RedHat linux7.3上搞定的话,其他高版本的更不在话,现易实现。

为了方便,此次也将DNS配置进行设置。域名为:www.example.com,服务器的IP为192.168.1.254,我把DNS与web服务都架设在同一台服务器上。

如果你没地方下载RedHat linux7.3的话,那我给你一个地址:http://203.187.181.67/cgweb/ 用户名跟密码都为:cec

一:安装系统时,我选择了中文简体版的,安装类型为服务器,选择手工分区,各分区如下:
/boot                100M
swap                1024M(注:正常而言,只要是物理内存的2倍即可。最好不要超过4倍的物理内存大小。)
/                6500M(注:由于我是用VMware,所以只分了6500M,大家可以根据自己的硬盘实际情况进行分区,同时,由于我下面将选择                        全部安装,所以才分这么大,但如果你的硬盘为40G以上的话,推荐分为10G到15G左右。)
/home                剩下的(注:在今后使用保存之类的文件话,最好全放在/home里,/home相当于win系统下的D盘E盘之类的,如果系统盘                        是C盘的话。)

注:上面说了,为什么要把/分区分大一点呢?原因是因为在安装系统时,我将选择全部安装,这样的好处就在于,以免在编译有些文件时缺库的现象,对于新手,极力推荐这样安装。因为再强的高手,也怕缺库,到时候去东补补,西补补,烦死了,甚至会让你有抓狂的感觉,我有这样的经历过。呵呵。好了,闲话不提了,咱们继续。

二:接下来的请按默认下一步下去,到了“网络配置”处你可以选择输入IP,也可以“使用DHCP进行配置”或等装完系统后再进去配置IP,看个人习惯了,我是直接选择配置IP。

三:点击“下一步”时,是对防火墙进行配置,在此,可以先选择“无防火墙”装完系统后可以再开启防火墙。

四:下一步是选择语言,由于我是简体中文的,所以默认语言不要改,然后,最好再选择English(USA)。反正不会有坏处。呵呵。

五:帐号配置时,根口令(密码)必须得输入(我输入的是密码是:123456),然后下面还有一个添加帐号的,强烈建议新手添加一个,以后直接用这个新添加的帐号进行操作,因为root的权限实在是太大了,怕新手会不小心破坏系统的文件。当必须使用root权限时,可以直接用su来实现。在这里,我新添加了一个master的帐号,密码为123456  大家可以根据自己的习惯与需要进行设置。

六:选择软件包组时,把里面所有的软件包全打上勾。这样下来差不多是2G多。如果是Redhat linux9.0以上的,差不多需要5G到6G左右。再点击下一步。

七:接下来,请按默认的一直下一步下去吧。因为linux会自动认到硬件设置的。接着就是安装系统了。好了,大家可以倒杯水先喝一下,不过记得要换盘,linux7.3是三张光盘的。不要忘了。装完后,会提示是否创建引导盘,请选择跳过,如果想创建的话,需要一张空白的软盘。这里不创建。好了,这样系统就装完了。

接下来将是各种网络服务的配置,
现在先来配置一下DNS,DNS服务需要用到bind,在刚才选择全安装时,已把bind装上了。
可以在终端里输入“rpm -qa | grep bind”就可以查到是否安装上,RedHat linux7.3默认装上去的版本是:bind-9.2.0-8
正常情况下,SSH是自动安装上了。总该知道什么是SSH吧?这是一个加密的远程管理工具。

现在是进行DNS配置,DNS的配置文件是在:/etc/named.conf
在include "/etc/rndc.key";上添加如下内容:
(vi /etc/named.conf)
zone "example.com" {
        type master;
        file "example.com.zone";
        allow-transfer {
        192.168.1.254;
        };
};


zone "1.168.192.in-addr.arpa" {
        type master;
        file "192.168.1.arpa";
        allow-transfer {
        192.168.1.254;
        };
};

注意分号“;”不能少了。
至于为什么要这样写呢?希望你们能自己去查一下相关的DNS信息。这里不详讲了,否则我真的可以出书了。

然后在/var/named/里添加两个文件,文件名分别为:example.com.zone与192.168.1.arpa 明白这两个文件名跟刚才的那内容的关联了吧?
具体操作如下:
vi /var/named/example.com.zone
内容如下:
$ttl 36000
example.com.    IN      SOA     dns.example.com. admin.example.com. (
                        2005090503
                        10800
                        3600
                        604800
                        36000 )

example.com.         IN NS      dns.example.com.

dns                  IN A       192.168.1.254
www.example.com.     IN A       192.168.1.254
mail.example.com.    IN A       192.168.1.254

bbs                  IN CNAME   www

example.com.         IN MX      10 mail.example.com.

example.com.         IN A       192.168.1.254

*.example.com.       IN A       192.168.1.254

另一个文件的则为:
vi /var/named/192.168.1.arpa
内容如下:
$ttl 36000
1.168.192.in-addr.arpa.         IN      SOA     dns.example.com. admin.example.com. (
                        2005090503
                        10800
                        3600
                        604800
                        36000 )
1.168.192.in-addr.arpa.       IN        NS       dns.example.com.

254.1.168.192.in-addr.arpa.   IN        PTR      dns.example.com.
254                           IN        PTR      www.example.com.
254                           IN        PTR      mail.example.com.
254                           IN        PTR      example.com.


到这一步了,基本上是好了,但还在修改一下文件:“vi /etc/resolv.conf”这里的resolv.conf就是DNS的选择,把这里面的内容改成:
domain example.com
nameserver 192.168.1.254

即可。
好了,一个DNS搞定了,同时域名example.com解析到192.168.1.254上了。
大家看到“*.example.com.       IN A       192.168.1.254”这句吧?这就是传说中的泛解析
而文件192.168.1.arpa则是承载着反解析的任务
现在,大家实行一下/etc/init.d/named start(或restart)即可,每次添加或更改DNS时,都要实行一下restart
现在让DNS随系统自动启动:
chkconfig named on
这样就可以了。
现在你ping mail.example.com看解析是不是192.168.1.254
当然了,如果你要用别台的机子来ping这个域名的话,你也需要把192.168.1.254添加DNS里。


现在来设置apache,apache的配置文件在:/etc/httpd/conf/httpd.conf
基本上没什么可修改的,默认的web路径是在:/var/www/html里,当然了,你也可以修改到别的地方。比如改到/home里。
为了支持CGI,请在<Directory "/var/www/html"></Directory>之间的Options Indexes FollowSymLinks后面添加上ExecCGI如下:
Options Indexes FollowSymLinks ExecCGI
再找到“#AddHandler cgi-script .cgi”修改为“AddHandler cgi-script .cgi .pl”(注:不含引号)
然后在修改#ServerName localhost为ServerName *:80(注:千万要把#去掉,不去也可以,但重启的时候会一串的提示。烦。)
启动apache,命令如下:
/etc/init.d/httpd start(或restart)每次修改完httpd.conf后都在重启一下。

然后在浏览器里输入www.example.com看能否浏览呢?如果看到Test Page的话,说明httpd正常。现在来测试一下是否支持CGI呢?
在web目录里建一个test.cgi文件,我的web目录是在/var/www/html里,所以是:
vi /var/www/html/test.cgi
内容为:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello World!\n"


保存退出。再执行:
chmod 755 /var/www/html/test.cgi也就是给这个文件赋予755的权限。
在浏览器里输入http://www.example.com/test.cgi如果显示的内容是:Hello World! 说明CGI配置成功。
现在咱们来测试一下php是否支持呢?默认情况下,php会自动被安装。
执行下面命令:
vi /var/www/html/test.php
内容为:
<? phpinfo(); ?>
保存退出,然后在浏览器里输入http://www.example.com/test.php如果显示的是php信息的话就正常。

现在咱们来配置mysql,奇怪的是RedHat linux7.3默认安装下却没有装mysql?看来得手动安装了。
先把第三张光盘放进光驱,然后执行“mount /mnt/cdrom/”即可把光驱加载进去,再进到RPM安装包里,如下:
cd /mnt/cdrom/RedHat/RPMS/
然后执行:
rpm -ivh mysql*
即可把mysql安装进去。然后再执行一下
rpm -ivh php-mysql-4.1.2-7.i386.rpm
即把php与mysql进行关联
mysql其实也没什么好配的,只要装好了,运行就可以了。
/etc/init.d/mysqld start
当然了,具体的mysql操作这里暂且不提,以后有时间再聊。


好了,到这边,已是把RedHat linux7.3+bind-9.2.0-8+apache-1.3.23-11+mysql-3.23.49-3+php-4.1.2-7给予配置完毕,一台带有DNS的虚拟主机配置好了。

论坛徽章:
0
2 [报告]
发表于 2006-08-02 14:34 |只看该作者
申请加精。谢谢。

论坛徽章:
0
3 [报告]
发表于 2006-08-02 15:27 |只看该作者
呵呵,玩玩还行,真正商中做虚拟主机还差远了.虚拟主机和虚拟主机之前的安全就无法保证。

论坛徽章:
0
4 [报告]
发表于 2006-08-02 16:26 |只看该作者
呵呵。这个只是一个基本,如果说到安全性的话,还复杂哪。但对入门者而言,要先了解这些基础的,这是一个底,熟悉以后才能更进一层哪。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP