`
andrew1024
  • 浏览: 74246 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

典型WEB服务器Apache高级设置指南

阅读更多
目前WWWServer软件有许多,能运行在linux下的也不少,有NCSAHTTPdServer、CERNHTTPdServer、pache、 NetscapeFastTrackServer、ZeusServer等。这些软件各有特色:NCSA(美国伊利诺斯大学的国家超级计算应用中心)是 WWWBrowserMosaic发迹之地,也是Netscape公司的安德森成名的地方;CERN(欧洲原子核研究中心)是WWW的起源地,1989年蒂姆•贝纳斯-李正是在这开发成功了世界上第一个Web服务器和客户机。这两家推出的WWWServer功能齐全,成为同类软件的标准,再加上它们都是 Freeware,因此刚一推出就大受欢迎。前几年,在linux下WWWServer软件使用最多的是NCSA和CERN,但这一两年来,后起之秀 Apache却独领风骚,号称"WWWServer之王"。在最新的RedHat、Slackware和OpenLinux各版本中都包含了 Apache。

Apache是在NCSA的基础上发展起来的,因此这二者的配置文件十分相似。

一、安装
Apache的安装十分简单。最好在安装RedHat时,选择安装WebServer,这样即使你对编译操作不熟的话,也能轻轻松松把服务器架设起来。

如果你想亲自编译源文件,那么你已经不是一个初学者,建议你直接去看How-To文档或其他资料。打开机器,进入X-Window系统后,启动 NetscapeNavigator,敲入本机的IP地址,如果出现"Itworked"的欢迎页面,那说明服务器程序工作正常。你可以进行下一步配置工作。在不同的版本下,服务器默认的工作根目录也不一样。RedHat默认的是/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是数据配置文件,在这个文件中主要设置WWWServer读取文件的目录、目录索引时的画面、CGI执行时的目录等等。access.conf是负责基本的读取文件控制,限制目录所能执行的功能及访问目录的权限设置。

下面将简单对这三个数据设置文件进行说明。

httpd.conf文件

TransferLog:

如果你想知道你的网站上哪个页面最受来访者的欢迎,在一段时间内有多少人访问你的站点,你当然可以设置一个计数器,但每页都设计数器,太繁琐而且得到的结果不太可靠。最好的办法是查看相应log文件,TransferLog命令就是指定当浏览器要求服务器传送文件时记录到所设置的文件,可以根据此文件查看有哪些用户看过哪些HTML文件。可用一些程序分析这个文件的数据,得出监测各种有用的数据。默认的访问log文件是logs/access_log。

ErrorLog:

这个命令是指定当WWWServer运转过程中发生问题时错误信息存放到哪个文件。默认是logs/error_log。

VirtualHost:

这个命令是用来设置虚拟主机,即用一台主机执行多个域名的WWWServer。详细命令使用将在第三部分详细解释。

srm.conf

DocumentRoot:

指定WWWServer存放html文件的根目录。WWWServer从硬盘中读取html文件传送给浏览器,并不是可从任一个目录中读取文件,而是从一个特定目录中开始读取文件,这个特定的目录就是由DocumentRoot命令来指定。redhat5.2中默认的目录是/home/httpd /html。

如果用户访问http://www.swm.com.cn/netlife/index.html,此时WWWServer 并不是从系统的根目录下的netlife目录中读取index.html,而是从/home/httpd/html/netlife目录中读取 index.html文件。
UserDir:

如果要在WWWServer上给一些用户开设空间,搁放个人主页,最好不要把每个人的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文件,当WWWServer读取该目录时便会自动读取.htaccess来决定是否读取执行或要求口令验证。这两种方式所使用的命令几乎相同,而且设置的格式也相同。

Directory:

说明要设置的目录,然后再用命令来设置目录的功能和权限。

Options:

设置目录可以执行哪些功能。有None、All、ExecCGI、Includes、Indexs、IncludesNoExec、 FollowSymlink、SymlinksOwnerMatch等选项。如果想让某个目录可以执行CGI程序,那么应在Options命令中加上 ExecCGI选项。

Require:

设置可以对所指定目录以指定方式来存取的Users和Group。该命令执行后,当读取该目录数据时,系统会要求输入Username和Password。

忠告:修改完设置文件后,不要像在Windows工作那样,重启机器使其生效。要记住,你现在linux下,使用linux的好处之一就是不用再见到 Windows98那死机时的蓝屏以及不必对配置文件做了一点点修改就无聊而又频繁地重启机器。你的WWW服务器任何时候都有很多人在访问,频繁地重启机器将把你的客人赶跑。要学会不重启机器,而是重新启动一个正执行的程序(Process,严格一点应叫做进程、作业)。可以用kill命令来使程序重新启动。具体kill的使用参见有关文档。

先用ps命令查看httpd的pid号,然后用kill命令杀死它,重新启动httpd。具体命令如下:

linux>ps-x
linux>kill-HUP13668

(13668是假设httpd的pid号,在实际使用中,不同的情况值也不同)

这样就可将httpd重新启动,使修改的配置文件生效。看完上面一大堆命令,是不是有些烦,其实你不了解这些命令也无所谓,用系统默认设置也能正常工作。

三、虚拟主机(VirtualHost)的设置
作为系统管理员,若你只有一个IP地址,却有好几个域名,又要求访问每个域名都要看到不同的内容,那怎么办?总不至于为每个域名都配上一台服务器吧。这就要采用虚拟主机(VirtualHost)技术,幸好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:

NameVirtualHost192.168.188.20

ServerAdminwebmaster@long.com
ServerNamewww.long.com
DocumentRoot/home/httpd/long/html

ErrorLoglogs/error_log
TransferLoglogs/access_log

ServerAdminwebmaster@short.com
ServerNamewww.short.com
DocumentRoot/home/httpd/short/html
ErrorLoglogs/short.com-error_log
TransferLoglogs/short.com-access_log

NameVirtualHost命令指定在哪个IP上设置虚拟主机

在VirtualHost命令中进行各个主机的具体设置。

ServerAdmin命令是设定当WWWServer执行有问题时,会将ServerAdmin所设置的E-mail传送到浏览器,让使用者用该E-mail与系统管理员联系。

ServerName命令是设置WWWServer的域名。

四、提供个人主页空间、用户homepage的设定
经常见到某些网站提供个人主页,显得很神气,其实你也可以开放你机器上的空间给别人,这很简单就能实现。只要你按照下面的提示对你的WWW服务器配置文件进行修改。

给用户开放个人主页空间,一是要确定用户主页的存放目录,二是开放用户主页目录的读取权限。

方法一

你以root的身份给用户chen开个帐号,系统自动会给chen分配一空间/home/user,而后在/home/chen的目录下建一public_html的子目录,子目录的属性要设成other可读和可执行的。

接着修改access.conf。在文件的最后加上以下一段:

AllowOverrideNone
orderallow,deny
allowfromall

而后,重新运行httpd,用户就可以通过http://www.swm.com.cn/~chen/访问chen的个人主页。
这种方法的优点是方便,缺点是安全性太差。

方法二

另一种办法是在/home/httpd目录下为用户chen建个目录chen。修改srm.conf中的UserDir为/home/httpd/*/html,接着重新运行httpd便可以了。
分享到:
评论

相关推荐

    用IIS和Apache搭建Web服务器入门

    "用IIS和Apache搭建Web服务器入门" 本文将详细介绍如何使用IIS和Apache搭建Web服务器入门,包括Web...本文详细介绍了使用IIS和Apache搭建Web服务器入门的步骤和注意事项,为读者提供了一个系统的Web服务器搭建指南。

    Web服务器Apache 1.3.29的SSL证书配置指南

    内容概要:本文档详述了在Web服务器(如Apache 1.3.29版本)上配置全球认可的SSL证书的操作步骤。具体涵盖了从创建CSR(证书签名请求)到安装SSL证书的一系列流程。文档提供了详细的技术指导,包括但不限于如何生成...

    Apache 服务器使用指南

    Apache是一款广泛使用的Web服务器软件,由Apache软件基金会维护。它支持多种操作系统,包括Windows、Linux等,并且开源免费。Apache以其稳定性、安全性以及丰富的功能特性而受到全球用户的喜爱。 #### 二、Apache+...

    WEB服务器应用指南.rar

    《WEB服务器应用指南》这份资料深入浅出地介绍了WEB服务器的构建、配置和优化,旨在帮助用户更好地理解和操作WEB服务器。下面将详细阐述其中的知识点。 一、WEB服务器基础 WEB服务器是互联网上的一个重要组成部分,...

    Apache服务器配置与管理视频教程

    教程名称: Apache服务器配置与管理视频教程【】linux-Apache 安装配置指南.zip【】第二讲Apache的目录结构和配置指令.zip【】第三讲Apache服务器的参数设置.zip【】第四讲Apache服务器中使用配置段.zip【】第五讲...

    Linux Apache Web 服务器终极教程

    《Linux Apache Web 服务器终极教程》是一份详尽的指南,旨在帮助读者深入了解和操作Apache Web服务器,尤其针对Linux环境。Apache是全球最受欢迎的Web服务器软件,占据着超过半数的市场份额。它的起源源于NCSA WWW...

    Apache 桌面手册 web 服务器

    这份"Apache桌面手册Web服务器"旨在提供全面的Apache服务器管理和配置指南,帮助用户深入理解并有效地运用这个强大的工具。 Apache服务器的核心特性包括多进程模型、模块化架构以及支持多种脚本语言(如PHP、Perl和...

    微型web服务器-单文件

    微型Web服务器,通常被称为轻量级或微型HTTP服务器,是一种设计简单、小巧且易于部署的服务器软件。...尽管功能可能不如大型Web服务器如Apache或Nginx强大,但它满足了基本需求,并以轻便、易用著称。

    实战Nginx取代Apache的高性能Web服务器_文字版

    在很多场景下,Nginx被用作替代Apache服务器的选择,尤其是在高流量网站和需要负载均衡的环境中。本实战指南旨在探讨如何通过...在实际工作中,结合具体的业务场景进行灵活调整,Nginx将成为你得力的Web服务器助手。

    miniweb服务器一键搭建静态网站

    10. **扩展性与升级**:随着项目的发展,如果需要支持动态内容或更多功能,可能需要考虑升级到更强大的Web服务器软件,如Apache、Nginx等。 总的来说,"miniweb服务器一键搭建静态网站"是一个便于初学者和小型团队...

    基于QT的轻量级web服务器

    【基于QT的轻量级web服务器】是一种在Linux环境下运行的、使用QT库开发的简易Web服务器。QT是一个跨平台的C++图形用户...不过,对于大型、高并发的生产环境,可能需要更加强大的Web服务器解决方案,如Apache或Nginx。

    简易个人WEB服务器

    传统的Web服务器如Apache、Nginx等需要复杂的配置和维护,但“简易个人WEB服务器”简化了这一过程,使得任何人都能快速上手。 该软件的核心功能包括: 1. **快速启动**:只需简单的几步操作,就能将你的电脑转变为...

    Apache权威指南第三版

    《Apache权威指南第三版》是关于Apache Web服务器的详尽参考书籍,主要针对Apache的配置、管理和优化进行了深入探讨。本书英文版为目前的最新版本,对于中文读者来说,虽然没有中文译本,但仍然值得一读,以获取最...

    APACHE 服务器证书安装配置指南

    ### APACHE 服务器证书安装配置指南 #### 一、概述 数字证书是一种在网络环境中用于验证实体身份的技术手段,类似于现实生活中的身份证。它包含了证书持有者的个人信息、公钥以及证书颁发机构(CA)的签名,主要用于...

    Web开发:Apache服务器的安装与配置指南

    使用场景及目标:① 学习 Apache服务器的基本概念和发展历程;② 掌握在不同操作系统上安装和配置 Apache的方法;③ 理解虚拟主机和 SSL配置;④ 学会管理 Apache服务和优化性能;⑤ 掌握常见的故障排查技巧。 阅读...

    Linux服务器配置与管理:Apache服务器安装配置.pptx

    Apache服务器是Linux环境中广泛使用的开源Web服务器,它提供了稳定、高效的服务来托管静态HTML内容、动态脚本和应用程序。在Linux服务器配置与管理中,掌握Apache服务器的安装配置是运维人员的基本技能。以下是对...

    apache 安装包

    Apache HTTP Server,通常简称为Apache,是世界上最流行的Web服务器软件之一。它开源、免费,并且支持多种操作系统,包括Windows、Linux、Unix等。这个“apache 安装包”包含了安装和运行Apache服务器所需的基本文件...

Global site tag (gtag.js) - Google Analytics