荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Rog (Enter), 信区: Linux
标  题: 在linux下设置WWW[Fwd]
发信站: BBS 荔园晨风站 (Mon Jun  7 13:07:25 1999), 转信

【 以下文字转载自 Rog 的信箱 】
【 原文由 Rog.bbs@flanker.uestc.edu.cn 所发表 】
发信人: sunway (运气守恒,哈哈), 信区: Linux
标  题: 在linux下设置WWW[Fwd]
发信站: 一网深情 (Sun May 30 22:32:58 1999), 转信

编者按:
  许多人的生活已变得越来越简单:食物、水、空气、网络。这种简单源于一种
“透明”—网络操作对于用户已变得越来越透明了。但在这种透明背后,却是越来
越庞大复杂的网络操作系统,越来越不透明的管理。你看看本期专题的几篇文章便
可明白了。
  其实关于网络操作系统真是罄竹难书。这里不过是冰山一角。但也许是最闪亮
的一角:如何在Linux上设置WWW Server和建立DNS服务器,教你在SCO OpenServe
r和Windows NT、Windows 95中相互共享打印机的技巧,Solaris和NetWare5安装技
巧。当然,UNIX操作系统还有很多,这里的几款无法代表全部。希望大家举一反三
,能够获得一些启发。
在linux下设置WWW Server
★ 宁辛
  目前WWW Server软件有许多,能运行在linux下的也不少,有NCSA HTTPd Ser
ver、CERN HTTPd Server、pache、Netscape Fast Track Server、Zeus Server等
。这些软件各有特色:NCSA(美国伊利诺斯大学的国家超级计算应用中心)是WWW
 Browser Mosaic发迹之地,也是Netscape公司的安德森成名的地方;CERN(欧洲
原子核研究中心)是WWW的起源地,1989年蒂姆·贝纳斯-李正是在这开发成功了世
界上第一个Web服务器和客户机。这两家推出的WWW Server功能齐全,成为同类软
件的标准,再加上它们都是Freeware,因此刚一推出就大受欢迎。前几年,在lin
ux下WWW Server软件使用最多的是NCSA和CERN,但这一两年来,后起之秀Apache却
独领风骚,号称“WWW Server之王”。在最新的Red Hat、Slackware和 OpenLinu
x各版本中都包含了Apache。
Apache是在NCSA的基础上发展起来的,因此这二者的配置文件十分相似。Redhat5
.2自带的是Apache 1.3。
一、安装
  Apache的安装十分简单。最好在安装red hat时,选择安装web server,这样
即使你对编译操作不熟的话,也能轻轻松松把服务器架设起来。
  如果你想亲自编译源文件,那么你已经不是一个初学者,建议你直接去看how
-to文档或其他资料。打开机器,进入X-Window系统后,启动Netscape Navigator
,敲入本机的IP地址,如果出现“It worked”的欢迎页面,那说明服务器程序工
作正常。你可以进行下一步配置工作。在不同的版本下,服务器默认的工作根目录
也不一样。Red Hat默认的是/etc/httpd,配置文件在/etc/httpd/conf目录下,页
面文件在/home/httpd目录下。
二、设置httpd.conf、srm.conf、access.conf文件
  Apache安装成功后,在conf子目录下有四个文件:httpd.conf、srm.conf、a
ccess.conf、magic(请注意:在www-howto文档中,说第四个文件是mime.types,
但在实际安装中,在conf子目录下是magic文件)。httpd.conf是Apache设置文件
中的主文件,httpd程序启动时会先读取httpd.conf。srm.conf是数据配置文件,
在这个文件中主要设置WWW Server读取文件的目录、目录索引时的画面、CGI执行
时的目录等等。access.conf是负责基本的读取文件控制,限制目录所能执行的功
能及访问目录的权限设置。下面将简单对这三个数据设置文件进行说明。
1. httpd.conf文件
TransferLog:如果你想知道你的网站上哪个页面最受来访者的欢迎,在一段时间
内有多少人访问你的站点,你当然可以设置一个计数器,但每页都设计数器,太繁
琐而且得到的结果不太可靠。最好的办法是查看相应log文件,TransferLog命令就
是指定当浏览器要求服务器传送文件时记录到所设置的文件,可以根据此文件查看
有哪些用户看过哪些HTML文件。可用一些程序分析这个文件的数据,得出监测各种
有用的数据。默认的访问log文件是logs/access_log。
ErrorLog:这个命令是指定当WWW Server运转过程中发生问题时错误信息存放到哪
个文件。默认是logs/error_log。
VirtualHost:这个命令是用来设置虚拟主机,即用一台主机执行多个域名的WWW
Server。详细命令使用将在第三部分详细解释。
2. srm.conf
DocumentRoot:指定WWW Server存放html文件的根目录。WWW Server从硬盘中读取
html文件传送给浏览器,并不是可从任一个目录中读取文件,而是从一个特定目录
中开始读取文件,这个特定的目录就是由DocumentRoot命令来指定。red hat5.2中
默认的目录是/home/httpd/html。
  如果用户访问http://www.swm.com.cn/netlife/index.html,此时WWW Serve
r并不是从系统的根目录下的netlife目录中读取index.html,而是从/home/httpd
/html/netlife目录中读取index.html文件。
UserDir:如果要在WWW Server上给一些用户开设空间,搁放个人主页,最好不要
把每个人的html文件都放到DocumentRoot目录中,用UserDir命令可让每个人的页
面放置在自己的home目录中。默认的目录是public_html。
  如果UserDir设置的目录是public_html,而Username是yan,而该user的home
