总结: 建立一个网站服务器不是个难事,关键是对linux基础命令熟悉,多参考前人的文章,还有就是不管自己看文章感觉多么容易,永远要记住一条:实践才是检验掌握与否的唯一标准.
这次试验项目就是在自己的电脑上建立HTTP服务器,其中偶是重复了一遍samba配置,DNS配置,这里就不记录samba配置,就专门记录下httpd(也就是apache)配置和DNS的配置.
前提:想做个域名为[url]www.test.com[/url], suse.test.com,linux.test.com 的网页.
使用工具: 建立samba做linux与windows文件之间传输,建立DNS做这三个域名的解析服务.
配置如下:
先说主要的httpd服务器的配置.
/etc/httpd/conf/httpd.conf
HTTPD的主要设定档,可以说只要配置此文件就可配置好网页服务了.
/etc/httpd/conf.d/*.conf
如果不想在httpd.conf中配置的话,可以自己配置.conf文件. httpd服务一启动,conf.d里面的配置文件会载入进去.文件名必须为.conf文件.
/etc/httpd/modules/
模块文件夹,里面包含网页所需要的模块.
/var/www/html/
网页默认的首页,在输入[url]http://localhost[/url]时显示的就是此文件夹内的网页.
/var/log/httpd/
文档文件夹.对于流量大的网站,此文件夹要特别小心维护.
 
编辑httpd.conf
 ServerTokens OS    # 提供服务器的版本和操作系统信息,不想提供可以改为 Minor
 ServerRoot "/etc/httpd"    #顶层目录,后面的设置文档都用的是绝对路径.
 PidFile run/httpd.pid     #记录进程数的,用于WWW服务器管理.
 Timeout 120    #超时时间,多过这么久就显示无法连接.
 KeepAlive Off    # 一次TCP连接是否持续有效.推荐打开.
 MaxKeepAliveRequests 100    #如果上面是on的话,此配置才生效,最大连接请求数,可调大些.
 KeepAliveTimeout 15    #该次连接在最后一次传输后等待延迟的时间.超过了就断开连接.保持默认值即可.
Include conf.d/*.conf     #有了它, conf.d里面的配置文件才会生效.
AddDefaultCharset UTF-8    # 网页编码配置,如果网页编码不是UTF-8的话,出现的会是乱码.可以根据情况添加.
 
添加一.conf文件到conf.d目录里面去,在此我取名为test.conf .   # look, 绝对的绝对路径,全部路径是etc/httpd/conf.d/
   配置内容如下:
   NameVirtualHost *:80     #网页端口
<Directory "/var/www/www">
    Options FollowSymLinks     #让此目录里的超链接可以链接此目录以外的文件.
    AllowOverride AuthConfig     #表明进入需要认证用户名与密码..htaccess文件有关.
    order allow,deny      #allow优先,没有写入规则的则deny. 所以这里是全部deny
    Allow from all       #不过,这里allow优先,所以是所有用户可浏览网页.
</Directory>
<Directory "/var/www/phorum">
    Options FollowSymLinks
    AllowOverride None     #.htaccess文件失效
    Order allow,deny
    Allow from all
</Directory>
    #以下是域名分配及相关域名的目录.
<VirtualHost *:80>
    ServerName linux.test.com
    DocumentRoot  /var/www/html
</VirtualHost>
<VirtualHost *:80>
    ServerName  [url]www.test.com[/url]
    DocumentRoot  /var/www/www
    CustomLog    /var/log/httpd/www.access_log Combined
</VirtualHost>
<VirtualHost *:80>
    ServerName   suse.test.com
    DocumentRoot   /var/www/suse
</VirtualHost>
  
文件配置完毕.启动httpd服务
[root@localhost /]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                             [  OK  ]
配置开机启动
[root@localhost /]# chkconfig httpd on
OK,完成以上配置后,一个简单的网页服务器就ok,当然,如果需要PHP等动态页面支持,需要安装相关的软件了.
有了网页,不过没有域名的支持,在客户端上输入[url]www.test.com[/url]等肯定是打不开的了,所以,又要受累了.
首先,VI编辑器编辑named.conf配置文件.它的实际文件并不在etc. look:
lrwxrwxrwx  1 root root 32 Jun  3 21:08 /etc/named.conf -> /var/named/chroot/etc/named.conf  #这才是实际文件的位置
为什么会是在/var/named/chrrot下呢?
看下etc/sysconfig/named文件就知道了:
# Currently, you can use the following options:
# ROOTDIR="/some/where"  --  will run named in a chroot environment.
#                            you must set up the chroot environment before
#                            doing this.
# OPTIONS="whatever" -- These additional options will be passed to named
#                       at startup. Don't add -t here, use ROOTDIR instead.
ROOTDIR=/var/named/chroot     #chroot把文件目录重定向了,为了安全起见
 
Ok,编辑etc/named.conf文件,在原文件后面添加这么两段命令了:
zone "test.com" IN {
        type master; #是否是主从服务器,这里是主DNS服务器
        file "test.com"; # 这个test.com的配置文件名,默认路径是在/var/named/chroot/var/named目录中.
        allow-update {none;}; #不允许更新
};
zone "193.193.10.in-addr.arpa" IN {
        type master;
        file "10.193.147.130.zone";
        allow-update {none;};
}
  #默认只安装bind软件包的话,配置文件是空的,需要安装caching-nameserver软件.
Ok, 修改完毕后,就是建立上面说的两个文件了.
先是正向解析文件test.com (特别注意的是,域名后的.)
  $TTL    86400
@               IN SOA    gw.test.com.   root.gw.test.com (
                             20070603           ; serial (d. adams) #每次修改后最好改下这里的时间.
                             3H         ; refresh  #更新时间
                             15M             ; retry  #更新失败后,多久重复一次
                             1W              ; expiry #重复多久后,不再重复
                             1D )            ; minimum #TTL
 
                IN NS           gw.test.com. #name server 的名字
                IN A            10.193.193.130  #name server主机对应的IP
 
gw.test.com.    IN A                10.193.193.130
www          IN A                10.193.193.130
suse           IN A                10.193.193.130
linux          IN A                10.193.193.130
 
然后是反相解析文件10.193.147.130.zone
$TTL    86400
@       IN      SOA    gw.test.com. root.gw.test.com.  (
                                      1997022701 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      gw.test.com.
 
 
130.193.193.10.in-addr.arpa.     IN   PTR    gw.test.com.
 
OK,完成以上配置,基本上,一个简单的DNS服务器就OK.,配置是比较简单的,不过,最重要的是概念熟悉.
现在在客户端把DNS指向偶们新建的DNS服务器上,输入网址[url]www.test.com[/url]或者suse.test.com 看下会不会出来网页.反正我的是已经成功了.当时遇到了个小小的问题,中文网页出现乱码了,,经过前人的指点,只需要修改一个地方就OK,
还是当初的/etc/httpd/conf/httpd.conf文件,
找到AddDefaultCharset UTF-8 这行,在后面再添加一行AddDefaultCharset GB2312 OK.反正我这么修改就好了.
 
详细概念说明解释参考: [url]http://linux.vbird.org[/url]