- 论坛徽章:
- 0
|
声明:本文为作者“谁为我狂”自己整理出来的虚拟主机安装文档,转载的请注明出处,并带上链接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的虚拟主机配置好了。 |
|