`
andrew1024
  • 浏览: 71774 次
  • 性别: 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便可以了。
分享到:
评论

相关推荐

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

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

    Centos 7 服务器Apache-ActiveMQ安装指南

    虽然ActiveMQ目前已经不是开发时的主要消息中间件, 但是对于简单使用JMS的场景...本文档提供了在CentOS7 中安装Apache ActiveMQ 5的操作指南,可以用来指导初级开发人员和企业运维人员搭建Apache MQ的开发、测试环境.

    Apache模块开发指南

    《LAMP技术精品书廊•Apache模块开发指南》主要介绍了Apache模块开发的全过程。全面细致、深入浅出,主要内容包括Apache相关背景、APR的基础知识,以及...适合Apache模块开发者、大规模服务器开发人员及Web开发者阅读。

    网络数据库指南(此指南让你通过安装Web服务器、SQL数据库服务器以及服务器端的程序工具把以上各种服务捆绑在一起)

    此指南让你通过安装Web服务器、SQL数据库服务器以及服务器端的程序工具把以上各种服务捆绑在一起。实现这个的流行工具就是Apache、 MySQL和PHP3。在你成功完成这些安装设置任务后,你将会对它们很熟悉。

    Apache 使用指南与原理

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

    Run.Your.Own.Web.Server.Using.Linux.and.Apache.Dec.2005.chm lixiphp

    [精华] Apache专著完全推荐(11)Linux 下的WEB服务器技术 [精华] Apache专著完全推荐(10)Linux WWW服务器高级配置与管理 [精华] Apache专著完全推荐(9)Apache Server配置与管理 [精华] Apache专著完全推荐(8)...

    apache nifi使用指南

    Apache NiFi 是一个易于使用、功能强大而且可靠的数据拉取、数据处理和... NiFi基于Web方式工作,后台在服务器上进行调度。用户可以为数据处理定义为一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。

    Apache Web服务器的完全安装指南

    本文讨论如何安装支持mod_perl、mod_ssl及php的apache web服务器,并安装webalizer实现对web访进行日志分析。手把手引导初学者编辑一个安全、功能完备的web服务器系统。

    Apache Tomcat6证书安装使用指南

    Web服务器,本文以windows操作系统为例。系统正确安装JDK1.4以上版本和Apache Tomcat 6.0版本软件。 二、 通过keytool工具为服务器申请证书: 本文采用标准的Java keytool方式,并基于标准的Java keystore方式为WEB...

    Apache SSL证书部署指南

    Apache服务器是大家经常用到的web服务器,部署SSl证书增加了网站的安全性,本文档提供了安装SSl证书的方法。

    HTTPS权威指南(高清完整版) 在服务器和WEB应用上部署SSL TLS和PKL. IVAN RISTIC

    本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽Web应用安全指南。书中具体内容包括:密码学基础,TLS协议,PKI体系及其安全性,HTTP和浏览器问题,协议漏洞;最新的攻击形式,如BEAST、CRIME、BREACH、...

    Apache 使用指南与实现原理

    Apache 的使用方法和作用原理!有利于深入了解!

    GNU_Linux 高级网络应用服务指南

    GNU_Linux 高级网络应用服务指南 第1章Linux 服务器的安装 第2章Linux安全与优化概要 ...第4章Linux Apache Web 服务器 第5章Linux FTP服务器 第6章Linux 邮件服务器 第7章Linux域名服务器 第8章Linux代理服务器

    apache-tomcat-10.0.0-M4.tar.gz

    Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制...

    Oracle9i Web开发指南(PDG)

    本书详细介绍Oracle9i Web开发的完整信息,包括Oracle Web的体系结构,Web开发的核心概念,使用第三方模块来支持Apache服务器以及在Web开发时常用的工具。此外,还介绍了维护和调试系统需要使用的技术等。本书的作者...

    建站资料——Apache建站配置指南

    Apache是世界排名第一的web服务器,本资料详细介绍了Linux下apache的配置问题

    HTTPS权威指南:在服务器和Web应用上部署SSLTLS和PKI(Ivan Ristic[英] 著,杨洋 等 译)

    本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽Web应用安全指南。书中具体内容包括:密码学基础,TLS协议,PKI体系及其安全性,HTTP和浏览器问题,协议漏洞;最新的攻击形式,如BEAST、CRIME、BREACH、...

    apache,mysql,php配置指南

    如何进行Web服务器搭建,包括Apache服务器安装,MySQL安装和PHP安装配置说明。

    Apache HTTP Server Version 2.2 文档(2013.4.10最新)

    高级URL重写指南 URL重写简介 URL重写技术细节 Apache的SSL/TLS加密 SSL/TLS高强度加密:兼容性 SSL/TLS 高强度加密: 常见问题解答 SSL/TLS高强度加密:如何...? SSL/TLS高强度加密:绪论 深入研究虚拟主机的匹配 ...

Global site tag (gtag.js) - Google Analytics