linux中建立网站服务器详解

 
总结: 建立一个网站服务器不是个难事,关键是对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]

你可能感兴趣的:(linux,职场,服务器,休闲)