免费注册 查看新帖 |

Chinaunix

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

linux中建立网站服务器详解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 11:33 |只看该作者 |倒序浏览

                [color="#ff69b4"]总结: 建立一个网站服务器不是个难事,关键是对linux基础命令熟悉,多参考前人的文章,还有就是不管自己看文章感觉多么容易,永远要记住一条:实践才是检验掌握与否的唯一标准.
[color="#ff69b4"]这次试验项目就是在自己的电脑上建立HTTP服务器,其中偶是重复了一遍samba配置,DNS配置,这里就不记录samba配置,就专门记录下httpd(也就是apache)配置和DNS的配置.
[color="#ff69b4"]前提:想做个域名为

[url='http://www.test.com' target=_blank>www.test.com

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

[url='http://www.test.com' target=_blank>www.test.com

或者suse.test.com[/url]
看下会不会出来网页.反正我的是已经成功了.当时遇到了个小小的问题,中文网页出现乱码了,恩,经过前人的指点,只需要修改一个地方就OK了,
[color="#ff69b4"]还是当初的/etc/httpd/conf/httpd.conf文件,
[color="#ff69b4"]找到AddDefaultCharset UTF-8 这行,在后面再添加一行AddDefaultCharset GB2312 就OK了.反正我这么修改就好了.
[color="#ff69b4"]
详细概念说明解释参考:
http://linux.vbird.org
[color="#ff69b4"]
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93926/showart_1875319.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP