目前WWW Server软件有许多,能运行在linux下的也不少,有NCSA HTTPd Server、CERN HTTPd Server、pache、Netscape Fast Track Server、Zeus Server等。
|
|
|||
Apache是在NCSA的基础上发展起来的,因此这二者的配置文件十分相似。
一、 安装
Apache的安装十分简单。最好在安装RedHat时,选择安装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、access.conf、magic(请注意:在www-howto文档中,说第四个文件是mime.types,但在实际安装中,在conf子目录下是magic文件)。httpd.conf是Apache设置文件中的主文件,httpd程序启动时会先读取httpd.conf。srm.conf是数据配置文件,在这个文件中主要设置WWW Server读取文件的目录、目录索引时的画面、CGI执行时的目录等等。access.conf是负责基本的读取文件控制,限制目录所能执行的功能及访问目录的权限设置。
下面将简单对这三个数据设置文件进行说明。
httpd.conf文件
TransferLog:
如果你想知道你的网站上哪个页面最受来访者的欢迎,在一段时间内有多少人访问你的站点,你当然可以设置一个计数器,但每页都设计数器,太繁琐而且得到的结果不太可靠。最好的办法是查看相应log文件,TransferLog命令就是指定当浏览器要求服务器传送文件时记录到所设置的文件,可以根据此文件查看有哪些用户看过哪些HTML文件。可用一些程序分析这个文件的数据,得出监测各种有用的数据。默认的访问log文件是logs/access_log。
ErrorLog:
这个命令是指定当WWW Server运转过程中发生问题时错误信息存放到哪个文件。默认是logs/error_log。
VirtualHost:
这个命令是用来设置虚拟主机,即用一台主机执行多个域名的WWW Server。详细命令使用将在第三部分详细解释。
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 Server并不是从系统的根目录下的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。
access.conf
如果你有些目录只想让某些人访问,或者只允许在特定的目录下允许CGI程序,这时就要对access.conf进行修改。
Apache的存取控制方式有两种:一是"整体存取控制",只通过access.conf来控制文件的设置,来限定目录所能执行的功能及存取目录的权限设置。二是"特定目录存取控制",在特定目录中建立存取设置文件,这个文件名在srm.conf中的AcessFileName来决定,默认是.htaccess。例如某些目录中的文件只允许某些人访问,那可在该目录下建立.htaccess文件,当WWW Server读取该目录时便会自动读取.htaccess来决定是否读取执行或要求口令验证。这两种方式所使用的命令几乎相同,而且设置的格式也相同。
Directory:
说明要设置的目录,然后再用命令来设置目录的功能和权限。
Options:
设置目录可以执行哪些功能。有None、All、ExecCGI、Includes、Indexs、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.168.188.20,两个域名分别是long.com.cn、short.com.cn。
httpd.conf:
NameVirtualHost 192.168.188.20
ServerAdmin webmaster@long.com
ServerName www.long.com
DocumentRoot /home/httpd/long/html
ErrorLog logs/error_log
TransferLog logs/access_log
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
NameVirtualHost命令指定在哪个IP上设置虚拟主机
在VirtualHost命令中进行各个主机的具体设置。
ServerAdmin命令是设定当WWW Server执行有问题时,会将ServerAdmin所设置的E-mail传送到浏览器,让使用者用该E-mail与系统管理员联系。
ServerName命令是设置WWW Server的域名。
四、 提供个人主页空间、用户homepage的设定
经常见到某些网站提供个人主页,显得很神气,其实你也可以开放你机器上的空间给别人,这很简单就能实现。只要你按照下面的提示对你的WWW服务器配置文件进行修改。
给用户开放个人主页空间,一是要确定用户主页的存放目录,二是开放用户主页目录的读取权限。
方法一
你以root的身份给用户chen开个帐号,系统自动会给chen分配一空间/home/user,而后在/home/chen的目录下建一public_html的子目录,子目录的属性要设成other可读和可执行的。
接着修改access.conf。在文件的最后加上以下一段:
AllowOverride None
order allow,deny
allow from all
而后,重新运行httpd,用户就可以通过http://www.swm.com.cn/~chen/访问chen的个人主页。
这种方法的优点是方便,缺点是安全性太差。
方法二
另一种办法是在/home/httpd目录下为用户chen建个目录chen。修改srm.conf中的UserDir为/home/httpd/*/html,接着重新运行httpd便可以了。
相关图文阅读
频道图文推荐
相关专题
·FTP服务器 (5017篇文章)
·双核服务器技术 (5594篇文章)
·HTTP服务器 (104篇文章)
·Web服务器 (570篇文章)
·网站服务器的选型 (6537篇文章)
·网吧流媒体服务器 (5264篇文章)
·刀片服务器专题 (4594篇文章)
·网吧服务器专栏 (4478篇文章)
·服务器配置专栏 (8912篇文章)
·IIS服务器应用技巧 (5071篇文章)
·双核服务器技术 (5594篇文章)
·HTTP服务器 (104篇文章)
·Web服务器 (570篇文章)
·网站服务器的选型 (6537篇文章)
·网吧流媒体服务器 (5264篇文章)
·刀片服务器专题 (4594篇文章)
·网吧服务器专栏 (4478篇文章)
·服务器配置专栏 (8912篇文章)
·IIS服务器应用技巧 (5071篇文章)
阅读排行榜
·扮酷你的桌面 Linux超靓壁纸下载(多图) (10747次浏览)
·Linux常用基本命令及应用技巧 (10445次浏览)
·学Linux如此轻松-Linux入门教程 (9807次浏览)
·Red Hat Enterprise Linux AS 4 Update 3 ( (6582次浏览)
·在Linux中也可以使用“QQ” (4320次浏览)
·网络协议完全分析—网络协议全了解。 (4317次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (2090次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2057次浏览)
·Linux下的FTP服务器配置 (2010次浏览)
·虚拟网络计算工具VNC使用指南 (1974次浏览)
·Linux常用基本命令及应用技巧 (10445次浏览)
·学Linux如此轻松-Linux入门教程 (9807次浏览)
·Red Hat Enterprise Linux AS 4 Update 3 ( (6582次浏览)
·在Linux中也可以使用“QQ” (4320次浏览)
·网络协议完全分析—网络协议全了解。 (4317次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (2090次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2057次浏览)
·Linux下的FTP服务器配置 (2010次浏览)
·虚拟网络计算工具VNC使用指南 (1974次浏览)
最新技术文档
·Linux系统Iptables规则执行顺序详解 07-24
·Linux 2.6内核的编译步骤及模块动态加载 07-23
·系统备份与恢复技巧 Ghost程序参数四则 07-23
·如何制作和使用Jffs2文件系统 07-23
·Linux攻略 如何修改系统服务启动和停止 07-23
·Unix和Linux密码丢失解决方法 07-22
·让Windows和Linux程序并存同一桌面 07-21
·Linux操作系统下的Oracle数据库编程详解 07-21
·LINUX学习笔记:DNS服务器设置篇 07-21
·搭建Linux邮件网关与邮件系统 07-21
·Linux 2.6内核的编译步骤及模块动态加载 07-23
·系统备份与恢复技巧 Ghost程序参数四则 07-23
·如何制作和使用Jffs2文件系统 07-23
·Linux攻略 如何修改系统服务启动和停止 07-23
·Unix和Linux密码丢失解决方法 07-22
·让Windows和Linux程序并存同一桌面 07-21
·Linux操作系统下的Oracle数据库编程详解 07-21
·LINUX学习笔记:DNS服务器设置篇 07-21
·搭建Linux邮件网关与邮件系统 07-21
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容