目录是/home/yan,那你访问http://www.swm.com.cn/~yan/intr.html时所看到的
intr.html文件存放在/home/yan/public_html中,而不是/home/httpd/html。
3. access.conf
  如果你有些目录只想让某些人访问,或者只允许在特定的目录下允许CGI程序
,这时就要对access.conf进行修改。
  Apache的存取控制方式有两种:一是“整体存取控制”,只通过access.conf
来控制文件的设置,来限定目录所能执行的功能及存取目录的权限设置。二是“特
定目录存取控制”,在特定目录中建立存取设置文件,这个文件名在srm.conf中的
AcessFileName来决定,默认是.htaccess。例如某些目录中的文件只允许某些人访
问,那可在该目录下建立.htaccess文件,当WWW Server读取该目录时便会自动读
取.htaccess来决定是否读取执行或要求口令验证。这两种方式所使用的命令几乎
相同,而且设置的格式也相同。
Directory:说明要设置的目录,然后再用命令来设置目录的功能和权限。
Options:设置目录可以执行哪些功能。有None、All、ExecCGI、Includes、Inde
xs、IncludesNoExec、FollowSymlink、SymlinksOwnerMatch等选项。如果想让某
个目录可以执行CGI程序,那么应在Options命令中加上ExecCGI选项。
Require:设置可以对所指定目录以指定方式来存取的Users和Group。该命令执行
后,当读取该目录数据时,系统会要求输入Username和Password。
* 忠告:修改完设置文件后,不要像在Windows工作那样,重启机器使其生效。要
记住,你现在linux下,使用linux的好处之一就是不用再见到Windows 98那死机时
的蓝屏以及不必对配置文件做了一点点修改就无聊而又频繁地重启机器。你的WWW
服务器任何时候都有很多人在访问,频繁地重启机器将把你的客人赶跑。要学会不
重启机器,而是重新启动一个正执行的程序(Process,严格一点应叫做进程、作
业)。可以用kill命令来使程序重新启动。具体kill的使用参见有关文档。
先用ps命令查看httpd的pid号,然后用kill命令杀死它,重新启动httpd。具体命
令如下:
linux> ps -x
linux> kill -HUP 13668(13668是假设httpd的pid号,在实际使用中,不同的情
况值也不同)
这样就可将httpd重新启动,使修改的配置文件生效。
看完上面一大堆命令,是不是有些烦,其实你不了解这些命令也无所谓,用系统默
认设置也能正常工作。
三、虚拟主机(Virtual Host)的设置
  作为系统管理员,若你只有一个IP地址,却有好几个域名,又要求访问每个域
名都要看到不同的内容,那怎么办?总不至于为每个域名都配上一台服务器吧。这
就要采用虚拟主机(Virtual Host)技术,幸好Apache就支持这种功能。虚拟主机
有两种方式:IP-Based(基于IP式)、Name-based(基于域名式)。IP-Based指
的是一个域名对应一个IP地址,而Name-based指的是多个域名对应一个IP地址。
虚拟主机的设置并不复杂,只要在httpd.conf文件中加入相应的命令就行。
  下面是一个Name-based(基于域名式)虚拟主机的httpd.conf例子(编者注:
因篇幅原因,我们这只给出了相关部分,全文见www.swm.com.cn)。IP为:192.9
.188.20,两个域名分别是long.com.cn、short.com.cn。
httpd.conf:
NameVirtualHost 192.9.188.20
<VirtualHost www.long.com>
ServerAdmin webmaster@long.com
ServerName www.long.com
DocumentRoot /home/httpd/long/html
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
<VirtualHost www.short.com>
ServerAdmin webmaster@short.com
ServerName www.short.com
DocumentRoot /home/httpd/short/html
ErrorLog logs/short.com-error_log
TransferLog logs/short.com-access_log
</VirtualHost>
NameVirtualHost命令指定在哪个IP上设置虚拟主机
在VirtualHost命令中进行各个主机的具体设置。
ServerAdmin命令是设定当WWW Server执行有问题时,会将ServerAdmin所设置的E
-mail传送到浏览器,让使用者用该E-mail与系统管理员联系。
ServerName命令是设置WWW Server的域名。
四、提供个人主页空间、用户homepage的设定
  经常见到某些网站提供个人主页,显得很神气,其实你也可以开放你机器上的
空间给别人,这很简单就能实现。只要你按照下面的提示对你的WWW服务器配置文
件进行修改。
  给用户开放个人主页空间,一是要确定用户主页的存放目录,二是开放用户主
页目录的读取权限。
方法一:你以root的身份给用户chen开个帐号,系统自动会给chen分配一空间/ho
me/user,而后在/home/chen的目录下建一public_html的子目录,子目录的属性要
设成other可读和可执行的。
接着修改access.conf。在文件的最后加上以下一段:
<Directory /home/chen/public_html>
AllowOverride None
order allow,deny
allow from all
</Direstory>
而后,重新运行httpd,用户就可以通过http://www.swm.com.cn/~chen/访问chen
的个人主页。
这种方法的优点是方便,缺点是安全性太差。
方法二:另一种办法是在/home/httpd目录下为用户chen建个目录chen。修改srm.
conf中的UserDir为/home/httpd/*/html,接着重新运行httpd便可以了。
-----------------------------------------------------------------------
---------

--


    “我们萧萧的树叶都有声响回答那风和雨。你是谁呢,那样的沉默
着?”

    “我不过是一朵花。”

※ 来源:.一网深情 bbs.uestc.edu.cn.[FROM: 202.115.8.100]
--
※ 转寄:.一网深情 bbs.uestc.edu.cn.[FROM: argo.zsu.edu.cn]
--
※ 转载:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.177]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店