Apache安装与配置简介.doc_第1页
Apache安装与配置简介.doc_第2页
Apache安装与配置简介.doc_第3页
Apache安装与配置简介.doc_第4页
Apache安装与配置简介.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络工程课程设计讲义- Apache安装与配置简介网络工程课程设计-Apache WEB服务器安装与配置简介讲义国防科大计算机学院2006年8Apache安装与配置简介1、概要Apache 是目前使用最广的、源代码公开的Web 服务器软件,其安装与配置非常简单。Download Address : /dist/httpd/httpd-2_0_NN.tar.gz Extract: $ gzip -d httpd-2_0_NN.tar.gz $ tar xvf httpd-2_0_NN.tar Configure : $ ./configure -prefix=PREFIX Compile : $ make Install : $ make install Customize : $ vi PREFIX/conf/httpd.conf Test : $ PREFIX/bin/apachectl start 其中NN必须用当前副版本号替代;PREFIX是服务器被装到文件系统中的路径名,例如:/usr/local/apache,如果没有指定PREFIX,默认会被装到/usr/local/apache2。下面会详细阐述编译和安装的每个步骤,先从编译和安装Apache HTTPD的要求开始。2、安装要求编译Apache的要求如下:(1)磁盘空间 必须保证有50MB以上的临时磁盘自由空间。Apache安装完毕后会占据10MB左右的空间,实际磁盘需求会因编译设置和是否安装第三方模块而有所不同。 (2)ANSI-C编译器及其支持环境 必须装有ANSI-C编译器,推荐使用来自Free Software Foundation (FSF)的GNU C compiler (GCC)。(3)确保正确的时间 由于HTTP协议的元素都会用到时间,有必要了解一下你的系统的时间同步机制。在基于Network Time Protocol (NTP)的系统中,一般是用ntpdate或xntpd来同步时间。(4)Perl 5 可选 有些用Perl写的支持脚本,如apxs和dbmmanage,会需要Perl 5解释器,如果configure没找到这样的解释器也没关系,并不影响Apache 2.0的编译和安装,只是这些支持脚本不能用而已。如果系统中存在多个Perl 解释器,比如有厂商提供的Perl 4,还有你自己找来的Perl 5,推荐用-with-perl选项来确保脚本./configure使用正确的版本。 3、下载Apache可以从Apache Software Foundation download site及其镜像站点下载。版本号缀有alpha的是预测试版本,其运行可能正常也可能不正常;缀有beta的是仍需要测试和纠错的较可靠的版本。要下载最好的Apache HTTP Server的发行版,就应该选择最新的,而且文件名中既没有alpha也没有beta的版本。下载完毕后,应该对下载来的tar包作PGP签名校验,以确保其完整而且未被篡改过。校验有两个步骤:第一步,必须从Apache distribution site获得一个密钥(KEYS),用以下命令导入到你的个人密钥环中(可能会因你的PGP版本有所不同):$ pgp KEYS或$ gpg -import KEYS第二步,从main Apache website获得PGP签名以校验tar包。这个签名的文件名由其原tar包文件名后附加.asc组成。接着,用以下命令来校验发行版(也可能会因你的PGP版本有所不同): $ pgp httpd-2_0_NN.tar.gz.asc或$ gpg -verify httpd-2_0_NN.tar.gz.asc应该会看见这样的信息:Good signature from user Martin Kraemer .也可能会看见“the relationship between the key and the signer of the key cannot be verified”的信息,其原因与你的密钥环中的信任关系有关,如果你信任这个密钥文件,那就没关系。4、解压将安装包httpd-2_0_NN.tar.gz复制到某一个用户目录下(如:/usr/src),然后用以下命令解压:$ gzip -d httpd-2_0_NN.tar.gz$ tar xvf httpd-2_0_NN.tar 这样就在当前目录下新建了一个包含发行版源代码的目录/httpd-2_0_NN,必须cd进入这个目录以继续服务器的编译。、安装设置这一步是为你的特定平台和个人需求设置有关参数,通过/httpd-2_0_NN目录下的configure脚本会完成这个步骤。在/httpd-2_0_NN目录下执行 ./configure可以使用默认值设置,./configure也可以接受命令行参数以改变默认值。通常,环境变量要预先设置,其他选项可以跟在./configure后面。除了许多迎合你的需求的选项,最重要的选项是指示Apache的安装目录前缀(prefix),因为Apache需要这个目录以正常运作,通常,Apache安装在/usr/local/apache目录下,则使用如下命令:$./configure -prefix=/usr/local/apache configure需要运行几分钟,以测试功能是否在你的系统中有效,并建立稍后编译服务器所需要的许多Makefile。执行./configure help可显示Apache设置参数格式和环境变量的简要说明。(1) 环境变量autoconf编译进程用了几个环境变量来设置编译环境。通常,这些变量只是改变如何编译Apache,而不是改变服务器最终的功能。可以在执行configure之前预先设置这些变量,而更简单的方法是象上面例子那样,直接在configure的命令行中指定。CC=. / C编译器的名称 CPPFLAGS=. / 各种C预处理和编译器参数 CFLAGS=. / C编译器的调试和优化参数 LDFLAGS=. / 各种连接器参数 LIBS=. / 连接器的库位置信息(-L and -l参数) INCLUDES=. / 头文件的搜索目录(-Idir). TARGET=. Default: apache / 目标执行文件名 NOTEST_CPPFLAGS=. NOTEST_CFLAGS=. NOTEST_LDFLAGS=. NOTEST_LIBS=. SHLIB_PATH=. / 编译器和连接器共享的库路径 autoconf的输出参数-help / 显示所有有效参数的用法,而并不实施任何设置 -quiet / 阻止一般的checking.信息的出现 -verbose / 在设置过程中详细显示包括被检测文件名信息 (2) 路径名目前有两种方法设置Apache安装其文件的路径名。第一种方法,可以指定一个目录来安装使Apache的文件装在这个目录PREFIX下, 缺省为/usr/local/apache:-prefix=PREFIX 还可以把执行文件装在其他目录EPREFIX下,缺省为PREFIX:-exec-prefix=EPREFIX 第二种方法,用已命名的config.layout布局文件来指定安装目录:-enable-layout=LAYOUT使用config.layout文件可以对各种类型的文件指定安装目录,从而更灵活地安装Apache。安装包中的config.layout文件包含了几个设置例子,你可以参照这些例子按你的需要进行设置,其中不同类型的布局用被分入各个组,如命名为FOO的.。(3) 模块Apache是模块化的服务器,核心服务器只包含了功能最常用的模块,而扩展功能由其他模块提供。你可以指定需要包含的模块。文档中有模块清单备查,其中状态为Base的模块会被默认地包含进核心服务器,如果你不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。Apache有两种使用模块的方法,其一是永久性包含进核心服务中;如果操作系统支持动态共享对象(DSO),而且能为autoconf所检测,则模块还可以被动态编译。DSO模块的存储是独立与核心的,可以被核心使用由mod_so模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定-enable-so。-enable-MODULE=shared 编译并包含模块MODULE。MODULE是文档中去掉_module的模块名,要将一个模块编译成DSO,需要加=shared选项。-disable-MODULE 排除可能被编译并包含的模块MODULE。 -enable-modules=MODULE-LIST 编译并包含用空格分隔的MODULE-LIST。 -enable-mods-shared=MODULE-LIST 编译并包含用空格分隔的MODULE-LIST成DSO。 -enable-modules和-enable-mods-shared中的MODULE-LIST选项通常是一个用空格分隔的模块列表,例如编译并包含mod_dav 和 mod_info,可以:./configure -enable-dav -enable-info或者,等效地写成:./configure -enable-modules=dav info另外,可以用关键字all或most一次性包含“所有的”或者“大多数”模块,然后再用-disable-MODULE来排除你不需要的模块。例如,包含所有的模块为DSO,而排除mod_info,可以./configure -enable-mods-shared=all -disable-info 除了标准模块组,Apache 2.0还提供了一个选择,就是多道处理模块(Multi-Processing Modules)(MPMs)。编译过程中必须包含一个且只有一个MPM,MPM documentation page有对应各种平台的默认MPM,但是也可以在configure命令行中改变。-with-mpm=NAME 选择叫NAME的MPM. (4) DBMApache的某些功能,如mod_auth_dbm和 mod_rewrite中的DBM RewriteMap使用简单的 键/值 数据库来实现信息快速检索。Apache内置了支持SDBM的源代码,所以数据库总是被支持的。如果要使用其他数据库类型,可以使用的configure选项有:-with-gdbm=path -with-ndbm=path -with-berkeley-db=path 如果没有指定path,Apache会在常规搜索路径中寻找头文件和库;明确地指定path会引导Apache到path/lib和path/include中寻找这些文件,另外,path可以指定特定的头文件和库的路径,并用冒号隔开。 (5) SuexecApache包含了一个叫suexec的支持程序,可以隔离用户的CGI程序。但是,如果suexec没有被正确配置,会引发严重的安全问题,使用这个功能以前,应该仔细阅读和斟酌suexec documentation。6、编译执行这个命令就可以编译Apache了:$ make请耐心等候,因为对一个基本的配置的编译,在Pentium III/Linux 2.2上需要运行3分钟左右,实际需要的时间因你的硬件和选择的模块数量会有很大不同。7、安装现在可以在PREFIX目录(参见上述的-prefix参数)下安装包了,执行:$ make install安装完成后,可以清除编译生成的中间文件,以释放磁盘空间:$ make clean8、配置接着,通过修改PREFIX/conf/下的配置文件,来配置Apache HTTP服务器。$ vi PREFIX/conf/httpd.confdocs/manual/有Apache使用手册,/docs/有完整的配置指令参考。(1) 修改服务器名称如果你已为你的服务器注册了域名,你可以在此指定HTTP服务器的域名和服务端口,但如果你没有注册域名或域名服务器未工作,则其他人只能通过你的IP地址访问你的HTTP服务器:ServerName :80在/etc/hosts 文件中增加一项本地域名与IP地址对应表,可以在本机上测试访问服务器:88 (2) 修改服务端口缺省情况下,http服务的socket 服务端口为80,你可以修改之:Listen 80(3) 修改文档目录你的网页缺省时是放在安装目录中的htdocs中(如:/usr/local/apache/htdocs)你可以在此修改之:DocumentRoot “/usr/local/apache/htdocs”(4) 修改出错信息、日志目录HTTP服务器出错信息和访问日志缺省时是放在安装目录中的logs/error_log和access_log中,你可以在此修改之:ErrorLog logs/error_log同时,还可以修改日志级别(debug/info/notice/warn/error/crit/alert/emerg):LogLevel warnCustomLog logs/access_log common(5) 修改支持的语言和编码DefaultLanguage zh-CNAddLanguage zh-CN .zh-cnAddLanguage en .enAddLanguage ja .jaLanguagePriority zh-CN en jaAddDefaultCharset GB2312AddCharset GB2312 .gb2312 .gb(6) 配置虚拟主机允许启用虚拟主机:NameVirtualHost *:80设置虚拟主机1(域名为)ServerAdmin DocumentRoot /usr/local/apache/htdocs/test1ServerNErrorLoglogs/test1/error_logCustomLoglogs/test1/access_log common运行前你必须在/usr/local/apache/htdocs/目录下先创建目录:mkdir test1,并将你的页面放在该目录下:apach_pb2_ani.gifapach_pb2.pngapach_pb2.gifapach_pb.pngapach_pb.gifindex.html.var index.html.zh-CN.gb2312在/etc/hosts 文件中增加一项本地域名与IP地址对应表,可以在本机上测试访问服务器:19216825188 设置虚拟主机2(域名为)ServerAdmin DocumentRoot /usr/local/apache/htdocs/test2ServerNErrorLoglogs/test2/error_logCustomLoglogs/test2/access_log common运行前你必须在/usr/local/apache/htdocs/目录下先创建目录:mkdir test2,并将你的页面放在该目录下:apach_pb2_ani.gifapach_pb2.pngapach_pb2.gifapach_pb.pngapach_pb.gifindex.html.var index.html.zh-CN.gb2312在/etc/hosts 文件中增加一项本地域名与IP地址对应表,可以在本机上测试访问服务器:19216825188 9、测试现在,可以执行这个命令立即启动你的Apache HTTP服务器:$ PREFIX/bin/apachectl start可以通过以下命令来检查Apache HTTP服务器进程(缺省时有5个,可配置):$ ps A|grep httpd如果Apache HTTP服务器进程已运行,则你可以在本机上用http:/localhost/或/来访问你的第一个网页了,这个网页位于DocumentRoot目录下,通常是PREFIX/htdocs/。如果在其他机器上需要访问该服务器,则必须输入88 才能访问,同时必须修改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论