总结: 建立一个网站服务器不是个难事,关键是对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 #网页端口
Options FollowSymLinks #让此目录里的超链接可以链接此目录以外的文件.
AllowOverride AuthConfig #表明进入需要认证用户名与密码.跟.htaccess文件有关.
order allow,deny #allow优先,没有写入规则的则deny. 所以这里是全部deny
Allow from all #不过,这里allow优先,所以是所有用户可浏览网页.
Options FollowSymLinks
AllowOverride None #.htaccess文件失效
Order allow,deny
Allow from all
#以下是域名分配及相关域名的目录.
ServerName linux.test.com
DocumentRoot /var/www/html
ServerName [url]www.test.com[/url]
DocumentRoot /var/www/www
CustomLog /var/log/httpd/www.access_log Combined
ServerName suse.test.com
DocumentRoot /var/www/suse
文件配置完毕.启动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]